Spaces:
Sleeping
Sleeping
| 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 | |