mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
* ✨ feat(llm): 增强LLM服务,支持图片生成、响应验证与OpenRouter集成 - 【新功能】统一图片生成与编辑API `create_image`,支持文生图、图生图及多图输入 - 【新功能】引入LLM响应验证机制,通过 `validation_policy` 和 `response_validator` 确保响应内容符合预期,例如强制返回图片 - 【新功能】适配OpenRouter API,扩展LLM服务提供商支持,并添加OpenRouter特定请求头 - 【重构】将日志净化逻辑重构至 `log_sanitizer` 模块,提供统一的净化入口,并应用于NoneBot消息、LLM请求/响应日志 - 【修复】优化Gemini适配器,正确解析图片生成响应中的Base64图片数据,并更新模型能力注册表 * ✨ feat(image): 优化图片生成响应并返回完整LLMResponse * ✨ feat(llm): 为 OpenAI 兼容请求体添加日志净化 * 🐛 fix(ui): 截断UI调试HTML日志中的长base64图片数据 --------- Co-authored-by: webjoin111 <455457521@qq.com>
98 lines
2.0 KiB
Python
98 lines
2.0 KiB
Python
"""
|
|
LLM 服务模块 - 公共 API 入口
|
|
|
|
提供统一的 AI 服务调用接口、核心类型定义和模型管理功能。
|
|
"""
|
|
|
|
from .api import (
|
|
chat,
|
|
code,
|
|
create_image,
|
|
embed,
|
|
generate,
|
|
generate_structured,
|
|
run_with_tools,
|
|
search,
|
|
)
|
|
from .config import (
|
|
CommonOverrides,
|
|
LLMGenerationConfig,
|
|
register_llm_configs,
|
|
)
|
|
|
|
register_llm_configs()
|
|
from .api import ModelName
|
|
from .manager import (
|
|
clear_model_cache,
|
|
get_cache_stats,
|
|
get_global_default_model_name,
|
|
get_model_instance,
|
|
list_available_models,
|
|
list_embedding_models,
|
|
list_model_identifiers,
|
|
set_global_default_model_name,
|
|
)
|
|
from .session import AI, AIConfig
|
|
from .tools import function_tool, tool_provider_manager
|
|
from .types import (
|
|
EmbeddingTaskType,
|
|
LLMContentPart,
|
|
LLMErrorCode,
|
|
LLMException,
|
|
LLMMessage,
|
|
LLMResponse,
|
|
ModelDetail,
|
|
ModelInfo,
|
|
ModelProvider,
|
|
ResponseFormat,
|
|
TaskType,
|
|
ToolCategory,
|
|
ToolMetadata,
|
|
UsageInfo,
|
|
)
|
|
from .utils import create_multimodal_message, message_to_unimessage, unimsg_to_llm_parts
|
|
|
|
__all__ = [
|
|
"AI",
|
|
"AIConfig",
|
|
"CommonOverrides",
|
|
"EmbeddingTaskType",
|
|
"LLMContentPart",
|
|
"LLMErrorCode",
|
|
"LLMException",
|
|
"LLMGenerationConfig",
|
|
"LLMMessage",
|
|
"LLMResponse",
|
|
"ModelDetail",
|
|
"ModelInfo",
|
|
"ModelName",
|
|
"ModelProvider",
|
|
"ResponseFormat",
|
|
"TaskType",
|
|
"ToolCategory",
|
|
"ToolMetadata",
|
|
"UsageInfo",
|
|
"chat",
|
|
"clear_model_cache",
|
|
"code",
|
|
"create_image",
|
|
"create_multimodal_message",
|
|
"embed",
|
|
"function_tool",
|
|
"generate",
|
|
"generate_structured",
|
|
"get_cache_stats",
|
|
"get_global_default_model_name",
|
|
"get_model_instance",
|
|
"list_available_models",
|
|
"list_embedding_models",
|
|
"list_model_identifiers",
|
|
"message_to_unimessage",
|
|
"register_llm_configs",
|
|
"run_with_tools",
|
|
"search",
|
|
"set_global_default_model_name",
|
|
"tool_provider_manager",
|
|
"unimsg_to_llm_parts",
|
|
]
|