# pradipnichite/youtube-tutorials architecture

> Architecture diagram of the GitHub repository pradipnichite/youtube-tutorials, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/pradipnichite/youtube-tutorials
- Repository: https://github.com/pradipnichite/youtube-tutorials

## Overview

This repository is a collection of independent AI application examples, not one integrated product. Users interact through Streamlit interfaces or FastAPI endpoints; individual apps provide chat, document RAG, semantic search, NL-to-SQL, speech, review replies, or model-serving workflows. The graph groups these separate applications by capability. Edges reflect calls shown in excerpts or file references in the source index; several unsampled applications are shown without speculative internal flows.

Main entry points: [`Langchain RAG Course 2024/api/main.py`](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/main.py) (RAG API), [`Langchain RAG Course 2024/app/streamlit_app.py`](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/streamlit_app.py) (RAG Interface), [`LangGraph FastAPI Integration/api/langgraph_agent.py`](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/langgraph_agent.py) (Agent Graph), [`LangGraph FastAPI Integration/api/nodes.py`](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/nodes.py) (Agent Nodes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_rag["Document RAG"]
  node_rag_ui["RAG Interface<br/>[streamlit_app.py]"]
  node_rag_chat["Chat Interface<br/>[chat_interface.py]"]
  node_rag_sidebar["Document Controls<br/>[sidebar.py]"]
  node_rag_api_client["API Client<br/>[api_utils.py]"]
  node_rag_api["RAG API<br/>[main.py]"]
  node_rag_chain["RAG Chain<br/>[langchain_utils.py]"]
  node_rag_history[("Chat And File Records<br/>[db_utils.py]")]
  node_rag_vectors[("Document Index<br/>[chroma_utils.py]")]
  node_graph_api["Agent API<br/>[main.py]"]
  node_graph_agent["Agent Graph<br/>[langgraph_agent.py]"]
  node_graph_nodes["Agent Nodes<br/>[nodes.py]"]
  node_graph_shared["Agent State And Models<br/>[shared.py]"]
  node_graph_tools["Search Tools<br/>[tools.py]"]
end

subgraph group_chat["Chat And Queries"]
  node_nl2sql_app["NL2SQL App<br/>[main.py]"]
  node_nl2sql_chain["SQL Chain<br/>[langchain_utils.py]"]
  node_chat_app["LangChain Chat<br/>[main.py]"]
  node_chat_retrieval["Chat Retrieval Helpers<br/>[utils.py]"]
  node_streamlit_chat["ChatGPT Interface<br/>[chatbot.py]"]
end

subgraph group_search["Search Applications"]
  node_semantic_app["Semantic Search UI<br/>[main.py]"]
  node_semantic_vectors["Vector Search<br/>[vector_search.py]"]
  node_semantic_qa["Answer Generation<br/>[qa.py]"]
end

subgraph group_speech["Speech And Reviews"]
  node_speech_app["Speech Chat UI<br/>[app.py]"]
  node_speech_helpers["Speech And Chat Helpers<br/>[utils.py]"]
  node_review_app["Review Replier<br/>[app.py]"]
  node_lex_app["Amazon Lex Example<br/>[Part2.py]"]
end

subgraph group_serving["Model Serving"]
  node_bert_api["BERT API<br/>[main.py]"]
  node_bert_ui["BERT Interface<br/>[app.py]"]
  node_openai_api["OpenAI API<br/>[main.py]"]
  node_gpt_ec2_ui["GPT-3 EC2 Interface<br/>[app.py]"]
  node_fargate_ui["Fargate Interface<br/>[app.py]"]
  node_airtable_app["Airtable Interface<br/>[app_airtable.py]"]
end

node_user(("User"))

node_user -->|"uses"| node_rag_ui
node_rag_ui -->|"renders"| node_rag_chat
node_rag_ui -->|"renders"| node_rag_sidebar
node_rag_chat -->|"calls"| node_rag_api_client
node_rag_sidebar -->|"calls"| node_rag_api_client
node_rag_api -->|"invokes"| node_rag_chain
node_rag_api -->|"reads and writes"| node_rag_history
node_rag_api -->|"indexes and deletes"| node_rag_vectors
node_user -->|"calls"| node_graph_api
node_graph_api -->|"invokes"| node_graph_agent
node_graph_agent -->|"uses"| node_graph_nodes
node_graph_agent -->|"uses"| node_graph_shared
node_graph_nodes -->|"uses"| node_graph_shared
node_graph_nodes -->|"invokes"| node_graph_tools
node_graph_tools -->|"searches"| node_rag_vectors
node_user -->|"uses"| node_nl2sql_app
node_nl2sql_app -->|"invokes"| node_nl2sql_chain
node_nl2sql_chain -->|"returns answer"| node_user
node_user -->|"uses"| node_chat_app
node_chat_app -->|"calls"| node_chat_retrieval
node_user -->|"uses"| node_semantic_app
node_semantic_app -->|"calls"| node_semantic_vectors
node_semantic_app -->|"calls"| node_semantic_qa
node_user -->|"uses"| node_speech_app
node_speech_app -->|"calls"| node_speech_helpers
node_user -->|"uses"| node_review_app
node_user -->|"uses"| node_lex_app
node_user -->|"calls"| node_bert_api
node_user -->|"uses"| node_bert_ui
node_user -->|"calls"| node_openai_api
node_user -->|"uses"| node_gpt_ec2_ui
node_user -->|"uses"| node_fargate_ui
node_user -->|"uses"| node_airtable_app
node_user -->|"uses"| node_streamlit_chat

click node_rag_ui "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/streamlit_app.py"
click node_rag_chat "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/chat_interface.py"
click node_rag_sidebar "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/sidebar.py"
click node_rag_api_client "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/api_utils.py"
click node_rag_api "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/main.py"
click node_rag_chain "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/langchain_utils.py"
click node_rag_history "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/db_utils.py"
click node_rag_vectors "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/chroma_utils.py"
click node_graph_api "https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/main.py"
click node_graph_agent "https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/langgraph_agent.py"
click node_graph_nodes "https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/nodes.py"
click node_graph_shared "https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/shared.py"
click node_graph_tools "https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/tools.py"
click node_nl2sql_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20NL2SQL%20Chatbot/app/main.py"
click node_nl2sql_chain "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20NL2SQL%20Chatbot/app/langchain_utils.py"
click node_chat_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20Chatbot/main.py"
click node_chat_retrieval "https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20Chatbot/utils.py"
click node_semantic_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/main.py"
click node_semantic_vectors "https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/vector_search.py"
click node_semantic_qa "https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/qa.py"
click node_speech_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/speech_text_openai/app.py"
click node_speech_helpers "https://github.com/pradipnichite/youtube-tutorials/blob/main/speech_text_openai/utils.py"
click node_review_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/GPT-3%20Review%20Replier/app.py"
click node_lex_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/Amazon_Lex/Part2.py"
click node_bert_api "https://github.com/pradipnichite/youtube-tutorials/blob/main/bert_fastapi/main.py"
click node_bert_ui "https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_bert/app.py"
click node_openai_api "https://github.com/pradipnichite/youtube-tutorials/blob/main/fastapi_openai/app/main.py"
click node_gpt_ec2_ui "https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_gpt3_ec2/app.py"
click node_fargate_ui "https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_fargat/app.py"
click node_airtable_app "https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_airtable/app_airtable.py"
click node_streamlit_chat "https://github.com/pradipnichite/youtube-tutorials/blob/main/chatGPT-streamlit/chatbot.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_rag_ui,node_rag_chat,node_rag_sidebar,node_rag_api_client,node_rag_api,node_rag_chain,node_rag_history,node_rag_vectors,node_graph_api,node_graph_agent,node_graph_nodes,node_graph_shared,node_graph_tools,node_user toneBlue
class node_nl2sql_app,node_nl2sql_chain,node_chat_app,node_chat_retrieval,node_streamlit_chat toneAmber
class node_semantic_app,node_semantic_vectors,node_semantic_qa toneMint
class node_speech_app,node_speech_helpers,node_review_app,node_lex_app toneRose
class node_bert_api,node_bert_ui,node_openai_api,node_gpt_ec2_ui,node_fargate_ui,node_airtable_app toneIndigo
```

## Components

### Document RAG

- [RAG Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/streamlit_app.py): `Langchain RAG Course 2024/app/streamlit_app.py`
- [Chat Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/chat_interface.py): `Langchain RAG Course 2024/app/chat_interface.py`
- [Document Controls](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/sidebar.py): `Langchain RAG Course 2024/app/sidebar.py`
- [API Client](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/app/api_utils.py): `Langchain RAG Course 2024/app/api_utils.py`
- [RAG API](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/main.py): `Langchain RAG Course 2024/api/main.py`
- [RAG Chain](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/langchain_utils.py): `Langchain RAG Course 2024/api/langchain_utils.py`
- [Chat And File Records](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/db_utils.py): `Langchain RAG Course 2024/api/db_utils.py`
- [Document Index](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20RAG%20Course%202024/api/chroma_utils.py): `Langchain RAG Course 2024/api/chroma_utils.py`
- [Agent API](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/main.py): `LangGraph FastAPI Integration/api/main.py`
- [Agent Graph](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/langgraph_agent.py): `LangGraph FastAPI Integration/api/langgraph_agent.py`
- [Agent Nodes](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/nodes.py): `LangGraph FastAPI Integration/api/nodes.py`
- [Agent State And Models](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/shared.py): `LangGraph FastAPI Integration/api/shared.py`
- [Search Tools](https://github.com/pradipnichite/youtube-tutorials/blob/main/LangGraph%20FastAPI%20Integration/api/tools.py): `LangGraph FastAPI Integration/api/tools.py`

### Chat And Queries

- [NL2SQL App](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20NL2SQL%20Chatbot/app/main.py): `Langchain NL2SQL Chatbot/app/main.py`
- [SQL Chain](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20NL2SQL%20Chatbot/app/langchain_utils.py): `Langchain NL2SQL Chatbot/app/langchain_utils.py`
- [LangChain Chat](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20Chatbot/main.py): `Langchain Chatbot/main.py`
- [Chat Retrieval Helpers](https://github.com/pradipnichite/youtube-tutorials/blob/main/Langchain%20Chatbot/utils.py): `Langchain Chatbot/utils.py`
- [ChatGPT Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/chatGPT-streamlit/chatbot.py): `chatGPT-streamlit/chatbot.py`

### Search Applications

- [Semantic Search UI](https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/main.py): `semantic_serach_streamlit/main.py`
- [Vector Search](https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/vector_search.py): `semantic_serach_streamlit/vector_search.py`
- [Answer Generation](https://github.com/pradipnichite/youtube-tutorials/blob/main/semantic_serach_streamlit/qa.py): `semantic_serach_streamlit/qa.py`

### Speech And Reviews

- [Speech Chat UI](https://github.com/pradipnichite/youtube-tutorials/blob/main/speech_text_openai/app.py): `speech_text_openai/app.py`
- [Speech And Chat Helpers](https://github.com/pradipnichite/youtube-tutorials/blob/main/speech_text_openai/utils.py): `speech_text_openai/utils.py`
- [Review Replier](https://github.com/pradipnichite/youtube-tutorials/blob/main/GPT-3%20Review%20Replier/app.py): `GPT-3 Review Replier/app.py`
- [Amazon Lex Example](https://github.com/pradipnichite/youtube-tutorials/blob/main/Amazon_Lex/Part2.py): `Amazon_Lex/Part2.py`

### Model Serving

- [BERT API](https://github.com/pradipnichite/youtube-tutorials/blob/main/bert_fastapi/main.py): `bert_fastapi/main.py`
- [BERT Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_bert/app.py): `streamlit_bert/app.py`
- [OpenAI API](https://github.com/pradipnichite/youtube-tutorials/blob/main/fastapi_openai/app/main.py): `fastapi_openai/app/main.py`
- [GPT-3 EC2 Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_gpt3_ec2/app.py): `streamlit_gpt3_ec2/app.py`
- [Fargate Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_fargat/app.py): `streamlit_fargat/app.py`
- [Airtable Interface](https://github.com/pradipnichite/youtube-tutorials/blob/main/streamlit_airtable/app_airtable.py): `streamlit_airtable/app_airtable.py`

### Other components

- **User**

## Connections

- User → RAG Interface: uses
- RAG Interface → Chat Interface: renders (evidence: `Langchain RAG Course 2024/app/streamlit_app.py`)
- RAG Interface → Document Controls: renders (evidence: `Langchain RAG Course 2024/app/streamlit_app.py`)
- Chat Interface → API Client: calls (evidence: `Langchain RAG Course 2024/app/chat_interface.py`)
- Document Controls → API Client: calls (evidence: `Langchain RAG Course 2024/app/sidebar.py`)
- RAG API → RAG Chain: invokes (evidence: `Langchain RAG Course 2024/api/main.py`)
- RAG API → Chat And File Records: reads and writes (evidence: `Langchain RAG Course 2024/api/main.py`)
- RAG API → Document Index: indexes and deletes (evidence: `Langchain RAG Course 2024/api/main.py`)
- User → Agent API: calls
- Agent API → Agent Graph: invokes (evidence: `LangGraph FastAPI Integration/api/main.py`)
- Agent Graph → Agent Nodes: uses (evidence: `LangGraph FastAPI Integration/api/langgraph_agent.py`)
- Agent Graph → Agent State And Models: uses (evidence: `LangGraph FastAPI Integration/api/langgraph_agent.py`)
- Agent Nodes → Agent State And Models: uses (evidence: `LangGraph FastAPI Integration/api/nodes.py`)
- Agent Nodes → Search Tools: invokes (evidence: `LangGraph FastAPI Integration/api/nodes.py`)
- Search Tools → Document Index: searches (evidence: `LangGraph FastAPI Integration/api/tools.py`)
- User → NL2SQL App: uses
- NL2SQL App → SQL Chain: invokes (evidence: `Langchain NL2SQL Chatbot/app/main.py`)
- SQL Chain → User: returns answer (evidence: `Langchain NL2SQL Chatbot/app/langchain_utils.py`)
- User → LangChain Chat: uses
- LangChain Chat → Chat Retrieval Helpers: calls (evidence: `Langchain Chatbot/main.py`)
- User → Semantic Search UI: uses
- Semantic Search UI → Vector Search: calls (evidence: `semantic_serach_streamlit/main.py`)
- Semantic Search UI → Answer Generation: calls (evidence: `semantic_serach_streamlit/main.py`)
- User → Speech Chat UI: uses
- Speech Chat UI → Speech And Chat Helpers: calls (evidence: `speech_text_openai/app.py`)
- User → Review Replier: uses
- User → Amazon Lex Example: uses
- User → BERT API: calls
- User → BERT Interface: uses
- User → OpenAI API: calls
- User → GPT-3 EC2 Interface: uses
- User → Fargate Interface: uses
- User → Airtable Interface: uses
- User → ChatGPT Interface: uses
