diff --git a/drb-c2-core/app/internal/intelligence.py b/drb-c2-core/app/internal/intelligence.py index ec9512e..198b2e9 100644 --- a/drb-c2-core/app/internal/intelligence.py +++ b/drb-c2-core/app/internal/intelligence.py @@ -106,7 +106,7 @@ def _sync_extract(transcript: str, talkgroup_name: Optional[str]) -> dict: genai.configure(api_key=settings.gemini_api_key) model = genai.GenerativeModel( - "gemini-1.5-flash", + "gemini-2.5-flash-lite", generation_config={"response_mime_type": "application/json"}, ) @@ -127,21 +127,20 @@ def _sync_extract(transcript: str, talkgroup_name: Optional[str]) -> dict: def _sync_embed(text: str) -> Optional[list[float]]: - """Generate a text-embedding-004 vector for semantic similarity.""" + """Generate a text-embedding-3-small vector for semantic similarity.""" from app.config import settings - import google.generativeai as genai + from openai import OpenAI - if not settings.gemini_api_key: + if not settings.openai_api_key: return None - genai.configure(api_key=settings.gemini_api_key) try: - result = genai.embed_content( - model="models/text-embedding-004", - content=text, - task_type="SEMANTIC_SIMILARITY", + client = OpenAI(api_key=settings.openai_api_key) + result = client.embeddings.create( + model="text-embedding-3-small", + input=text, ) - return result["embedding"] + return result.data[0].embedding except Exception as e: logger.warning(f"Embedding generation failed: {e}") return None diff --git a/drb-c2-core/app/internal/summarizer.py b/drb-c2-core/app/internal/summarizer.py index 21e92e1..f21b469 100644 --- a/drb-c2-core/app/internal/summarizer.py +++ b/drb-c2-core/app/internal/summarizer.py @@ -82,7 +82,7 @@ def _sync_summarize(inc: dict, transcripts: list[str]) -> Optional[str]: return None genai.configure(api_key=settings.gemini_api_key) - model = genai.GenerativeModel("gemini-1.5-flash") + model = genai.GenerativeModel("gemini-2.5-flash-lite") inc_type = inc.get("type", "unknown") location = inc.get("location") or "unknown location"