Nancy1906 commited on
Commit
8b19ed4
·
verified ·
1 Parent(s): 380e830
Files changed (1) hide show
  1. my_tools.py +23 -8
my_tools.py CHANGED
@@ -25,6 +25,7 @@ import google.generativeai as genai
25
  HEADERS = {"User-Agent": "Mozilla/5.0"}
26
 
27
 
 
28
  def check_required_keys() -> None:
29
  missing = []
30
  if not os.getenv("TAVILY_API_KEY"):
@@ -49,23 +50,37 @@ ChatMessage.message = property(lambda self: self)
49
  class GeminiLLM(LLM):
50
  """Wrapper mínimo para Gemini 1.5 que satisface la interfaz de Llama-Index."""
51
 
52
- model_name: str = Field(default="models/gemini-1.5-flash-latest")
53
  temperature: float = Field(default=0.0)
54
 
55
- # -- inicialización -----------------------------------------------------
 
 
 
 
 
56
  def __init__(self, **kwargs):
57
  super().__init__(**kwargs)
58
 
59
- api_key = os.getenv("GEMINI_API_KEY")
60
- if not api_key:
 
 
 
 
 
 
 
 
61
  raise ValueError("GEMINI_API_KEY no configurada en variables de entorno")
62
- genai.configure(api_key=api_key)
63
 
 
 
 
64
  self._model = genai.GenerativeModel(
65
  model_name=self.model_name,
66
- generation_config=genai.types.GenerationConfig(
67
- temperature=float(self.temperature)
68
- ),
69
  )
70
 
71
  # callback manager defensivo
 
25
  HEADERS = {"User-Agent": "Mozilla/5.0"}
26
 
27
 
28
+
29
  def check_required_keys() -> None:
30
  missing = []
31
  if not os.getenv("TAVILY_API_KEY"):
 
50
  class GeminiLLM(LLM):
51
  """Wrapper mínimo para Gemini 1.5 que satisface la interfaz de Llama-Index."""
52
 
53
+ model_name: str = Field(default="models/gemini-1.5-flash-latest")
54
  temperature: float = Field(default=0.0)
55
 
56
+ _model: object = None
57
+ _gen_cfg: object = None
58
+
59
+ class Config:
60
+ extra = "allow"
61
+
62
  def __init__(self, **kwargs):
63
  super().__init__(**kwargs)
64
 
65
+ # --------- Normalización rápida (evita FieldInfo) -----------------
66
+ if not isinstance(self.model_name, str):
67
+ self.model_name = "models/gemini-1.5-flash-latest"
68
+ if not isinstance(self.temperature, (float, int)):
69
+ self.temperature = 0.0
70
+ # ------------------------------------------------------------------
71
+
72
+ # Configurar clave y modelo
73
+ key = os.getenv("GEMINI_API_KEY")
74
+ if not key:
75
  raise ValueError("GEMINI_API_KEY no configurada en variables de entorno")
76
+ genai.configure(api_key=key)
77
 
78
+ self._gen_cfg = genai.types.GenerationConfig(
79
+ temperature=float(self.temperature)
80
+ )
81
  self._model = genai.GenerativeModel(
82
  model_name=self.model_name,
83
+ generation_config=self._gen_cfg
 
 
84
  )
85
 
86
  # callback manager defensivo