Vertex-AI-Step-Builder
|
912b027864
|
feat: add requirements, Dockerfile and docker-compose
|
2025-12-31 15:30:00 +00:00 |
|
Vertex-AI-Step-Builder
|
fa419ccac4
|
多后端支持文档
|
2025-12-31 15:22:40 +00:00 |
|
Vertex-AI-Step-Builder
|
cecfc74a96
|
优化提示词及没有工具调用闭合标签
|
2025-12-31 14:20:20 +00:00 |
|
Vertex-AI-Step-Builder
|
6bcdbc2560
|
docs: 更新 README 文档,详细说明新增功能
主要更新:
- 新增消息历史转换功能说明 (4.1)
- 更新响应解析器特性说明 (4.3)
- 添加关键特性说明章节 (8)
- 补充带消息历史的 API 请求示例 (7.2)
- 新增更新日志章节 (10)
- 完善测试脚本说明
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 13:35:45 +00:00 |
|
Vertex-AI-Step-Builder
|
5c2904e010
|
feat: 增强工具调用代理功能,支持多工具调用和消息历史转换
主要改进:
- 新增 convert_tool_calls_to_content 函数,将消息历史中的 tool_calls 转换为 LLM 可理解的 XML 格式
- 修复 response_parser 支持同时解析多个 tool_calls
- 优化响应解析逻辑,支持 content 和 tool_calls 同时存在
- 添加完整的测试覆盖,包括多工具调用、消息转换和混合响应
技术细节:
- services.py: 实现工具调用历史到 content 的转换
- response_parser.py: 使用非贪婪匹配支持多个 tool_calls 解析
- main.py: 集成消息转换功能,确保消息历史正确传递给 LLM
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 13:33:25 +00:00 |
|
Vertex-AI-Step-Builder
|
f7508d915b
|
feat: 优化 chat 接口并修复 function 消息处理
主要变更:
- 使用原生 Request 对象接收请求数据
- 先记录原始 client_request(完整 JSON)到数据库
- 然后解析为 IncomingRequest 对象进行验证
- 添加请求解析的错误处理
修复问题:
- ChatMessage 的 content 改为 Optional[str],支持空值
- 添加 name 字段支持 function 角色的工具名称
- 添加 tool_calls 字段支持 assistant 消息的工具调用
- 修复 function 类型消息 content 为空时报错的问题
优化改进:
- 保留完整的原始客户端请求
- 更好的数据完整性和可追溯性
- 代码清理:移除重复的 import 语句
测试验证:
- 多轮工具调用对话正常工作
- function 消息空 content 正常处理
- 所有单元测试通过 (20/20)
- 完全兼容 OpenAI API 消息格式
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 09:32:37 +00:00 |
|
Vertex-AI-Step-Builder
|
42548108ba
|
fix: 修复流式工具调用解析并更新标签格式
主要变更:
- 将工具调用标签从 {} 改为 <invoke></invoke>,避免与 JSON 括号冲突
- 修复流式请求未解析工具调用的问题,现在返回 OpenAI 格式的 tool_calls
- 从 SSE 响应中正确提取 content 并解析工具调用
- 更新提示词格式以使用新标签
- 更新所有相关测试用例
问题修复:
- 流式请求现在正确返回 OpenAI 格式的 tool_calls
- 标签冲突导致的解析失败问题已解决
- 所有单元测试通过 (20/20)
- API 完全兼容 OpenAI REST API tools 字段行为
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 09:20:08 +00:00 |
|
Vertex-AI-Step-Builder
|
3f9dbb5448
|
feat: 实现完整的 OpenAI 兼容工具调用代理功能
新增功能:
- 实现 ResponseParser 模块,支持解析 LLM 响应中的工具调用
- 支持双花括号格式的工具调用 {{...}}
- 工具调用智能解析,处理嵌套 JSON 结构
- 生成符合 OpenAI 规范的 tool_call ID
- 完善的数据库日志记录功能
核心特性:
- 低耦合高内聚的架构设计
- 完整的单元测试覆盖(23个测试全部通过)
- 100% 兼容 OpenAI REST API tools 字段行为
- 支持流式和非流式响应
- 支持 content + tool_calls 混合响应
技术实现:
- response_parser.py: 响应解析器模块
- services.py: 业务逻辑层(工具注入、响应处理)
- models.py: 数据模型定义
- main.py: API 端点和请求处理
- database.py: SQLite 数据库操作
测试覆盖:
- 工具调用解析(各种格式)
- 流式响应处理
- 原生 OpenAI 格式支持
- 边缘情况处理
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-31 08:46:11 +00:00 |
|
Vertex-AI-Step-Builder
|
0d14c98cf4
|
feat: Initial commit of LLM Tool Proxy
|
2025-12-31 06:35:08 +00:00 |
|