這個目錄包含了多個互動式演示,展示如何使用本項目中學習的技術構建實際應用。
demos/
├── gradio/ # Gradio 演示
│ └── rag_demo.py # RAG 系統演示
├── streamlit/ # Streamlit 演示
│ └── llm_chat.py # LLM 聊天應用
└── chainlit/ # Chainlit 演示
└── agent_demo.py # Agent 系統演示
# 從項目根目錄
pip install -r requirements-llm.txt
# 或安裝特定依賴
pip install gradio streamlit chainlit langchain langchain-openai chromadb# 複製環境變量模板
cp .env.example .env
# 編輯 .env 文件,添加您的 API 金鑰
# OPENAI_API_KEY=your-key-here# Gradio RAG 演示
python demos/gradio/rag_demo.py
# Streamlit LLM Chat
streamlit run demos/streamlit/llm_chat.py
# Chainlit Agent 演示
chainlit run demos/chainlit/agent_demo.py功能:
- 📤 文檔上傳(支援 TXT、PDF)
- 🔍 向量化和索引
- 💬 基於文檔的問答
- 📊 顯示相關文檔片段
技術棧:
- Gradio (UI)
- LangChain (RAG Framework)
- ChromaDB (Vector Store)
- OpenAI / Ollama (LLM)
使用場景:
- 文檔問答系統
- 知識庫查詢
- 研究輔助工具
功能:
- 💬 多模型支持(OpenAI、Ollama)
- 🎛️ 參數調整(Temperature、Max Tokens)
- 💾 對話歷史管理
- 📥 對話導出
技術棧:
- Streamlit (UI)
- LangChain (LLM Integration)
- OpenAI API / Ollama
使用場景:
- AI 聊天助手
- 代碼輔助工具
- 學習輔導系統
功能:
- 🤖 Agent 工作流
- 🔧 工具調用(搜尋、計算等)
- 🧠 推理過程可視化
- 📝 任務分解和執行
技術棧:
- Chainlit (UI)
- LangGraph (Agent Framework)
- LangChain Tools
使用場景:
- 複雜任務自動化
- 研究助手
- 數據分析工具
如果您沒有 OpenAI API 金鑰,可以使用 Ollama 運行本地模型:
# 1. 安裝 Ollama
# 訪問 https://ollama.ai
# 2. 啟動 Ollama
ollama serve
# 3. 下載模型
ollama pull llama3.2
ollama pull mistral
# 4. 運行演示(會自動檢測並使用 Ollama)
python demos/gradio/rag_demo.py每個演示都支持通過環境變量或配置文件自定義:
# .env 文件
OPENAI_API_KEY=your-key
DEFAULT_MODEL=gpt-4o-mini
VECTOR_DB_PATH=./custom_db
MAX_TOKENS=2000
TEMPERATURE=0.7-
準備文檔
- 支援格式:.txt, .pdf
- 建議大小:每個文件 < 10MB
- 編碼:UTF-8
-
上傳步驟
- 點擊"選擇文檔"
- 選擇一個或多個文件
- 點擊"上傳並處理"
- 等待處理完成(顯示綠色勾號)
-
提問技巧
- 明確具體的問題
- 可以要求總結、提取信息
- 支援多輪對話
- 系統會顯示相關文檔片段
-
示例問題
- "這篇文檔的主要內容是什麼?"
- "請總結關鍵要點"
- "文檔中提到了哪些重要概念?"
- "關於X的部分說了什麼?"
-
選擇模型
- OpenAI:gpt-4, gpt-3.5-turbo
- Ollama:llama3.2, mistral, phi3
-
調整參數
-
Temperature (0-2)
- 0.0-0.3:精確、一致的回答
- 0.4-0.7:平衡
- 0.8-2.0:創造性、多樣性
-
Max Tokens (100-4000)
- 100-500:簡短回答
- 1000-2000:標準對話
- 3000-4000:長文生成
-
-
系統提示詞
- 定義 AI 的角色和行為
- 例如:"你是一個 Python 專家"
- 影響所有後續對話
-
對話管理
- 清除:刪除所有歷史
- 導出:保存為 Markdown 文件
- 統計:查看對話輪數
-
選擇框架
# Gradio - 快速原型 # Streamlit - 數據應用 # Chainlit - Agent 系統
-
項目結構
demos/your_demo/ ├── app.py # 主應用 ├── requirements.txt # 依賴 ├── README.md # 說明 └── config.yaml # 配置(可選) -
最佳實踐
- 使用環境變量管理敏感信息
- 提供清晰的錯誤消息
- 添加使用說明和示例
- 實現錯誤處理和日誌記錄
- 支援本地和雲端模型
歡迎貢獻新的演示!請查看 CONTRIBUTING.md
-
ModuleNotFoundError
pip install -r requirements-llm.txt
-
OpenAI API 錯誤
- 檢查 API 金鑰是否正確
- 確認帳戶有餘額
- 檢查網絡連接
-
Ollama 連接失敗
# 檢查 Ollama 是否運行 curl http://localhost:11434/api/tags # 如果沒有運行,啟動它 ollama serve
-
ChromaDB 錯誤
# 刪除舊數據庫 rm -rf demos/gradio/chroma_db # 重新運行應用 python demos/gradio/rag_demo.py
-
端口被佔用
# 查找佔用端口的進程 lsof -i :7860 # 或使用不同端口 python app.py --port 7861
這些演示與主項目使用相同的 MIT 許可證。
享受探索!🎉