Spaces:
Running
Running
| import google.generativeai as genai | |
| import PIL.Image | |
| import os | |
| from dotenv import load_dotenv | |
| from chatbot.transaction_categories import TransactionCategory | |
| load_dotenv() | |
| API_KEY = os.getenv('API_KEY') | |
| categories = ', '.join([c.value for c in TransactionCategory]) | |
| genai.configure(api_key=API_KEY) | |
| scan_model = genai.GenerativeModel( | |
| model_name='gemini-2.0-flash', | |
| system_instruction='Hãy giúp tôi quét hóa đơn và trích xuất thông tin từ hóa đơn này' | |
| f'Hãy giúp tôi phân loại giao dịch từ danh sách có sẵn: {categories} và cho tôi biết số tiền, mô tả của giao dịch đó' | |
| 'Ví dụ của phản hồi: Ăn bánh cuốn: Ăn uống: 200000' | |
| 'Chỉ trả lời theo dạng: Mô tả: Tên danh mục: số tiền' | |
| 'Hãy trả lời đúng theo mẫu trên và không thừa bất cứ từ nào khác' | |
| ) | |
| def scan_bills(image_path): | |
| organ = PIL.Image.open(image_path) | |
| try: | |
| response = scan_model.generate_content( | |
| contents=[organ], | |
| generation_config={ | |
| "temperature": 0.7, | |
| "max_output_tokens": 100 | |
| } | |
| ) | |
| result = response.text.strip() | |
| except Exception as e: | |
| result = f'Lỗi trong quá trình xử lý: {e}' | |
| return result | |
| # if __name__ == '__main__': | |
| # path = r'C:\Users\duong\Documents\UET-VNU\K68-CS1\HKII_2024-2025\Software_Engineering\ai_services\read_image\test.jpg' | |
| # print(scan_bills(path)) |