Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ADK - RAG Tool Not Invoked When Function Calling Tools Are Present

Abierto
#819 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
api, cloud

Línea de trabajo

Comienza en oci/addons/adk/agent.py:567-586 con _sync_function_tools_to_remote() y luego sigue su llamada a _sync_local_and_remote_tools(). Reproduce las cuatro variantes de configuración descritas en el issue, especialmente al llamar al método con tools=[], y verifica que se invoquen RAG Tools y se devuelvan citas cuando haya Function Calling Tools locales.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Generative AI Agent SDK

When both Function Calling Tools and RAG Tools are associated with an agent, the RAG Tool is not invoked via ADK, even when explicitly instructed.
However, the same agent configuration works correctly when accessed via the Generative AI Agents Service Web UI console.

Current behavior:

  1. RAG Tools alone: Work correctly and return citations
  2. RAG Tools + Function Calling Tools which is defined on local: RAG Tools are not invoked
  3. Web UI with same configuration(After local tools were sync and regisitered: RAG Tools work correctly even with Function Calling Tools present

Reproduction Steps

  1. Create a RAG Tool on the Agents Service console
  2. Create an Agent with both a Function Calling Tool and the RAG Tool:
from oci.addons.adk import Agent, AgentClient, tool
from typing import Dict

@tool
def get_weather(location: str) -> Dict[str, str]:
    """Get the weather for a given location."""
    return {"location": location, "temperature": 72, "unit": "F"}

client = AgentClient(
    auth_type="security_token",
    profile="DEFAULT",
    region="us-phoenix-1",
)

agent = Agent(
    client=client,
    agent_endpoint_id="ocid1.genaiagentendpoint.oc1....",
    instructions="You MUST use the RAG tool to search the Knowledge Base for EVERY question.",
    tools=[get_weather]  # Function Calling Tool present
)
agent.setup()

input = "What is Generative AI Agent Service. Please search it in the knowledge base."
response = agent.run(input)

response.pretty_print()

Cause of this Issue

The _sync_function_tools_to_remote() method in agent.setup() appears to be the cause of this issue.

The following test results demonstrate the issue:

  1. Without agent.setup(): RAG tool invoked successfully
  2. With _sync_agent_to_remote() only: RAG tool invoked successfully
  3. With _sync_agent_to_remote() + _sync_rag_tools_to_remote() (skipping _sync_function_tools_to_remote()): RAG tool invoked successfully
  4. With _sync_function_tools_to_remote() called (even with tools=[]): RAG tool NOT invoked
  5. With full agent.setup(): RAG tool NOT invoked

Even when tools=[] (no local Function Calling Tools), calling _sync_function_tools_to_remote() prevents RAG tool invocation.
This suggests the method execution itself, not tool addition/deletion, is the problem.

The _sync_function_tools_to_remote() method calls _sync_local_and_remote_tools(), which synchronizes Function Calling Tools. Even when no tools are added or deleted, the execution of this method appears to trigger a state change in the Agents Service that affects tool selection logic, causing RAG Tools to be deprioritized or ignored.

Code Reference: oci/addons/adk/agent.py:567-586 - _sync_function_tools_to_remote() method

Lenguaje dominante
Python
Estrellas
473
Forks
322
Merge medio
30 min
PR fusionados (30 d)
4

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de oracle/oci-python-sdk

Todos los issues de oracle/oci-python-sdk

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.