|
|
d7155e98c3
|
fix: 修正 Swagger UI 中 max_tokens 默认值从 1 改为 2048
问题: max_tokens 设置了 ge=1 约束,导致 Swagger UI 自动生成默认值 1,
响应内容被严重截断
修复:
- 移除 ge=1 约束,允许 null 值
- example 改为 2048,符合常规使用场景
- 描述更新为'留空时使用模型默认值'
效果: Swagger UI 测试时 max_tokens 默认显示 2048,可返回完整响应
|
2026-04-19 01:00:41 +08:00 |
|
|
|
508118cc50
|
fix: 修复 max_tokens 为 0 或 None 时响应内容被截断的问题
问题: Swagger UI 测试时 max_tokens 默认值为 0,导致 DashScope API
返回的响应内容只有 1 个 token(被截断)
修复:
- 非流式和流式响应中,当 max_tokens 为 None 或 ≤0 时不传给后端 API
- 让 DashScope 使用自己的默认 max_tokens 值(通常 2048/4096)
- 使用 completion_kwargs 字典动态构建请求参数
效果:
- Swagger UI 中 max_tokens 留空或设为 0 都能返回完整响应
- 需要限制输出时可手动设置合理的 max_tokens 值
|
2026-04-19 00:58:51 +08:00 |
|
|
|
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 |
|
|
|
78bf3862ab
|
feat: 项目重命名为LLM Compass
LLM Compass - 智能LLM路由服务,为请求指引最优模型,兼顾质量与成本
|
2026-04-18 09:03:24 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|