diff --git a/agent.json b/agent.json index f452049..28abe86 100644 --- a/agent.json +++ b/agent.json @@ -4,11 +4,11 @@ "train": [], "demos": [], "signature": { - "instructions": "Given the fields `image_url`, produce the fields `total_cost`.", + "instructions": "Given the fields `image`, produce the fields `total_cost`.", "fields": [ { - "prefix": "Image Url:", - "description": "${image_url}" + "prefix": "Image:", + "description": "${image}" }, { "prefix": "Total Cost:", diff --git a/main.py b/main.py index 8e4feba..0476d45 100644 --- a/main.py +++ b/main.py @@ -4,24 +4,24 @@ import dspy class ReceiptClassifierConfig( PrecompiledConfig -): # Configurable for each agent instance - lm: str = "openai/gpt-4o-mini" # Set OPENAI_API_KEY +): # configurable for each agent instance + lm: str = "openai/gpt-4o-mini" # set OPENAI_API_KEY max_tokens: int = 500 -class ReceiptClassifier(PrecompiledAgent): # Extends dspy.module() +class ReceiptClassifier(PrecompiledAgent): # extends dspy.module() config: ReceiptClassifierConfig def __init__(self, config: ReceiptClassifierConfig, **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) self.extract.set_lm(lm) def forward(self, image_url: str) -> str: - receipt_image = dspy.Image.from_url(url=image_url) - return self.extract(receipt_image) + receipt_image = dspy.Image(url=image_url) + return self.extract(image=receipt_image) agent = ReceiptClassifier(ReceiptClassifierConfig())