(no commit message)

This commit is contained in:
2025-10-25 02:47:20 -04:00
parent ad253e8dca
commit c1462fa1f8
2 changed files with 9 additions and 9 deletions

View File

@@ -4,11 +4,11 @@
"train": [], "train": [],
"demos": [], "demos": [],
"signature": { "signature": {
"instructions": "Given the fields `image_url`, produce the fields `total_cost`.", "instructions": "Given the fields `image`, produce the fields `total_cost`.",
"fields": [ "fields": [
{ {
"prefix": "Image Url:", "prefix": "Image:",
"description": "${image_url}" "description": "${image}"
}, },
{ {
"prefix": "Total Cost:", "prefix": "Total Cost:",

12
main.py
View File

@@ -4,24 +4,24 @@ import dspy
class ReceiptClassifierConfig( class ReceiptClassifierConfig(
PrecompiledConfig PrecompiledConfig
): # Configurable for each agent instance ): # configurable for each agent instance
lm: str = "openai/gpt-4o-mini" # Set OPENAI_API_KEY lm: str = "openai/gpt-4o-mini" # set OPENAI_API_KEY
max_tokens: int = 500 max_tokens: int = 500
class ReceiptClassifier(PrecompiledAgent): # Extends dspy.module() class ReceiptClassifier(PrecompiledAgent): # extends dspy.module()
config: ReceiptClassifierConfig config: ReceiptClassifierConfig
def __init__(self, config: ReceiptClassifierConfig, **kwargs): def __init__(self, config: ReceiptClassifierConfig, **kwargs):
super().__init__(config, **kwargs) super().__init__(config, **kwargs)
self.extract = dspy.Predict("image_url -> total_cost") self.extract = dspy.Predict("image -> total_cost")
lm = dspy.LM(config.lm, max_tokens=config.max_tokens) lm = dspy.LM(config.lm, max_tokens=config.max_tokens)
self.extract.set_lm(lm) self.extract.set_lm(lm)
def forward(self, image_url: str) -> str: def forward(self, image_url: str) -> str:
receipt_image = dspy.Image.from_url(url=image_url) receipt_image = dspy.Image(url=image_url)
return self.extract(receipt_image) return self.extract(image=receipt_image)
agent = ReceiptClassifier(ReceiptClassifierConfig()) agent = ReceiptClassifier(ReceiptClassifierConfig())