Commit Graph

27 Commits

Author SHA1 Message Date
snaily
0be85e9536 feat(gemini_routes): 添加deepcopy导入
在gemini_routes.py中添加了Python标准库copy模块中的deepcopy函数导入,用于创建对象的深度副本,确保数据操作过程中不会意外修改原始对象。
2025-03-14 13:43:17 +08:00
Toddy
632dee38b3 check model before send request 2025-03-14 04:11:21 +00:00
Toddy
16c28bf1ba combine multiple system instructions into one 2025-03-14 02:55:29 +00:00
snaily
71af1db330 feat: 添加Gemini图像生成与处理功能
主要更新:

添加图像模型支持

新增MODEL_IMAGE配置项
在模型列表中添加gemini-2.0-flash-exp-image模型
修改ModelService以支持图像模型
增强图像处理能力

添加PicGoUploader类用于图像上传
实现图像响应处理逻辑(_extract_image_data)
支持base64图像数据的解码与上传
优化请求与响应处理

为图像模型添加特殊处理逻辑
修改API客户端以支持图像模型
更新GeminiRequest默认值
安全性调整

将TOOLS_CODE_EXECUTION_ENABLED默认设置为false
2025-03-14 00:27:23 +08:00
Yuzhong Zhang
48d58ef2e8 异步生成完成 2025-03-03 13:41:06 +08:00
yinpeng
d566c28fa2 feat(gemini): 添加 API 密钥验证功能
- 在 gemini_routes.py 中添加 verify_key 路由,用于验证 API 密钥的有效性
- 在 keys_status 页面中添加验证按钮和相关逻辑
- 优化 keys_status 页面的样式,增加密钥验证相关 CSS 类
- 在 config.py 中添加 TEST_MODEL 设置,用于密钥验证测试
2025-02-15 01:00:47 +08:00
yinpeng
b3851441f1 refactor: 优化 RetryHandler 装饰器以支持动态 KeyManager 注入 2025-02-12 17:10:02 +08:00
yinpeng
8c9b802016 feat: 添加Web验证页面并优化密钥管理功能 2025-02-11 20:45:49 +08:00
yinpeng
97b9b99235 feat: 根据模型类型选择不同的API密钥处理聊天请求 2025-02-11 04:20:28 +08:00
yinpeng
a74ac03836 feat: 添加图片生成功能及相关配置
- 添加图片生成相关配置和环境变量
- 新增图片上传服务和模型定义
- 扩展模型服务以支持图片生成模型
- 添加图片生成响应处理器
- 更新README文档以反映新功能
- 添加GitHub Actions发布工作流
2025-02-11 01:59:16 +08:00
yinpeng
cd45f4b5ab refactor: 重构Gemini和OpenAI聊天服务以支持工具和安全设置
- 将 `_build_payload`、`_build_tools`、`_get_safety_settings` 和 `_has_image_parts` 函数从 `OpenAIChatService` 和 `GeminiChatService` 类中提取为独立的函数。
- 将 `_handle_stream_response` 和 `_handle_normal_response` 函数从 `GeminiResponseHandler` 和 `OpenAIResponseHandler` 类中提取为独立的函数。
- 将 `_extract_text` 函数从 `OpenAIResponseHandler` 类中提取为独立的函数, 并在 `GeminiResponseHandler` 中复用。
- 将 `_convert_image` 函数从 `OpenAIMessageConverter` 类中提取为独立的函数。
- 优化 `OpenAIChatService` 和 `GeminiChatService` 中的代码结构, 使其更清晰。
- 优化 `app/api/openai_routes.py` 和 `app/api/gemini_routes.py` 中的路由函数, 移除不必要的参数。
2025-02-06 21:35:19 +08:00
yinpeng
9f9197f8c8 feat: 为v1beta API添加路由 2024-12-27 20:19:51 +08:00
yinpeng
870b1ecc17 feat: 添加重试机制和消息转换器,并支持Gemini v1beta API 2024-12-27 20:07:43 +08:00
yinpeng
a059c4d586 feat: 更新 Gemini 模型列表并优化思考过程展示 2024-12-25 16:04:09 +08:00
yinpeng
9578704cfd feat: 为API添加统一的鉴权token 2024-12-25 01:26:39 +08:00
yinpeng
33a5f9d89f fix: 修复 OpenAI 和 Gemini API 调用重试逻辑及日志记录 2024-12-21 02:27:59 +08:00
yinpeng
80bcaf5cd4 feat: 优化 Gemini 模型配置和请求参数 2024-12-21 00:42:08 +08:00
yinpeng
8dfe617468 feat: 将 Gemini API 调用迁移至 ChatService 并支持 API Key 验证 2024-12-18 21:35:49 +08:00
yinpeng
d9229cced9 feat: 支持 Gemini 格式请求,并优化日志和配置 2024-12-18 19:54:43 +08:00
yinpeng
16a2f64cd3 为每个API端点添加日志分隔符 2024-12-16 19:48:28 +08:00
yinpeng
ff72cd0b36 新增日志分隔符,优化chat_completion接口日志输出结构 2024-12-16 16:42:36 +08:00
yinpeng
56a069dbac 新增自定义日志模块,替换全局logging实现;优化日志输出格式与颜色支持 2024-12-16 16:20:53 +08:00
yinpeng
829c1b02ec 新增list_models接口的授权验证逻辑,完善模型格式转换结构 2024-12-15 21:09:11 +08:00
yinpeng
7c8baed1ff 移除list_models接口的授权验证逻辑,简化参数定义 2024-12-15 21:05:18 +08:00
yinpeng
bd9dbfb0e3 新增API密钥列表查询接口并优化Gemini安全设置 2024-12-15 17:17:09 +08:00
yinpeng
16c9bb2411 优化日志记录,添加请求详细信息输出 2024-12-15 14:24:24 +08:00
yinpeng
c56bea0b25 添加API密钥管理、模型服务和安全服务,并优化FastAPI应用程序配置 2024-12-15 11:08:35 +08:00