# xiaowuc2/chatgpt-python-applications architecture

> Architecture diagram of the GitHub repository xiaowuc2/chatgpt-python-applications, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/xiaowuc2/chatgpt-python-applications
- Repository: https://github.com/xiaowuc2/chatgpt-python-applications

## Overview

This repository is a collection of standalone ChatGPT applications, not one shared runtime. The principal workflows accept chat, email, website, audio, or document input; use OpenAI or a vector-based knowledge approach; and return a response, summary, generated blog, or transcription. The README also documents fine-tuning and voice-assistant capabilities. Those latter implementations are represented from documentation and tree paths; their internal wiring is not shown where source was not sampled.

Main entry points: [`chatbot/fantastic-chatbot-gradio.py`](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py) (Chat Handler), [`web-scraping-summarizer/web-scraping-summarizer.py`](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py) (Web Summarizer), [`email-automation/cool-odd.py`](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py) (Email Blog Script), [`whisper-speech-text/whisper-api-basic.ipynb`](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb) (Audio Transcription)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_chat["Chat Applications"]
  node_gradio["Chat UI"]
  node_chat_handler["Chat Handler"]
  node_chat_history["Conversation History"]
  node_chat_reply["Chat Reply"]
end

subgraph group_content["Content Automation"]
  node_email_script["Email Blog Script<br/>[cool-odd.py]"]
  node_email_content["Email Content<br/>[cool-odd.py]"]
  node_blog_output["Generated Blog<br/>[cool-odd.py]"]
  node_scraper["Web Summarizer"]
  node_page_text["Extracted Text"]
  node_summary["Summary"]
end

subgraph group_audio["Audio Applications"]
  node_whisper["Audio Transcription"]
  node_audio_input["Audio Input"]
  node_transcript["Transcript"]
  node_voice_assistant["Voice Assistant"]
  node_voice_response["Audio Response"]
end

subgraph group_knowledge["Knowledge Applications"]
  node_fine_tuning["Custom Fine-Tuning"]
  node_custom_data["Custom Data"]
  node_document_qa["Document Q&amp;A"]
  node_vector_db[("Vector Database")]
  node_large_text["Large Text"]
end

node_user(("User"))
node_mailbox["Mail Server"]
node_website["Website"]
node_openai["OpenAI API"]

node_user -->|"submits chat"| node_gradio
node_gradio -->|"invokes"| node_chat_handler
node_chat_handler -->|"updates"| node_chat_history
node_chat_handler -->|"requests completion"| node_openai
node_openai -->|"returns reply"| node_chat_handler
node_chat_handler -->|"returns reply"| node_gradio
node_gradio -->|"shows reply"| node_user
node_email_script -->|"fetches messages"| node_mailbox
node_mailbox -->|"provides email"| node_email_content
node_email_script -->|"generates blog"| node_openai
node_email_script -->|"prints blog"| node_blog_output
node_user -->|"supplies URL"| node_scraper
node_scraper -->|"requests page"| node_website
node_website -->|"returns page"| node_scraper
node_scraper -->|"extracts paragraphs"| node_page_text
node_scraper -->|"requests summary"| node_openai
node_openai -->|"returns summary"| node_summary
node_user -->|"provides audio"| node_audio_input
node_audio_input -->|"transcribes"| node_whisper
node_whisper -->|"uses API"| node_openai
node_whisper -->|"produces text"| node_transcript
node_user -->|"provides audio"| node_voice_assistant
node_voice_assistant -->|"returns audio"| node_voice_response
node_user -->|"provides data"| node_custom_data
node_custom_data -->|"trains model"| node_fine_tuning
node_user -->|"asks question"| node_document_qa
node_document_qa -->|"queries custom data"| node_fine_tuning
node_user -->|"provides text"| node_large_text
node_large_text -->|"stores or searches"| node_vector_db
node_vector_db -->|"supports GPT queries"| node_openai

click node_gradio "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py"
click node_chat_handler "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py"
click node_chat_history "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py"
click node_email_script "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py"
click node_email_content "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py"
click node_blog_output "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py"
click node_scraper "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py"
click node_page_text "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py"
click node_summary "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py"
click node_whisper "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb"
click node_audio_input "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb"
click node_transcript "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb"
click node_voice_assistant "https://github.com/xiaowuc2/chatgpt-python-applications/tree/main/voice-assistant"
click node_voice_response "https://github.com/xiaowuc2/chatgpt-python-applications/tree/main/voice-assistant"
click node_fine_tuning "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb"
click node_custom_data "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb"
click node_document_qa "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb"
click node_vector_db "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/vector-database/Vector_Databse.ipynb"
click node_large_text "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/vector-database/Vector_Databse.ipynb"
click node_chat_reply "https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.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_gradio,node_chat_handler,node_chat_history,node_chat_reply,node_user toneBlue
class node_email_script,node_email_content,node_blog_output,node_scraper,node_page_text,node_summary toneAmber
class node_whisper,node_audio_input,node_transcript,node_voice_assistant,node_voice_response,node_mailbox,node_openai toneMint
class node_fine_tuning,node_custom_data,node_document_qa,node_vector_db,node_large_text toneRose
class node_website toneIndigo
```

## Components

### Chat Applications

- [Chat UI](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py): `chatbot/fantastic-chatbot-gradio.py`
- [Chat Handler](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py): `chatbot/fantastic-chatbot-gradio.py`
- [Conversation History](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py): `chatbot/fantastic-chatbot-gradio.py`
- [Chat Reply](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/chatbot/fantastic-chatbot-gradio.py): `chatbot/fantastic-chatbot-gradio.py`

### Content Automation

- [Email Blog Script](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py): `email-automation/cool-odd.py`
- [Email Content](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py): `email-automation/cool-odd.py`
- [Generated Blog](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/email-automation/cool-odd.py): `email-automation/cool-odd.py`
- [Web Summarizer](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py): `web-scraping-summarizer/web-scraping-summarizer.py`
- [Extracted Text](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py): `web-scraping-summarizer/web-scraping-summarizer.py`
- [Summary](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/web-scraping-summarizer/web-scraping-summarizer.py): `web-scraping-summarizer/web-scraping-summarizer.py`

### Audio Applications

- [Audio Transcription](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb): `whisper-speech-text/whisper-api-basic.ipynb`
- [Audio Input](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb): `whisper-speech-text/whisper-api-basic.ipynb`
- [Transcript](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/whisper-speech-text/whisper-api-basic.ipynb): `whisper-speech-text/whisper-api-basic.ipynb`
- [Voice Assistant](https://github.com/xiaowuc2/chatgpt-python-applications/tree/main/voice-assistant): `voice-assistant`
- [Audio Response](https://github.com/xiaowuc2/chatgpt-python-applications/tree/main/voice-assistant): `voice-assistant`

### Knowledge Applications

- [Custom Fine-Tuning](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb): `finetuned-gpt/document-based-chatGPT.ipynb`
- [Custom Data](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb): `finetuned-gpt/document-based-chatGPT.ipynb`
- [Document Q&A](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/finetuned-gpt/document-based-chatGPT.ipynb): `finetuned-gpt/document-based-chatGPT.ipynb`
- [Vector Database](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/vector-database/Vector_Databse.ipynb): `vector-database/Vector_Databse.ipynb`
- [Large Text](https://github.com/xiaowuc2/chatgpt-python-applications/blob/main/vector-database/Vector_Databse.ipynb): `vector-database/Vector_Databse.ipynb`

### Other components

- **User**
- **Mail Server**
- **Website**
- **OpenAI API**

## Connections

- User → Chat UI: submits chat
- Chat UI → Chat Handler: invokes
- Chat Handler → Conversation History: updates
- Chat Handler → OpenAI API: requests completion
- OpenAI API → Chat Handler: returns reply
- Chat Handler → Chat UI: returns reply
- Chat UI → User: shows reply
- Email Blog Script → Mail Server: fetches messages
- Mail Server → Email Content: provides email
- Email Blog Script → OpenAI API: generates blog
- Email Blog Script → Generated Blog: prints blog
- User → Web Summarizer: supplies URL
- Web Summarizer → Website: requests page
- Website → Web Summarizer: returns page
- Web Summarizer → Extracted Text: extracts paragraphs
- Web Summarizer → OpenAI API: requests summary
- OpenAI API → Summary: returns summary
- User → Audio Input: provides audio
- Audio Input → Audio Transcription: transcribes
- Audio Transcription → OpenAI API: uses API
- Audio Transcription → Transcript: produces text
- User → Voice Assistant: provides audio
- Voice Assistant → Audio Response: returns audio
- User → Custom Data: provides data
- Custom Data → Custom Fine-Tuning: trains model
- User → Document Q&A: asks question
- Document Q&A → Custom Fine-Tuning: queries custom data
- User → Large Text: provides text
- Large Text → Vector Database: stores or searches
- Vector Database → OpenAI API: supports GPT queries
