1.3 KiB
1.3 KiB
Simple Chat API
一个使用 FastAPI 和 DeepSeek API 的最小多轮对话服务。每个会话的系统提示词与消息历史保存在本地 JSON 文件中。
启动
uv sync
cp .env.example .env
# 编辑 .env 并填写 DEEPSEEK_API_KEY
uv run uvicorn main:app --reload
服务默认运行在 http://127.0.0.1:8000,交互式 API 文档位于 /docs。
服务会自动加载项目根目录的 .env,已有系统环境变量优先级更高。可配置 DEEPSEEK_BASE_URL、DEEPSEEK_MODEL、DEFAULT_SYSTEM_PROMPT 和 CHAT_DATA_DIR,完整示例见 .env.example。第一版应只使用一个 Uvicorn worker。
使用
创建会话:
curl -X POST http://127.0.0.1:8000/sessions \
-H 'Content-Type: application/json' \
-d '{"system_prompt":"你是一个简洁的中文助手。"}'
使用返回的 session_id 发送消息:
curl -X POST http://127.0.0.1:8000/sessions/SESSION_ID/messages \
-H 'Content-Type: application/json' \
-d '{"content":"你好,请记住我的名字是小明。"}'
API 返回及存储的每条消息都包含 UTC created_at。只有模型完整响应成功后,本轮消息才会写入会话历史。
获取指定会话的完整历史:
curl http://127.0.0.1:8000/sessions/SESSION_ID/messages