How veera180/sc_chatbot works
Scorechatbot is a web chat interface backed by a Python RAG service. The main workflow is a user question through the frontend and API to orchestration, where conversation memory, search, embeddings, and LLM generation support an answer with sources. The repository also includes document extraction and search-index preparation tooling. Several backend service relationships are supported by the source index; the README provides no workflow detail, and some frontend-to-backend wiring is not shown, so that link is marked unverified.
Main entry points: rag_orchestrator.py RAG orchestrator · App.js Chat app · ChatContainer.jsx Chat interface · ChatInput.jsx Question input
Components 26
Chat client
- Chat app
frontendMain/src/App.js - Chat interface
frontendMain/src/components/ChatContainer.jsx - Question input
frontendMain/src/components/ChatInput.jsx - Answer display
frontendMain/src/components/MessageBubble.jsx - Chat sidebar
frontendMain/src/components/Sidebar.jsx - Source cards
frontendMain/src/components/SourceCard.jsx - Chat API client
frontendMain/src/services/api.js
RAG backend
- Backend API
backend/api.py - RAG orchestrator
backend/rag_orchestrator.py - Session memory
backend/services/memory_service.py - Hybrid search
backend/services/search_service.py - Embedding service
backend/services/embedding_service.py - LLM service
backend/services/llm_service.py - Azure authentication
backend/services/auth_services.py - CLI application
backend/main.py
Index preparation
- Index creation
CreateIndex/create_index.py - Search index schema
CreateIndex/index_schema.py - Document upload
CreateIndex/upload_documents.py
Document extraction
- LLM document extraction
LLMExtraction/llm_extractor_optimized.py - URL repair
LLMExtraction/fix_urls.py - Title repair
LLMExtraction/fix_parent_title.py
External services
- Azure AI Search
- Embedding endpoint
- LLM endpoint
- Azure AD
Other components
- Chat user
Connections 20
- Chat user → Question input: asks
- Question input → Chat app: submits
frontendMain/src/App.js - Chat app → Chat API client: sends message
frontendMain/src/App.js - Chat API client → Backend API: calls API
- Chat app → Chat interface: renders
frontendMain/src/App.js - Chat app → Chat sidebar: renders
frontendMain/src/App.js - Chat interface → Answer display: renders
frontendMain/src/components/ChatContainer.jsx - Answer display → Source cards: renders
- Backend API → RAG orchestrator: dispatches questions
backend/api.py - CLI application → RAG orchestrator: initializes
backend/main.py - RAG orchestrator → Session memory: manages sessions
backend/rag_orchestrator.py - RAG orchestrator → Hybrid search: searches documents
backend/rag_orchestrator.py - RAG orchestrator → Embedding service: generates embeddings
backend/rag_orchestrator.py - RAG orchestrator → LLM service: generates answers
backend/rag_orchestrator.py - RAG orchestrator → Azure authentication: uses authentication
backend/rag_orchestrator.py - Hybrid search → Azure AI Search: queries index
backend/services/search_service.py - Embedding service → Embedding endpoint: requests vectors
backend/services/embedding_service.py - LLM service → LLM endpoint: requests completion
backend/services/llm_service.py - Azure authentication → Azure AD: requests token
backend/services/auth_services.py - Index creation → Search index schema: uses schema
CreateIndex/create_index.py