How balta8/ai-telecom-assistant works
AI Telecom Assistant serves telecom customers through Chainlit or a console chat. Each message enters the session-aware agent, which dispatches it to FAQ, package-detail, recommendation, or technical-support tools; retrieval-backed tools use Chroma search, while the support tool answers from the conversation context. README also documents data chunking and Chroma ingestion as the knowledge-base setup path. The source excerpts establish the agent/tool/retrieval calls; the ingestion links are based on README instructions, and the FAQ and package tools use different retrieval paths.
Main entry points: agent.py Session Agent · retrievers.py Retriever Manager · faq_node.py FAQ Answers · package_recommendation_node.py Package Advice
Components 14
Chat Interfaces
- Chainlit Chat
chainlit_app.py - Console Chat
app.py
Agent Orchestration
- Session Agent
agent.py - Model Config
config.py
Customer Tools
- FAQ Answers
src/nodes/faq_node.py - Package Details
src/nodes/package_info_node.py - Package Advice
src/nodes/package_recommendation_node.py - Technical Support
src/nodes/support_node.py
Knowledge Retrieval
- Retriever Manager
utils/retrievers.py - Data Chunking
utils/chunking.py - Chroma Ingestion
utils/ingest.py - Chroma Store
Other components
- Customer
- OpenAI Models
Connections 23
- Customer → Chainlit Chat: sends message
chainlit_app.py - Customer → Console Chat: sends message
app.py - Chainlit Chat → Session Agent: handles message
chainlit_app.py - Console Chat → Session Agent: handles message
app.py - Session Agent → Retriever Manager: sets up
agent.py - Session Agent → FAQ Answers: dispatches to
agent.py - Session Agent → Package Details: dispatches to
agent.py - Session Agent → Package Advice: dispatches to
agent.py - Session Agent → Technical Support: dispatches to
agent.py - Session Agent → OpenAI Models: prompts
agent.py - FAQ Answers → Retriever Manager: searches FAQs
src/nodes/faq_node.py - FAQ Answers → OpenAI Models: generates answer
src/nodes/faq_node.py - Package Details → Retriever Manager: searches packages
src/nodes/package_info_node.py - Package Advice → Retriever Manager: searches packages
src/nodes/package_recommendation_node.py - Package Advice → OpenAI Models: generates advice
src/nodes/package_recommendation_node.py - Technical Support → OpenAI Models: generates guidance
src/nodes/support_node.py - Retriever Manager → Chroma Store: searches vectors
utils/retrievers.py - Retriever Manager → OpenAI Models: embeds queries
utils/retrievers.py - Retriever Manager → OpenAI Models: reranks results
utils/retrievers.py - Data Chunking → Chroma Ingestion: supplies chunks
README.md - Chroma Ingestion → Chroma Store: writes documents
utils/ingest.py - Chroma Ingestion → OpenAI Models: embeds documents
utils/ingest.py - Model Config → OpenAI Models: configures models