minecraft1024a
|
eb1feeeb0b
|
refactor(cache): 重构工具缓存机制并优化LLM请求重试逻辑
将工具缓存的实现从`ToolExecutor`的装饰器模式重构为直接集成。缓存逻辑被移出`cache_manager.py`并整合进`ToolExecutor.execute_tool_call`方法中,简化了代码结构并使其更易于维护。
主要变更:
- 从`cache_manager.py`中移除了`wrap_tool_executor`函数。
- 在`tool_use.py`中,`execute_tool_call`现在包含完整的缓存检查和设置逻辑。
- 调整了`llm_models/utils_model.py`中的LLM请求逻辑,为模型生成的空回复或截断响应增加了内部重试机制,增强了稳定性。
- 清理了项目中未使用的导入和过时的文档文件,以保持代码库的整洁。
|
2025-08-28 20:10:32 +08:00 |
|
minecraft1024a
|
1b86fff855
|
feat(llm):为LLM请求实现模型故障转移机制
重构了LLM请求执行逻辑,以引入一个健壮的模型故障转移和回退系统。这通过在当前模型失败时自动切换到下一个可用模型,增强了服务的可靠性。
- 引入 `_model_scheduler` 以按顺序迭代任务配置的模型列表。
- 当模型请求因API错误、认证问题或超时等原因失败时,系统现在会自动使用列表中的下一个模型重试该请求。
- 移除了先前针对空回复或截断响应的内部重试逻辑。这类响应现在被视为特定模型尝试的最终失败,不会触发故障转移。
|
2025-08-28 19:56:59 +08:00 |
|
Windpicker-owo
|
bbbb9df112
|
修复空回复检测,同时修复tool_call
|
2025-08-27 17:39:28 +08:00 |
|
minecraft1024a
|
51cb1688f8
|
chore(llm_models): 在 LLMRequest 初始化中定义 model_name 变量,來修复某些神秘的bug
|
2025-08-26 21:54:20 +08:00 |
|
minecraft1024a
|
c63de5ddd5
|
refactor(config): 将反截断设置移至模型配置 #真的能算refactor吗
反截断(anti-truncation)功能与特定模型的行为和能力更为相关,而不是任务本身的属性。
此更改将该设置从 `TaskConfig` 移动到 `ModelInfo`,以实现更合理的配置分组和更精细的控制。代码逻辑和配置文件模板也已相应更新。
BREAKING CHANGE: `anti_truncation` 配置项已从 `[model_task_config]` 部分移动到 `[[models]]` 下的具体模型配置中。用户需要更新其配置文件以适配新结构。
|
2025-08-26 20:45:04 +08:00 |
|
tt-P607
|
45ccab6033
|
fix(llm_models): 修复模型信息不存在时引发的属性错误
在处理模型信息 `model_info` 为 `None` 的情况下,直接访问 `model_info.name` 会导致 `AttributeError`。
此提交通过以下方式修复了该问题:
- 在 `_select_model` 调用后立即将 `model_info.name` 赋值给 `model_name` 变量,确保后续使用时该变量已定义。
- 在 `_handle_error` 方法中,当 `model_info` 可能为 `None` 时,增加了一个条件检查,如果 `model_info` 不存在,则将 `model_name` 设为 "unknown",从而避免了潜在的 `AttributeError`。
|
2025-08-26 12:01:39 +08:00 |
|
tt-P607
|
21aec70e92
|
我或许修好了反截断?但我无法验证,用gemini 2.5 pro生成日程截断太严重了,连完整的二十四小时都无法输出,gemini 2.5 Flash截断好很多,我试了5次生成的都是完整的,可能修好了?但有待验证,建议在待办上打个问号
|
2025-08-25 01:55:18 +08:00 |
|
雅诺狐
|
9c8fb929e1
|
Merge branch 'master' of https://github.com/MaiBot-Plus/MaiMbot-Pro-Max
|
2025-08-21 21:31:47 +08:00 |
|
雅诺狐
|
618561096d
|
feat: 模型请求降级
|
2025-08-21 21:31:42 +08:00 |
|
minecraft1024a
|
3c891f08e5
|
feat(config): 新增反截断功能防止模型输出截断
在任务配置中增加 anti_truncation 开关,支持在生成大段文本时防止被意外截断。启用后会在 prompt 中添加指示模型输出完成信令的指令,并在检测到未正常结束时触发自动重试机制。(我相信这次的一定不会炸飞你们了)
|
2025-08-21 20:29:37 +08:00 |
|
minecraft1024a
|
3bef6f4bab
|
fix(embedding): 彻底解决事件循环冲突导致的嵌入生成异常
通过以下改动修复嵌入生成过程中的事件循环相关问题:
- 在 EmbeddingStore._get_embedding 中,改为同步创建-使用-销毁的新事件循环模式,彻底避免嵌套事件循环问题
- 调整批量嵌入 _get_embeddings_batch_threaded,确保每个线程使用独立、短生命周期的事件循环
- 新增 force_new 参数,LLM 请求嵌入任务时强制创建新的客户端实例,减少跨循环对象复用
- 在 OpenAI 客户端的 embedding 调用处补充详细日志,方便排查网络连接异常
- get_embedding() 每次都重建 LLMRequest,降低实例在多个事件循环中穿梭的概率
此次改动虽然以同步风格“硬掰”异步接口,但对现有接口零破坏,确保了向量数据库及相关知识检索功能的稳定性。(还有就是把的脚本文件夹移回来了)
|
2025-08-19 20:41:00 +08:00 |
|
minecraft1024a
|
95bbcaff18
|
refactor(llm_models): 重构并发请求逻辑以提高代码复用性
将并发请求的通用逻辑提取到一个新的 `execute_concurrently` 辅助函数中。此举简化了 `LLMRequest.get_response` 方法,使其更易于阅读和维护。
现在,`get_response` 方法调用 `execute_concurrently` 来处理并发执行,而不是在方法内部直接管理任务创建和结果收集。同时,改进了单个请求失败时的异常处理和重试逻辑,使其在并发和非并发模式下都更加健壮。
Co-authored-by: 雅诺狐 <foxcyber907@users.noreply.github.com>
|
2025-08-17 12:12:12 +08:00 |
|
雅诺狐
|
7dfaf54c9c
|
llm统计记录模型反应时间
|
2025-08-16 14:26:18 +08:00 |
|
minecraft1024a
|
54565a405c
|
添加并发请求支持,更新LLMRequest类以允许根据配置的并发数量进行异步请求
|
2025-08-16 13:39:49 +08:00 |
|
minecraft1024a
|
602653c8c0
|
优化API调用超时提示信息,增加空回复重试逻辑(应该能用)
|
2025-08-13 17:56:32 +08:00 |
|
minecraft1024a
|
c0720a72cb
|
优化图片格式处理,统一将'jpg'格式转换为'jpeg',新增标准化和MIME类型转换功能,以确保API兼容性和提高代码可读性(最主要的还是为了gemini)
|
2025-08-13 13:20:15 +08:00 |
|
minecraft1024a
|
417f5647b5
|
feat:新增内容混淆功能:在API配置中添加混淆选项及强度设置;更新LLM请求处理逻辑以支持内容混淆,包含随机乱码注入和过滤规则指令(最主要的是防**google的审查)
|
2025-08-12 14:31:59 +08:00 |
|
雅诺狐
|
2d4745cd58
|
初始化
|
2025-08-11 19:34:18 +08:00 |
|