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)) |