File size: 925 Bytes
3c5f44b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import google.generativeai as genai
from langchain.llms.base import LLM
from typing import Optional, List
from config import API_KEY, MODEL_NAME

genai.configure(api_key=API_KEY)

class GeminiWrapper(LLM):
    """Wrapper để sử dụng Gemini với LangChain."""
    
    model: str = MODEL_NAME

    def _call(self, prompt: str, stop: Optional[List[str]] = None) -> str:
        """Gửi prompt đến Gemini và trả về kết quả."""
        model = genai.GenerativeModel(self.model)
        response = model.generate_content(prompt)
        return response.text if response and hasattr(response, 'text') else "Không có phản hồi từ Gemini."

    @property
    def _identifying_params(self) -> dict:
        """Trả về tham số nhận diện của mô hình."""
        return {"model": self.model}
    
    @property
    def _llm_type(self) -> str:
        return "gemini"

gemini_llm = GeminiWrapper()