snaily
b52092a72b
Merge pull request #300 from zenyanbo/main
2025-08-16 01:06:18 +08:00
zenyanbo
f58ae2b340
feat: add support for the n parameter in OpenAI-compatible requests. Now, when you make a request to the /v1/chat/completions endpoint with the n parameter, it will be correctly mapped to candidateCount in the Gemini API request, allowing you to receive multiple completions.
2025-08-11 17:39:18 +08:00
cxyfer
b89d3ea144
feat: Add Gemini API embeddings compatibility with embedContent and batchEmbedContents methods
2025-07-30 02:28:53 +08:00
snaily
23f865be07
Merge branch 'pr/cxyfer/200'
2025-07-17 21:30:35 +08:00
zzh
a6aecb5d89
添加对gemini原生格式TTS的支持
2025-07-15 18:04:16 +09:00
cxyfer
5eb2dfd822
feat: Add Files API support with upload, list, get and delete operations
...
- Implement complete Files API compatible with Gemini API format
- Support resumable file uploads with chunked transfer (tested with 15MB video)
- Create file management service with database tracking
- Add file domain models and API request/response objects
- Implement file routes with proper authentication
- Use fixed API key for Files API requests (due to Google API restrictions)
- Support file state management (PROCESSING, ACTIVE, FAILED)
- Add scheduled task for automatic expired file cleanup
- Integrate seamlessly with existing key management and load balancing
2025-07-12 03:33:39 +08:00
snaily
f38b5ae870
feat: 添加TTS相关配置和功能
...
- 在.env.example中添加TTS模型、语音名称和语速的配置选项
- 更新README文件,增加TTS相关配置的说明
- 在配置类中添加TTS相关设置
- 新增TTS请求模型以支持文本转语音功能
- 更新智能路由中间件以支持音频请求
- 在路由中添加处理TTS请求的API接口
- 更新前端配置编辑器以支持TTS配置选项
2025-07-05 00:47:55 +08:00
jesonliao
09bfa85e69
fix: 修复api中对role的校验
...
官方给的demo是不传role的
2025-07-03 23:08:31 +08:00
Wangnov
df8d543539
删除ruff导致的格式化换行
2025-06-30 17:52:10 +08:00
Wangnov
5ecce8e0fe
fix: 使用Union替代类型注解中的管道符号,使python3.9版本不报错
2025-06-30 17:37:02 +08:00
coulsontl
484e5cdc42
feat: 添加环境变量加载和思考配置处理
2025-05-24 09:26:20 +08:00
snaily
56f6f5e198
feat: 支持图像生成流式响应并优化配置
...
- 为 OpenAI 兼容路由的图像生成聊天添加流式支持。
- 重构 `gemini-2.0-flash-exp` 安全设置,使用常量统一管理。
- 更改图像生成默认响应格式为 `url`。
- 启用 `.env.example` 中的 `AUTH_TOKEN`。
- 清理部分代码注释。
2025-05-03 20:37:09 +08:00
snaily
83ce50975a
feat: 实现 OpenAI 兼容 API 端点和批量代理删除
...
新增与 OpenAI 规范兼容的 API 端点:
- `/openai/v1/models`
- `/openai/v1/chat/completions` (支持流式传输、重试和密钥切换)
- `/openai/v1/embeddings`
- `/openai/v1/images/generations`
包含:
- 在 `app/router/openai_compatiable_routes.py` 中新增路由。
- `OpenAICompatiableService` 用于处理请求逻辑、日志记录和错误管理。
- 更新 `OpenaiApiClient` 以支持新方法和代理使用。
- 修改 `app/domain/openai_models.py` 以实现兼容性。
- 为新 API 添加专用日志记录器 (`openai_compatible`)。
- 为新路由 (`/openai`, `/api/version/check`) 添加认证中间件豁免。
增强配置编辑器 UI:
- 在 `app/static/js/config_editor.js` 和 `app/templates/config_editor.html` 中添加批量代理删除功能。
2025-04-30 20:39:47 +08:00
snaily
ab31f4bb98
fix: 修正字段别名以保持一致性,调整 safetySettings、generationConfig 和 systemInstruction 的命名风格
2025-04-23 01:48:20 +08:00
snaily
fea3af4692
refactor: 优化代码格式,增强可读性;调整类型注解和字段命名风格
2025-04-23 01:33:47 +08:00
snaily
defabf4355
fix: 更新 SystemInstruction 的 parts 类型为支持 List 和单个字典;更新 base.html 添加支持作者的链接和警告信息
2025-04-22 13:04:32 +08:00
snaily
0693a5c245
feat(keys_status): 支持批量验证密钥与选定密钥失败计数重置,增强自动刷新
...
- 后端新增 ResetSelectedKeysRequest、VerifySelectedKeysRequest 数据模型及相关 API 路由,实现批量重置选定密钥失败计数功能
- 前端 keys_status.js/keys_status.html 新增批量验证按钮、批量验证弹窗及交互逻辑,支持对筛选后密钥进行批量验证
- 自动刷新功能支持开关,优化用户体验
- UI 细节优化,提升密钥管理便捷性
2025-04-15 23:15:29 +08:00
snaily
baf643e884
feat: 新增请求超时配置及优化模型列表接口api_key获取方式
...
1. 新增功能:
- 在`.env.example`中添加`TIME_OUT=300`配置项(包含中文注释)
- 在`Settings`类中增加`TIME_OUT`字段(读取自`DEFAULT_TIMEOUT`)
2. 优化内容:
- 生成配置:
* 为`GenerationConfig`设置默认温度/TOP_P/TOP_K值
* 移除`maxOutputTokens`默认值,改为可选传递
- OpenAI请求:
* 移除`max_tokens`默认值
* 只有当`max_tokens`有值时才添加到请求payload
- 日志优化:
* 注释掉`stream_optimizer.py`中部分调试日志
3. 模型列表接口api_key获取方式
2025-04-03 03:12:59 +08:00
snaily
2e7ecd88b5
feat: 增强Gemini API tools参数处理
...
- 修改GeminiRequest模型,使tools字段支持单个工具对象或工具对象列表
- 在gemini_chat_service中添加类型转换逻辑,确保tools始终以列表形式处理
- 提高API的灵活性和兼容性
2025-03-28 20:50:01 +08:00
snaily
b14bb93d8f
refactor: 项目结构优化与FastAPI生命周期更新
...
重构项目目录结构,提高代码组织性和可维护性
将schemas目录重命名为domain,更好地表达领域模型概念
将services目录细分为service/chat、service/image等子目录
将api目录重命名为router,更符合FastAPI惯例
创建utils目录存放通用工具函数
更新FastAPI应用程序生命周期管理
替换已弃用的on_event方法为推荐的lifespan事件处理器
添加应用程序关闭时的日志记录
代码质量改进
抽取常量到constants.py,减少硬编码值
添加helpers.py提供通用工具函数
优化配置管理,使用环境变量和默认值
完善文档字符串,提高代码可读性
2025-03-20 17:13:03 +08:00