(no commit message)
This commit is contained in:
4
auto_classes.json
Normal file
4
auto_classes.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"AutoConfig": "setup.ReceiptClassifierConfig",
|
||||||
|
"AutoAgent": "setup.ReceiptClassifier"
|
||||||
|
}
|
||||||
7
pyproject.toml
Normal file
7
pyproject.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[project]
|
||||||
|
name = "receipt-classifier"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Add your description here"
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.11"
|
||||||
|
dependencies = ["dspy>=3.0.3", "modaic>=0.4.0"]
|
||||||
23
setup.py
Normal file
23
setup.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
from modaic import PrecompiledAgent, PrecompiledConfig
|
||||||
|
import dspy
|
||||||
|
|
||||||
|
class ReceiptClassifierConfig(PrecompiledConfig): # 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()
|
||||||
|
config: ReceiptClassifierConfig
|
||||||
|
|
||||||
|
def __init__(self, config: ReceiptClassifierConfig, **kwargs):
|
||||||
|
super().__init__(config, **kwargs)
|
||||||
|
|
||||||
|
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_path: str) -> str:
|
||||||
|
receipt_image = dspy.Image.from_file(image_path)
|
||||||
|
return self.extract(receipt_image)
|
||||||
|
|
||||||
|
agent = ReceiptClassifier(ReceiptClassifierConfig())
|
||||||
|
agent.push_to_hub("farouk1/receipt-classifier", with_code=True)
|
||||||
Reference in New Issue
Block a user