Agente de web search construido e implementado(Tavily ejemplo de .env en readme)
This commit is contained in:
37
backend/app/agents/web_search/__init__.py
Normal file
37
backend/app/agents/web_search/__init__.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from .agent import agent
|
||||
from .models import WebSearchResponse, WebSearchState
|
||||
|
||||
|
||||
async def search_web(
|
||||
query: str,
|
||||
max_results: int = 5,
|
||||
include_raw_content: bool = False,
|
||||
) -> WebSearchResponse:
|
||||
"""
|
||||
Execute web search using Tavily MCP server.
|
||||
|
||||
Args:
|
||||
query: Search query string
|
||||
max_results: Maximum number of results to return (1-10)
|
||||
include_raw_content: Whether to include full content in results
|
||||
|
||||
Returns:
|
||||
WebSearchResponse with results and summary
|
||||
"""
|
||||
state = WebSearchState(
|
||||
user_query=query,
|
||||
max_results=max_results,
|
||||
include_raw_content=include_raw_content,
|
||||
)
|
||||
|
||||
prompt = (
|
||||
f"Search the web for: {query}\n\n"
|
||||
f"Return the top {max_results} most relevant results. "
|
||||
"Provide a concise summary of the key findings."
|
||||
)
|
||||
|
||||
# Ejecutar agente con Tavily API directa
|
||||
result = await agent.run(prompt, deps=state)
|
||||
return result.output
|
||||
Reference in New Issue
Block a user