|
|
72345871c6
|
feat: 优化 Swagger UI docs 默认参数和字段描述
main.py 变更:
- ChatMessage/ChatCompletionRequest 使用 Pydantic Field 添加 description 和 example
- model 默认 example 设为 'qwen-plus',提供 ['', 'qwen-flash', 'qwen-plus', 'qwen-max'] 选项
- messages 默认 example 设为 [{role: 'user', content: '你好,介绍一下你自己'}]
- 所有字段添加中文描述和取值范围约束 (ge/le)
- 修复 Swagger UI 点击 Try it out 后直接 Execute 报 'Unknown model: string' 的问题
效果:
- /docs 页面现在显示合理的默认值,一键即可测试
- 每个字段都有清晰的中文说明和取值范围提示
|
2026-04-19 00:31:31 +08:00 |
|
|
|
2afe976a31
|
feat: 启用 Apple Silicon MPS 加速 + 兼容 transformers 5.x + 本地运行配置
nvidia_router.py 变更:
- device 默认值从 'cpu' 改为 'auto',自动检测 MPS/CUDA/CPU
- AutoConfig 替换为 DebertaV2Config + 手动解析 config.json
(nvidia/prompt-task-and-complexity-classifier 的 config.json 无 model_type,
transformers 5.x 的 AutoConfig 会直接报错)
- MPS 设备自动转换 float16,修复 MPS 矩阵乘法数据类型冲突崩溃
(MPS NDArrayMatrixMultiplication 要求 dst/accumulator 同类型)
- 日志增加设备和精度信息输出
docker-compose.yml 变更:
- 端口映射改为 402:8000 (本地开发端口)
- volume 从 named volume 改为 ./data 本地目录映射
- API Key 改回环境变量引用 (密钥存 .env 文件,已在 .gitignore 中)
测试环境: Mac Mini M4 Pro / 64GB / macOS 15.3.1
运行方式: .venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 402
测试结果:
- MPS + FP16 分类器正常工作,稳态路由延迟 ~53ms
- NVIDIA 3-tier 路由决策正确 (simple/medium/complex)
- OpenAI 兼容 API 正常响应,DashScope Qwen 模型调用正常
|
2026-04-19 00:17:38 +08:00 |
|
|
|
4c439d2d7e
|
feat: 添加Docker部署配置
Dockerfile: 多阶段构建, CPU版PyTorch, 模型预加载
docker-compose: 健康检查, 数据卷持久化, 环境变量注入
requirements.lock.txt: 锁定依赖版本确保构建可复现
|
2026-04-18 09:32:58 +08:00 |
|
|
|
78bf3862ab
|
feat: 项目重命名为LLM Compass
LLM Compass - 智能LLM路由服务,为请求指引最优模型,兼顾质量与成本
|
2026-04-18 09:03:24 +08:00 |
|
|
|
b33d3c026c
|
chore: 移动X402竞品调研文档到docs目录
|
2026-04-18 08:57:44 +08:00 |
|
|
|
1705426eef
|
feat(api): 重写为OpenAI兼容API并支持流式SSE返回
- 请求/响应完全对齐OpenAI Chat Completions API格式
- 支持 stream=true SSE流式返回 (data: {...}\n\n + [DONE])
- 新增 /v1/models 接口 (OpenAI格式 object:list)
- 非流式响应扩展 routing 字段暴露路由决策细节
- OpenAI Python SDK可直接对接 (base_url=http://localhost:8000/v1)
- 版本升级至v0.4.0
|
2026-04-18 08:56:12 +08:00 |
|
|
|
1e273e3670
|
feat(stats): 完善调用记录详情并持久化到JSONL文件
- log_call保存完整request/routing/llm三层数据(含NVIDIA分类原始输出)
- 新增/stats/raw接口返回原始调用记录(支持分页)
- /stats摘要新增tier_distribution、task_type_distribution、avg_routing_ms
- 调用历史持久化到data/call_history.jsonl,重启自动恢复
- data/目录加入.gitignore
|
2026-04-18 01:58:33 +08:00 |
|
|
|
a247df34a5
|
fix(security): 移除.env.example中的真实API Key
将DashScope真实密钥替换为占位符,注意git历史中仍有泄露
|
2026-04-18 01:46:07 +08:00 |
|
|
|
5a322e93a0
|
docs(research): 更新调研报告至v2.0反映NVIDIA选型
- 调研报告从RouteLLM BERT切换为NVIDIA多头分类器作为推荐方案
- 新增选型变更记录、复杂度评分公式、测试结果
- 更新tx402技术对比表和演进路线
- nvidia_router.py添加use_safetensors=True兼容transformers 4.57
|
2026-04-18 01:45:07 +08:00 |
|
|
|
a370061a96
|
refactor: 移除RouteLLM BERT路由模块
已切换到NVIDIA多头分类器,不再需要bert_router.py
|
2026-04-18 01:22:46 +08:00 |
|
|
|
59c03516e4
|
feat(router): 集成NVIDIA多头分类器实现3-tier智能路由
- 新增nvidia_router.py: 手动加载NVIDIA prompt-task-and-complexity-classifier模型
- DeBERTa-v3-base backbone + 8个分类头(task_type/creativity/reasoning/domain等)
- 综合多维度评分实现simple/medium/complex三级路由
- 映射: simple->qwen-flash, medium->qwen-plus, complex->qwen-max
- main.py切换到NVIDIA路由替代RouteLLM BERT二分类
- 移除LiteLLM依赖解决版本冲突,使用原生httpx调用
- 版本升级至v0.3.0
|
2026-04-18 01:21:31 +08:00 |
|
|
|
f9cc7973b9
|
feat: integrate RouteLLM BERT router for intelligent query classification
- 添加 transformers 和 torch 依赖
- 创建 bert_router.py 封装 RouteLLM BERT 分类器
- 新增 select_model_by_bert() 函数替代 token 长度路由
- BERT 输出映射: strong->qwen-max, weak->qwen-flash
- 保留 token 长度路由作为 fallback
|
2026-04-18 00:12:51 +08:00 |
|
|
|
88842457ea
|
docs: add LLM router open source research report
新增开源 LLM 路由模型调研报告:
- RouteLLM BERT (推荐方案)
- Arch-Router 1.5B
- 方案对比和实施建议
- 与 tx402.ai 技术对比
- 快速集成代码示例
|
2026-04-17 23:59:18 +08:00 |
|
|
|
ba63394e22
|
feat: add Qwen (DashScope) support as default provider
- 添加 Qwen flash/plus/max 三个等级模型
- 设置 Qwen 为默认路由策略
- 配置 DashScope API 接口
- 更新 .env.example 包含 Qwen API Key
|
2026-04-17 23:47:06 +08:00 |
|
|
|
4259478a37
|
feat: integrate LiteLLM for multi-provider support
使用 LiteLLM 统一接口支持多 LLM 提供商:
- 支持 OpenAI, Anthropic, Gemini, Ollama 等 100+ 提供商
- 统一模型配置 (MODEL_CONFIG)
- 新增 /models 端点列出可用模型
- 统计增加提供商分布
- 简化代码,移除 OpenAI 客户端初始化
|
2026-04-17 23:42:31 +08:00 |
|
|
|
2380dd4617
|
feat: add python-dotenv support for local .env files
- 添加 python-dotenv 依赖
- 在 config.py 中加载 .env 文件
- 添加 .env.example 示例文件
|
2026-04-17 23:35:37 +08:00 |
|
|
|
4a8de8925e
|
feat: implement MVP LLM router service
实现基于 token 长度的简单规则路由服务:
- FastAPI 基础服务 (/v1/chat/completions)
- 根据 token 长度自动选择模型 (gpt-3.5/gpt-4o-mini/gpt-4o)
- 成本追踪和统计 (/stats)
- 健康检查端点 (/health)
- 总计 224 行代码
|
2026-04-17 23:33:43 +08:00 |
|
|
|
55506952c1
|
docs: add X402 ecosystem technical architecture research report
新增X402生态竞品技术架构深度调研文档,包含:
- tx402.ai、Claw402等头部竞品技术架构分析
- 学术理论与生产实现对比
- 7篇顶会论文技术映射
- 技术选型建议与实施路线
|
2026-04-17 23:24:55 +08:00 |
|