Spaces:
Sleeping
Sleeping
File size: 836 Bytes
3a323ff |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
from mirascope.openai import OpenAIExtractor
from mirascope.gemini import GeminiExtractor
# from mirascope.groq import GroqExtractor
from pydantic import FilePath, BaseModel
from typing import List, Type
class TaskDetails(BaseModel):
seller_company_name: str
receiver_company: str
description: List[str]
invoice_date: str
invoice_number: str
net_amount : float
vat_amount : float
vat_rate: str
total_amount : float
class TaskExtractor(OpenAIExtractor[TaskDetails]):
extract_schema: Type[TaskDetails] = TaskDetails
prompt_template = """
Extract the invoice details from the following invoice:
{invoice}
"""
invoice: str
def extractor(text):
task_details = TaskExtractor(invoice=text).extract()
assert isinstance(task_details, TaskDetails)
return task_details
|