snaily
|
56f6f5e198
|
feat: 支持图像生成流式响应并优化配置
- 为 OpenAI 兼容路由的图像生成聊天添加流式支持。
- 重构 `gemini-2.0-flash-exp` 安全设置,使用常量统一管理。
- 更改图像生成默认响应格式为 `url`。
- 启用 `.env.example` 中的 `AUTH_TOKEN`。
- 清理部分代码注释。
|
2025-05-03 20:37:09 +08:00 |
|
snaily
|
9a7a1d7c2f
|
feat(日志): 添加数据库日志记录并增强API重试/错误处理
- 为 Gemini 聊天(流式/非流式)、OpenAI 图像聊天(流式/非流式)和 embedding 服务的 API 调用实现全面的数据库日志记录。日志包括请求详情、成功/失败状态、状态码、延迟和错误消息。
- 重构 Gemini 流式聊天服务 (`stream_generate_content`) 以整合使用 `KeyManager` 的重试逻辑,与非流式实现保持一致,包括失败时的 API 密钥切换。
- 增强重试处理器 (`RetryHandler`) 的日志记录,以提高密钥切换和失败场景下的清晰度。
- 确保 `api_key` 正确传递给 OpenAI 图像聊天完成。
- 改进 embedding 服务中的错误处理,区分 `APIStatusError` 和通用异常,并将错误记录到数据库。
- 为 embedding 服务日志添加请求负载截断。
- 修复 Gemini `_build_payload` 中使用正确的 `model` 变量获取 `THINKING_BUDGET_MAP` 的错误。
- 移除 `ImageCreateService` 中未使用的 `paid_key` 类变量。
|
2025-04-20 12:02:00 +08:00 |
|
snaily
|
0dd9dd5380
|
refactor(config): 将服务配置改为从 settings 获取
将 SecurityService, ModelService, EmbeddingService 的配置依赖从构造函数注入改为直接从 app.config.config.settings 获取。
这简化了服务类的实例化过程,并实现了配置的集中管理。
|
2025-04-12 21:35:38 +08:00 |
|
snaily
|
b3a057b6ba
|
refactor: 代码结构优化与常量化
将日志系统从 app/logger/ 移至 app/log/ 目录
将路由配置从 routers.py 重命名为 routes.py
将硬编码配置值移至 constants.py 中的默认常量
统一代码格式和导入排序
优化函数参数对齐方式
|
2025-03-20 21:59:18 +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 |
|