Spaces:
Runtime error
Runtime error
jjj
Browse files- 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 |
-
|
| 53 |
temperature: float = Field(default=0.0)
|
| 54 |
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
def __init__(self, **kwargs):
|
| 57 |
super().__init__(**kwargs)
|
| 58 |
|
| 59 |
-
|
| 60 |
-
if not
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
raise ValueError("GEMINI_API_KEY no configurada en variables de entorno")
|
| 62 |
-
genai.configure(api_key=
|
| 63 |
|
|
|
|
|
|
|
|
|
|
| 64 |
self._model = genai.GenerativeModel(
|
| 65 |
model_name=self.model_name,
|
| 66 |
-
generation_config=
|
| 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
|