LLM API
LLM API模块提供与大语言模型交互的功能,让插件能够使用系统配置的LLM模型进行内容生成。
导入方式
python
from src.plugin_system.apis import llm_api
# 或者
from src.plugin_system import llm_api
主要功能
1. 查询可用模型
python
def get_available_models() -> Dict[str, TaskConfig]:
获取所有可用的模型配置。
Return:
Dict[str, TaskConfig]
:模型配置字典,key为模型名称,value为模型配置对象。
2. 使用模型生成内容
python
async def generate_with_model(
prompt: str,
model_config: TaskConfig,
request_type: str = "plugin.generate",
temperature: Optional[float] = None,
max_tokens: Optional[int] = None,
) -> Tuple[bool, str, str, str]:
使用指定模型生成内容。
Args:
prompt
:提示词。model_config
:模型配置对象(从get_available_models
获取)。request_type
:请求类型标识,默认为"plugin.generate"
。temperature
:生成内容的温度设置,影响输出的随机性。max_tokens
:生成内容的最大token数。
Return:
Tuple[bool, str, str, str]
:返回一个元组,包含(是否成功, 生成的内容, 推理过程, 模型名称)。
3. 有Tool情况下使用模型生成内容
python
async def generate_with_model_with_tools(
prompt: str,
model_config: TaskConfig,
tool_options: List[Dict[str, Any]] | None = None,
request_type: str = "plugin.generate",
temperature: Optional[float] = None,
max_tokens: Optional[int] = None,
) -> Tuple[bool, str, str, str, List[ToolCall] | None]:
使用指定模型生成内容,并支持工具调用。
Args:
prompt
:提示词。model_config
:模型配置对象(从get_available_models
获取)。tool_options
:工具选项列表,包含可用工具的配置,字典为每一个工具的定义,参见tool-components.md,可用tool_api.get_llm_available_tool_definitions()
获取并选择。request_type
:请求类型标识,默认为"plugin.generate"
。temperature
:生成内容的温度设置,影响输出的随机性。max_tokens
:生成内容的最大token数。