File size: 1,016 Bytes
8fa377b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# File: src/gemini.py
import google.generativeai as genai
from config.settings import Settings
from src.logger import logger

class Gemini:
    def __init__(self):
        genai.configure(api_key=Settings.GEMINI_API_KEY)
        self.model = genai.GenerativeModel("gemini-1.5-flash")
        self.query_count = 0
        self.query_limit = 100

    def query(self, prompt, context=None):
        if self.query_count >= self.query_limit:
            logger.error("Vượt giới hạn truy vấn Gemini")
            return "[Gemini] Đã đạt giới hạn truy vấn."
        
        self.query_count += 1
        if context:
            prompt = f"Context: {context}\nQuestion: {prompt}"
        try:
            response = self.model.generate_content(prompt)
            logger.info(f"Gemini query count: {self.query_count}")
            return f"[Gemini] {response.text}"
        except Exception as e:
            logger.error(f"Lỗi Gemini: {str(e)}")
            return "[Gemini] Đã có lỗi xảy ra."