CI6: fjern RAG fra root_agent — blokkerer AFC/MCP FunctionTools (TODO: RAG som sub-agent når korpus er oppdatert)

This commit is contained in:
chrischristiansen-glitch 2026-06-10 07:17:26 +02:00
parent 54dd25a90e
commit 3bb95c8af9

View File

@ -12,6 +12,10 @@ Autoriserte brukere for heavy: opax, admin
Gjeldende modell-tilgjengelighet (mai 2026): Gjeldende modell-tilgjengelighet (mai 2026):
gemini-2.0-flash-001 kun for eksisterende kunder bruk IKKE. gemini-2.0-flash-001 kun for eksisterende kunder bruk IKKE.
gemini-2.5-flash / gemini-2.5-pro krever GOOGLE_CLOUD_LOCATION=global. gemini-2.5-flash / gemini-2.5-pro krever GOOGLE_CLOUD_LOCATION=global.
NOTE: RAG er midlertidig deaktivert (CI6) blokkerte AFC når kombinert med
FunctionTools. Legges tilbake som dedikert sub-agent når RAG-korpuset er
oppdatert (OQ-RAG backlog).
""" """
import asyncio import asyncio
@ -29,7 +33,6 @@ logger = logging.getLogger(__name__)
PROJECT_ID = os.environ.get("GOOGLE_CLOUD_PROJECT", "propane-will-491900-m5") PROJECT_ID = os.environ.get("GOOGLE_CLOUD_PROJECT", "propane-will-491900-m5")
LOCATION = os.environ.get("GOOGLE_CLOUD_LOCATION", "global") LOCATION = os.environ.get("GOOGLE_CLOUD_LOCATION", "global")
RAG_CORPUS = os.environ.get("RAG_CORPUS", "")
ORCHESTRATOR_MODEL = os.environ.get("ORCHESTRATOR_MODEL", "gemini-2.5-flash") ORCHESTRATOR_MODEL = os.environ.get("ORCHESTRATOR_MODEL", "gemini-2.5-flash")
SUBAGENT_MODEL = os.environ.get("SUBAGENT_MODEL", "gemini-2.5-flash") SUBAGENT_MODEL = os.environ.get("SUBAGENT_MODEL", "gemini-2.5-flash")
@ -77,25 +80,6 @@ def authorize_mode(user_id: str, mode: str) -> None:
) )
rag_tool = None
if RAG_CORPUS:
try:
from google.adk.tools.retrieval.vertex_ai_rag_retrieval import VertexAiRagRetrieval
from vertexai.preview import rag
rag_tool = VertexAiRagRetrieval(
name="retrieve_knowledge",
description="Retrieve relevant documentation and context from the OSVauco knowledge base.",
rag_resources=[rag.RagResource(rag_corpus=RAG_CORPUS)],
similarity_top_k=10,
vector_distance_threshold=0.6,
)
logger.info(f"RAG tool initialised: {RAG_CORPUS}")
except ImportError as e:
logger.warning(f"VertexAiRagRetrieval ikke tilgjengelig: {e}")
else:
logger.warning("RAG_CORPUS ikke satt — kjører uten RAG")
# —— OPAX-MCP FunctionTools (feiler stille) —— # —— OPAX-MCP FunctionTools (feiler stille) ——
opax_tools = [] opax_tools = []
try: try:
@ -136,7 +120,6 @@ def build_agent(mode: str = "light") -> Agent:
f"(heavy = gemini-2.5-pro, light = gemini-2.5-flash). " f"(heavy = gemini-2.5-pro, light = gemini-2.5-flash). "
f"Oppgi ALDRI andre modellnavn enn disse. " f"Oppgi ALDRI andre modellnavn enn disse. "
f"Budsjettgrense per oppgave: ${models['budget_usd']}. " f"Budsjettgrense per oppgave: ${models['budget_usd']}. "
"Bruk retrieve_knowledge for å hente dokumentasjon. "
"Sanntids GCP-kostnader hentes fra /billing/summary, /billing/forecast " "Sanntids GCP-kostnader hentes fra /billing/summary, /billing/forecast "
"og /billing/anomalies. Hvis disse mangler data, er det fordi BigQuery " "og /billing/anomalies. Hvis disse mangler data, er det fordi BigQuery "
"billing_export (OQ-15) ikke er aktivert ennå — si dette ærlig, ikke gjett tall. " "billing_export (OQ-15) ikke er aktivert ennå — si dette ærlig, ikke gjett tall. "
@ -148,16 +131,12 @@ def build_agent(mode: str = "light") -> Agent:
"Bruk alltid get_build_status for spørsmål om CI/CD-status — ikke gjett fra minne. " "Bruk alltid get_build_status for spørsmål om CI/CD-status — ikke gjett fra minne. "
"Svar på norsk (bokmål) med mindre annet er bedt om." "Svar på norsk (bokmål) med mindre annet er bedt om."
) )
tools = []
if rag_tool:
tools.append(rag_tool)
tools.extend(opax_tools)
return Agent( return Agent(
model=models["orchestrator"], model=models["orchestrator"],
name="opax_agent", name="opax_agent",
description=f"OPAX — OSVauco enterprise agent [{mode}]", description=f"OPAX — OSVauco enterprise agent [{mode}]",
instruction=instruction, instruction=instruction,
tools=tools, tools=opax_tools,
) )