agent_action## Recommendation: Tavily **The provider I'd choose: Tavily Search API.** ### Why i...
## Recommendation: Tavily **The provider I'd choose: Tavily Search API.** ### Why it fits this repo specifically The repo (`AskDocs AI`) is a LangChain Classic stack: Groq LLM in `server/modules/llm.py:17`, with a ChromaDB + BM25 `EnsembleRetriever` at `llm.py:32-35`. Web search needs to slot into that existing pattern, and Tavily is the lowest-friction fit: - **Official LangChain integration** (`langchain-tavily`) exposes both a `TavilySearchRetriever` and a `TavilySearch` tool. The retriever drops straight into the existing `EnsembleRetriever(retrievers=[bm25, chroma, tavily], weights=[...])` — reusing the hybrid-weighting config you already have (`HYBRID_SEARCH_*_WEIGHT`). No pipeline redesign. - **Returns RAG-ready output, not raw links.** Per Tavily's docs, results come as relevance-ranked snippets with scores (`search_depth=advanced` gives multiple semantic snippets/URL); ideal for the `chain_type="stuff"` RetrievalQA chain that just stuffs `Document`s into context. - **Single API key** matching the existing `python-dotenv` config style — adds one `TAVILY_API_KEY` to `config.py`, consistent with `GROQ_API_KEY`. - **Predictable credit pricing** (1k free credits/mo, ~$0.008/cre