snaily
6a59b4f847
feat: 更新许可证为 CC BY-NC 4.0 并补充相关说明
...
- README.md 中将原 MIT 许可证声明修改为 CC BY-NC 4.0(署名-非商业性使用),并在开头和结尾增加了相关说明,明确禁止任何形式的商业倒卖服务,详情见 LICENSE 文件。
- 新增 LICENSE 文件,补充项目完整的 CC BY-NC 4.0 许可证内容。
v2.0.6
2025-04-16 00:19:51 +08:00
snaily
d1ba2c4ae9
feat(config): 认证令牌输入框支持一键生成随机令牌
...
- 新增“生成随机令牌”按钮,优化认证令牌输入体验
- 支持自动生成并填充认证令牌,提升交互便捷性
2025-04-15 23:56:35 +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
742db744d1
feat(config_editor): 新增批量删除 API 密钥及令牌生成功能
...
- 实现 API 密钥的批量删除功能:
- 在配置编辑器中添加“删除密钥”按钮和批量删除模态框。
- 用户可以在模态框中粘贴密钥列表进行批量删除。
- JavaScript 逻辑负责提取、匹配并移除列表中的密钥。
- 为 ALLOWED_TOKENS 字段添加内联随机令牌生成按钮,方便快速生成。
- 优化配置编辑器中数组项(如 API Key, Allowed Token)的 UI 布局和样式。
2025-04-14 23:29:51 +08:00
snaily
12a84921c1
refactor: 更新贡献者展示方式并添加友情项目链接
2025-04-13 17:22:14 +08:00
snaily
73e98a185d
fix:修复gemini格式不能查询模型列表的问题
v2.0.5
2025-04-13 12:45:23 +08:00
snaily
73a7c81f85
feat(logs): 添加错误日志详情查看功能并优化列表显示
...
本次提交主要围绕错误日志模块进行了功能增强和优化:
- **后端 (`database/services.py`, `router/log_routes.py`):**
- 新增了根据日志 ID 获取单个错误日志完整详情(包括 `error_log` 和 `request_msg`)的数据库服务函数 (`get_error_log_details`) 和对应的 API 路由 (`/api/logs/errors/{log_id}/details`)。
- 修改了获取错误日志列表的 API (`/api/logs/errors`):
- 在返回数据中增加了 `error_code` 字段,以便前端展示。
- 优化了数据库查询,明确指定需要选择的列,提升性能。
- 将默认排序方式从按请求时间改为按日志 ID 降序排列,使最新的错误优先显示。
- 改进了未授权访问时的处理,返回标准的 401 HTTP 状态码。
- 更新了相关的 Pydantic 模型以匹配新的数据结构。
- **前端 (`static/js/error_logs.js`, `templates/error_logs.html`):**
- 在错误日志列表页面,将原先显示部分错误日志内容的列修改为显示 "错误码"。
- 实现了点击 "详情" 按钮时,通过异步请求新的详情 API 获取并展示完整的错误日志信息(包括详细错误日志和请求消息)的功能。
- 在详情模态框中添加了加载状态提示和获取数据失败时的错误处理逻辑。
v2.0.4
2025-04-13 04:36:34 +08:00
snaily
86dba93974
fix: 修复 error_logs.html 中的脚本路径错误
v2.0.3
2025-04-13 01:16:59 +08:00
snaily
439165bc6c
refactor: 移除 auth.js 并修复 error_logs.html 脚本路径
...
- 删除了不再使用的 `app/static/js/auth.js` 文件。
- 修正了 `app/templates/error_logs.html` 中 `error_logs.js` 的脚本引用路径,移除了 `url_for` 函数调用,直接使用静态路径。
v2.0.2
2025-04-13 01:08:42 +08:00
snaily
0dd9dd5380
refactor(config): 将服务配置改为从 settings 获取
...
将 SecurityService, ModelService, EmbeddingService 的配置依赖从构造函数注入改为直接从 app.config.config.settings 获取。
这简化了服务类的实例化过程,并实现了配置的集中管理。
v2.0.1
2025-04-12 21:35:38 +08:00
snaily
aea2f39952
feat: 更新文档、数据库配置和认证流程
...
- 重构 README.md,更新项目描述、结构、配置说明和 API 端点信息。
- 在 .env.example 中添加 MySQL 数据库配置项。
- 将数据库连接池回收时间从 1 小时减少到 30 分钟 (app/database/connection.py)。
- 修复认证成功后的重定向 URL,从 /keys 指向 /config (app/router/routes.py)。
- 微调认证页面的背景透明度 (app/templates/auth.html)。
- 添加 cryptography 依赖以支持 MySQL 8+ 认证 (requirements.txt)。
- 添加示例图片文件 (files/image*.png)。
v2.0.0
2025-04-12 01:44:32 +08:00
snaily
f7cfc8952f
feat(stats): 添加 API 调用详情查看功能
...
- 在 keys_status 页面添加了 API 调用统计卡片(1分钟/1小时/24小时)的可点击功能。
- 点击卡片会弹出一个模态框,显示对应时间段内的详细 API 调用记录,包括时间戳、部分 API 密钥、模型名称和调用状态(成功/失败)。
- 后端新增 `/api/stats/details` API 端点,用于根据请求的时间段('1m', '1h', '24h')从数据库查询并返回调用详情。
- 新增 `stats_service.get_api_call_details` 服务函数处理数据查询和格式化逻辑。
- 前端 `keys_status.js` 添加了 fetch 调用、模态框显示/隐藏以及数据渲染逻辑。
- 为 `keys_status` 页面添加了每 60 秒自动刷新的功能。
- 优化数据库连接配置,在 `create_engine` 中添加 `pool_pre_ping=True` 以提高连接可靠性。
2025-04-11 15:36:56 +08:00
snaily
7b4652c802
feat(monitoring): 添加 API 请求统计和监控面板
...
本次提交引入了 API 请求统计功能,并将原“密钥状态”页面重构为功能更全面的“监控面板”。
主要变更包括:
- **数据库与服务层:**
- 新增 `RequestLog` 数据模型 (`app/database/models.py`),用于存储 API 请求的详细信息(时间、模型、密钥、成功状态、状态码、耗时)。
- 在 `app/database/services.py` 中添加 `add_request_log` 和 `get_request_stats` 函数,分别用于记录单次请求和获取时间窗口内的统计数据。
- 新增 `app/service/stats_service.py`,封装了获取 API 调用统计逻辑。
- **API 请求日志记录:**
- 在 Gemini (`gemini_chat_service.py`) 和 OpenAI (`openai_chat_service.py`) 聊天服务中,于 API 调用前后添加了 `add_request_log` 调用,以记录请求的成功与否及耗时。
- **前端监控面板:**
- 将 `/keys` 路由对应的页面 (`keys_status.html`) 从“密钥状态”重构为“监控面板”。
- 页面顶部新增统计卡片区域,展示:
- 密钥统计:总数、有效数、无效数。
- API 调用统计:1分钟内、1小时内、24小时内、本月调用次数。
- 密钥列表(有效/无效)采用响应式网格布局 (`grid`),并增加了悬停动效和边框高亮。
- 优化了有效密钥列表的筛选逻辑,在无匹配项时显示提示信息。
- 为新的统计卡片和列表项添加了相应的 CSS 样式。
- 更新了 `keys_status.js` 以支持筛选无结果时的提示。
- **路由与导航:**
- 在 `app/router/routes.py` 中添加了 `/stats` 端点,用于获取 API 统计数据。
- 更新了 `config_editor.html` 和 `error_logs.html` 中的导航链接,使其指向新的“监控面板”。
- **日志配置:**
- 在 `app/log/logger.py` 中,为 `sqlalchemy.exc` 设置了 WARNING 日志级别。
这些更改旨在提供更好的系统可观测性,方便用户监控 API 密钥状态和请求频率。
2025-04-11 14:45:03 +08:00
snaily
51bb71bdb5
```git
...
feat: 添加密钥检查调度器并重构前端UI
主要变更:
- **调度器功能:**
- 集成 APScheduler 实现定时任务,用于定期检查API密钥的有效性。
- 在 `.env.example` 和 `app/config/config.py` 中添加了 `CHECK_INTERVAL_HOURS` 和 `TIMEZONE` 配置项。
- 在应用生命周期 (`app/core/application.py`) 中添加了调度器的启动和停止逻辑。
- 新增 `app/scheduler/` 目录及相关实现 (`key_checker.py`)。
- 新增 `app/router/scheduler_routes.py` 用于调度器相关API (如果未来需要)。
- 在 `requirements.txt` 中添加 `apscheduler` 依赖。
- **前端重构与改进:**
- 引入 `app/templates/base.html` 作为基础模板,统一页面结构和样式引入。
- 使用新的样式(推测为Tailwind CSS)重构了 `auth.html`, `config_editor.html`, `error_logs.html`, `keys_status.html` 页面,提升了UI一致性和响应式布局。
- 删除了旧的CSS文件 (`auth.css`, `config_editor.css`, `error_logs.css`, `keys_status.css`)。
- 更新了对应的 JavaScript 文件 (`config_editor.js`, `error_logs.js`, `keys_status.js`) 以适应新的HTML结构和交互。
- 在 `keys_status.html` 页面增加了按失败次数过滤密钥、批量重置失败次数、确认模态框等功能。
- 添加了新的 Logo 图片 (`logo.png`, `logo1.png`)。
- **其他:**
- 更新了 `app/router/routes.py` 以包含新的路由。
- 对 `app/service/key/key_manager.py` 和 `app/database/services.py` 进行了相关调整以支持新功能。
```
2025-04-11 03:16:51 +08:00
snaily
69261e98de
feat(error_logs): 添加错误日志搜索和日期过滤功能
...
- 在后端 (`services.py`, `log_routes.py`) 实现按 Gemini 密钥(模糊匹配)、错误类型/内容(模糊匹配)和日期范围(开始/结束日期)过滤错误日志的逻辑。
- 添加新函数 `get_error_logs_count` 以高效获取符合过滤条件的总日志数,用于分页。
- 更新 `/api/logs/errors` API 端点以接受 `key_search`, `error_search`, `start_date`, `end_date` 查询参数。端点现在返回包含过滤后日志和总数的对象。
- 增强前端 (`error_logs.html`, `error_logs.js`, `error_logs.css`):
- 添加用于密钥搜索、错误/日志搜索和日期范围选择的输入字段。
- 实现 JavaScript 逻辑以捕获搜索参数,使用过滤器触发 API 调用,并在新搜索时重置到第一页。
- 更新表格渲染以显示顺序行号而非数据库 ID。
- 在表格视图中遮罩 Gemini 密钥(显示前/后 4 个字符)以提高可读性,同时仍在详细信息模态框中显示完整密钥。
- 优化新搜索控件、表格外观(内边距、边框、悬停效果、斑马条纹)和按钮样式的 CSS,以提供更清晰的用户界面。
- 通过使用 `logger.exception` 包含堆栈跟踪来改进后端服务中的错误日志记录。
2025-04-10 19:16:06 +08:00
snaily
f05d67939f
feat: 实现API请求重试并改进UI/UX
...
主要变更:
1. **API 请求重试机制:**
* 在配置 (`.env.example`, `config.py`, `constants.py`) 中添加 `MAX_RETRIES` 设置,用于控制 API 请求失败后的最大重试次数 (默认为 3)。
* 更新 `RetryHandler` (`retry_handler.py`) 以使用此配置。
* 将 `RetryHandler` 应用于 Gemini 和 OpenAI 的内容生成路由 (`gemini_routes.py`, `openai_routes.py`),使其能够根据配置进行重试。
* 在配置编辑器页面 (`config_editor.html`) 添加 `MAX_RETRIES` 的输入字段。
2. **密钥状态页面 (Keys Status) UI/UX 改进:**
* 默认隐藏 API 密钥的完整内容,仅显示部分字符 (`keys_status.html`),提高安全性。
* 添加了切换按钮和相应的 JavaScript (`keys_status.js`) 及 CSS (`keys_status.css`),允许用户点击查看或隐藏完整的密钥。
* 更新了“复制密钥”功能 (`keys_status.js`),确保复制的是完整的密钥而非掩码后的部分。
3. **错误日志页面 (Error Logs) 重构与改进:**
* 重构了 HTML 结构 (`error_logs.html`),使用更一致和语义化的 class(如 `config-section`, `controls-container`, `styled-table`, `status-indicator`),并移除了 Bootstrap 依赖。
* 更新了 CSS (`error_logs.css`) 以匹配新的 HTML 结构,改进了页面布局和视觉样式。
* 改进了 JavaScript (`error_logs.js`),优化了加载、无数据、错误状态的显示逻辑,改进了分页功能,并添加了通用的通知显示函数 (`showNotification`)。
* 在错误日志表格和详情弹窗中添加了“错误类型”列/字段。
4. **其他:**
* 对聊天服务 (`gemini_chat_service.py`, `openai_chat_service.py`) 和密钥管理器 (`key_manager.py`) 进行了相关更新
2025-04-10 18:32:21 +08:00
snaily
d94d24f96c
feat(error_handling): 增强 API 错误处理和日志记录
...
- 扩展 ErrorLog 数据模型,增加 model_name, error_type, error_code 字段,以记录更详细的错误信息。
- 在 GeminiChatService 和 OpenAIChatService 中添加了 try-except 块,用于捕获 API 调用(包括普通和流式调用)时发生的异常。
- 实现从异常消息中通过正则表达式提取 HTTP 状态码的功能。
- 调用 add_error_log 服务将详细的错误信息(包括模型、错误类型、代码、请求体)持久化到数据库。
- 更新了 error_logs 前端页面,增加显示模型名称列及详情。
- 优化数据库连接池配置 (pool_recycle=3600),提高连接稳定性。
2025-04-10 15:40:02 +08:00
snaily
0f28173b0e
refactor(config): 移除不必要的配置重新加载函数并优化设置更新逻辑
2025-04-10 09:34:29 +08:00
snaily
af310ffb6b
refactor(router): Use dependency injection for chat services
...
Refactor GeminiChatService and OpenAIChatService instantiation
in gemini_routes.py and openai_routes.py respectively.
Utilize FastAPI's dependency injection (`Depends`) to manage
chat service instances per request, ensuring consistency and
adhering to FastAPI best practices. This removes manual
service creation within the route handlers.
2025-04-09 15:36:11 +08:00
snaily
169488851f
feat: 集成数据库配置管理并添加错误日志查看器
...
主要变更:
1. **数据库集成**:
* 引入 MySQL 数据库支持,使用 SQLAlchemy 和 `databases` 库持久化存储应用程序设置。
* 添加了 `app/database` 目录,包含数据库连接、模型和初始化逻辑。
* 更新 `requirements.txt` 添加数据库相关依赖 (`pymysql`, `sqlalchemy`, `aiomysql`, `databases`, `python-dotenv`)。
2. **配置管理重构**:
* 重构 `ConfigService` (`app/service/config/config_service.py`),使其从数据库加载和保存设置,并支持从 `.env` 文件同步初始配置到数据库。
* 修改 `Settings` 模型 (`app/config/config.py`) 以包含数据库连接信息,并添加了从数据库加载/同步配置的逻辑。
* 配置相关的路由 (`app/router/config_routes.py`) 更新为异步,并调用新的 `ConfigService` 方法。
* `KeyManager` (`app/service/key/key_manager.py`) 现在可以在配置更新后重置和重新初始化。
3. **错误日志查看器**:
* 新增 `/logs` 页面 (`app/templates/error_logs.html`) 用于展示应用程序错误日志。
* 添加了相应的路由 (`app/router/log_routes.py`)、静态资源 (`app/static/css/error_logs.css`, `app/static/js/error_logs.js`) 和日志记录器 (`app/log/logger.py`)。
* 在配置页面和密钥管理页面的导航栏中添加了指向日志页面的链接。
4. **异步操作**:
* 将配置服务和相关路由转换为异步 (`async def`) 以支持异步数据库操作。
5. **其他**:
* 更新了应用程序初始化逻辑 (`app/core/application.py`, `app/core/initialization.py`) 以包含数据库连接的建立和关闭。
2025-04-09 15:04:29 +08:00
snaily
a7dc05a359
feat(keys_status): 更新验证按钮样式
...
- 将背景渐变更改为绿色调。
- 更新悬停状态下的 box-shadow 以匹配新颜色。
- 移除了 active 状态的样式以简化。
2025-04-06 01:20:59 +08:00
snaily
d0cc48ad63
Refactor: 优化配置编辑器模态框样式与结构
...
- 调整模态框 CSS (`app/static/css/config_editor.css`):
- 将 `position` 改回 `fixed` 以确保其相对于视口定位。
- 移除 `overflow: auto`,因为模态框内容通常不需要滚动条。
- 移除 `backdrop-filter: blur(5px)` 以简化背景效果。
- 添加 `align-items: center` 和 `justify-content: center` 以在 flex 容器中更好地居中模态框。
- 调整模态框 HTML (`app/templates/config_editor.html`):
- 将 `apiKeyModal` 和 `resetConfirmModal` 两个模态框的 HTML 结构从主配置表单容器中移出,放置到 `</body>` 标签之前。这有助于改善 DOM 结构,并可能解决潜在的层叠或定位问题。
这些更改旨在改进配置编辑器页面上模态框的显示效果、定位方式和 DOM 结构。
2025-04-05 23:14:37 +08:00
snaily
5fc59a00d0
Merge branch 'main' of https://github.com/snailyp/gemini-balance
2025-04-05 21:54:02 +08:00
snaily
619f81cce4
feat: 添加Web配置编辑器界面
...
新增 `/config` 路由,提供一个可视化的配置编辑页面 (`config_editor.html`)。
用户现在可以通过网页界面管理:
- API 密钥(包括批量添加和重置确认)
- API 基础配置 (允许的令牌, 认证令牌, 基础URL, 最大失败次数, 超时)
- 模型相关配置 (测试模型, 图像/搜索/过滤模型列表, 代码执行/搜索链接/思考过程开关)
- 图像生成配置 (付费密钥, 模型, 上传提供商及相关密钥/URL)
- 流式输出优化器配置 (开关, 延迟, 阈值, 分块大小)
同时更新了 `/keys` 页面 (`keys_status.html`):
- 页面主标题更改为 "Gemini Balance"。
- 添加了顶部导航选项卡,方便在 "配置编辑" (`/config`) 和 "密钥管理" (`/keys`) 之间切换。
2025-04-05 21:52:58 +08:00
snaily
a6c162b223
Merge pull request #26 from toddyoe/main
2025-04-03 11:35:03 +08:00
Toddy
4c2f3ed9b0
typo: 解决TIME_OUT环境变量不生效的问题
2025-04-03 00:43:08 +00:00
snaily
ba38f14cd8
chore: 维护doc
2025-04-03 06:53:29 +08:00
snaily
47bf47d90e
chore: 维护doc
2025-04-03 06:50:41 +08:00
snaily
cc36ba4c9e
feat(config): 新增流式输出优化器开关配置
...
在环境变量示例文件(.env.example)和配置类(config.py)中新增 STREAM_OPTIMIZER_ENABLED 配置项,用于控制流式输出优化器的启用状态,默认设为 false
调整 Gemini 和 OpenAI 聊天服务的流式响应处理逻辑:
- 仅在流式优化器启用时(settings.STREAM_OPTIMIZER_ENABLED 为 true)
- 才会对文本内容执行流式输出优化处理
- 保持原有文本提取逻辑不变,仅增加配置条件判断
该变更使流式输出优化器变为可选功能,方便根据实际需求进行开关控制
v1.5.8
2025-04-03 04:47:06 +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
严浩
360bc9e48d
feat(ci): 更新Docker发布工作流
v1.5.7
2025-04-02 13:49:05 +08:00
snaily
c0a27d0542
Update README.md
2025-03-29 01:03:36 +08:00
snaily
84052a2179
feat(auth): 增强Gemini API的认证机制支持URL参数
...
- 将generate_content和stream_generate_content端点的认证依赖从verify_goog_api_key更改为verify_key_or_goog_api_key
- 使Gemini API同时支持URL参数中的key和请求头中的x-goog-api-key进行认证
- 提高API的灵活性,便于不同客户端集成
v1.5.6
2025-03-28 23:44:40 +08:00
snaily
2e7ecd88b5
feat: 增强Gemini API tools参数处理
...
- 修改GeminiRequest模型,使tools字段支持单个工具对象或工具对象列表
- 在gemini_chat_service中添加类型转换逻辑,确保tools始终以列表形式处理
- 提高API的灵活性和兼容性
v1.5.5
2025-03-28 20:50:01 +08:00
snaily
0b1f3dfc04
feat(auth): 支持x-goog-api-key请求头认证
...
- 添加verify_key_or_goog_api_key方法,支持同时验证URL参数中的key和请求头中的x-goog-api-key
- 更新models接口使用新的认证方法,提高与Google API客户端的兼容性
v1.5.4
2025-03-28 19:27:42 +08:00
snaily
c691c7c1cf
fix:当没有可用工具时返回空列表而非包含空字典的列表
...
在_build_tools函数中,当没有工具配置可用时(即tool为空字典),现在会返回空列表[]而不是[{}]。这个防御性编程修复可以避免向Gemini API发送无效的工具配置,防止可能的API调用错误。
v1.5.3
2025-03-25 15:18:27 +08:00
snaily
97db7eebf1
chore:修改图片处理逻辑,统一使用base64编码
...
将_convert_image函数中对非data:image格式URL的处理方式从直接返回URL改为转换为base64编码的内联数据。这样无论图片是以data URI形式还是URL形式提供,都会统一转换为base64编码,确保与API交互时图片数据格式的一致性。
v1.5.2
2025-03-25 13:23:17 +08:00
snaily
60dca70fcd
fix: 改进图片显示和移除调试输出
...
优化图片链接格式,在图片前后添加空行以改善显示效果
注释掉OpenAI聊天服务中的调试打印语句
v1.5.1
2025-03-22 03:38:45 +08:00
snaily
89b9f7919a
feat: 添加对OpenAI工具调用功能的支持
...
改进消息转换器以处理OpenAI的tool_calls格式
添加JSON解析以正确转换函数调用参数
优化消息处理逻辑,增加更多空值检查
在流式响应中添加工具调用检测和处理
根据工具调用状态设置适当的finish_reason
2025-03-22 02:48:25 +08:00
Toddy
a8dc98ab6a
fix tool use with function calling is unsupported error
2025-03-21 05:04:53 +00: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提供通用工具函数
优化配置管理,使用环境变量和默认值
完善文档字符串,提高代码可读性
v1.5.0
2025-03-20 17:13:03 +08:00
snaily
8ca62707ea
feat: 添加搜索模型配置并改进Markdown链接处理
...
在Dockerfile中添加SEARCH_MODELS环境变量,支持gemini-2.0-flash-exp和gemini-2.0-pro-exp模型
改进message_converter中的图片链接正则表达式
v1.4.9
2025-03-19 19:56:50 +08:00
Toddy
21444ed6c7
chore: 统一从model_service读取模型列表
2025-03-18 18:05:00 +00:00
Toddy
ba292dbedd
chore: 规范变量名
2025-03-18 17:54:18 +00:00
snaily
6ba58ce9d1
fix: 重构图片MIME类型转换逻辑
...
将"image/jpg"到"image/jpeg"的MIME类型转换逻辑从_convert_image函数移至_get_mime_type_and_data函数,避免代码重复并提高一致性。这确保了MIME类型的标准化处理发生在数据提取的同一位置。
v1.4.8
2025-03-18 21:50:27 +08:00
snaily
16f16a3ae9
Merge branch 'pr/yangtb2024/13'
2025-03-18 21:46:34 +08:00
snaily
26dcb64687
fix: 将image/jpg MIME类型转换为标准的image/jpeg
...
修复了图像转换过程中的MIME类型处理,确保当遇到非标准的"image/jpg"类型时,将其转换为标准的"image/jpeg"类型。这样可以提高与接收图像数据的API和系统的兼容性
2025-03-18 21:35:19 +08:00
yangtb2024
df88492113
将chat-bison-001、text-bison-001和embedding-gecko-001添加到FILTERED_MODELS列表
2025-03-18 15:21:29 +08:00
yangtb2024
851bb9c09b
将 filtered_models 从硬编码改为可配置参数
...
1. 在 config.py 中添加 FILTERED_MODELS 配置项
2. 在 .env.example 中添加 FILTERED_MODELS 示例
3. 修改 model_service.py 以使用配置的过滤模型列表
4. 优化模型过滤逻辑
2025-03-18 14:47:58 +08:00