How emarco177/documentation-helper works
The app accepts documentation questions in Streamlit, retrieves matching content through a tool-backed RAG agent, and displays answers with source citations. A separate ingestion script crawls LangChain documentation, chunks it, and indexes it. The sampled ingestion code writes to local Chroma, while query-time code uses Pinecone; the relationship between these stores is not shown. Although the README describes conversational memory and broader Tavily capabilities, sampled runtime code does not establish their implementation, so they are omitted.
Main entry points: core.py Answer agent · ingestion.py Ingestion orchestrator · main.py Streamlit UI
Components 11
Chat interface
- Streamlit UI
main.py
RAG answering
- Answer agent
backend/core.py - Context retrieval
backend/core.py - Pinecone index
Documentation ingestion
- Ingestion orchestrator
ingestion.py - Document chunker
ingestion.py - Batch indexer
ingestion.py - Local Chroma
Other components
- Questioner
- OpenAI models
- Tavily crawl
Connections 13
- Questioner → Streamlit UI: asks
- Streamlit UI → Answer agent: calls
- Answer agent → Context retrieval: dispatches
- Context retrieval → Pinecone index: searches
- Pinecone index → Context retrieval: returns documents
- Context retrieval → Answer agent: returns context
- Answer agent → OpenAI models: generates with
- Answer agent → Streamlit UI: returns answer and context
- Ingestion orchestrator → Tavily crawl: crawls
- Ingestion orchestrator → Document chunker: splits documents
- Ingestion orchestrator → Batch indexer: indexes chunks
- Batch indexer → Local Chroma: writes embeddings
- Batch indexer → OpenAI models: embeds with