作者:tj-scripts
邮箱:tangj1984@gmail.com
日期:2024-03-21
项目地址:https://github.com/tj-scripts/openai_compatiable_demo
一个展示如何构建与 OpenAI API 规范兼容的应用程序的演示项目,支持原生 OpenAI API 和兼容的 API 服务。
1git clone https://github.com/yourusername/openai_compatiable_demo.git
2cd openai_compatiable_demo
1# 创建虚拟环境
2uv venv .venv --python=3.12
3
4# 激活虚拟环境
5# Unix/macOS 系统:
6source .venv/bin/activate
7# Windows 系统:
8.venv\Scripts\activate
1# 首先安装构建工具
2uv pip install hatchling
3
4# 以可编辑模式安装包
5uv pip install -e .
如果安装过程中遇到问题,请确保:
1cp config.toml.example config.toml
config.toml
设置 API 配置: 1[api.openai]
2api_key = "your-openai-api-key"
3base_url = "https://api.openai.com/v1"
4model = "gpt-3.5-turbo"
5temperature = 0.7
6max_tokens = 2000
7timeout = 30
8stream = false
9retry_count = 3
10retry_delay = 1
11
12[logging]
13level = "INFO"
14format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
15file = "app.log"
16max_size = 10485760 # 10MB
17backup_count = 5
api_key
:您的 OpenAI API 密钥base_url
:API 端点 URLmodel
:使用的模型名称temperature
:控制随机性(0.0 到 1.0)max_tokens
:生成的最大令牌数timeout
:请求超时时间(秒)stream
:启用流式响应retry_count
:请求失败重试次数retry_delay
:重试延迟时间(秒)level
:日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)format
:日志消息格式file
:日志文件路径max_size
:日志文件最大大小(字节)backup_count
:保留的日志文件数量运行 Web UI 界面:
1python -m tj.scripts.ui
Web 界面提供以下功能:
界面访问地址:
运行交互式聊天演示:
1python -m tj.scripts.main
聊天界面支持以下命令:
history
:显示聊天历史clear
:清空聊天历史help
:显示可用命令quit
:退出聊天聊天会话示例:
1Welcome to the AI Chat! Type your message and press Enter to chat.
2Commands:
3 - 'quit': Exit the chat
4 - 'clear': Clear chat history
5 - 'history': Show chat history
6 - 'help': Show this help message
7
8You: 你好,请介绍一下你自己。
9
10Assistant: 你好!我是一个 AI 助手,我可以帮助你回答问题、编写代码、分析数据等...
11
12You: 你能帮我写一个 Python 函数吗?
13
14Assistant: 当然可以!请告诉我你想要实现什么功能...
15
16You: history
17
18=== Chat History ===
19
20System: You are a helpful AI assistant.
21
22User: 你好,请介绍一下你自己。
23
24Assistant: 你好!我是一个 AI 助手,我可以帮助你回答问题、编写代码、分析数据等...
25
26User: 你能帮我写一个 Python 函数吗?
27
28Assistant: 当然可以!请告诉我你想要实现什么功能...
29
30===================
31
32## 🛠️ 开发
33
341. 确保已安装 Python 3.12 或更高版本
352. 使用虚拟环境进行开发
363. 遵循 PEP 8 编码规范
374. 为所有函数添加类型提示
385. 为所有模块、类和方法编写文档字符串
39
40### 🔧 开发工具
41
42项目在 `pyproject.toml` 中配置了多个开发工具:
43
44- `black`:代码格式化
45- `isort`:导入排序
46- `mypy`:类型检查
47- `pytest`:测试框架
48
49安装开发依赖:
50```bash
51uv pip install -e ".[dev]"