Skip to main content
本指南介绍 AgentScope Java 支持的 LLM 模型及其配置方法。

支持的模型

注意
  • OpenAIChatModel 兼容 OpenAI API 规范,可用于 vLLM、DeepSeek 等提供商
  • GeminiChatModel 同时支持 Gemini API 和 Vertex AI

获取 API Key

ModelRegistry

ModelRegistryio.agentscope.core.model.ModelRegistry)用字符串 id得到 Model 实例,适合不想手写各厂商 *ChatModel.builder() 的场景。例如 Harness 场景下可使用 HarnessAgent.builder().model(String);任意需要 Model 的地方可先调用 ModelRegistry.resolve(...) 再传入 ReActAgent 等构建器。

API 一览

ModelFactory 为函数式接口:Model create(String modelId),参数为完整模型 id 字符串。

内置 id 格式与环境变量

在已配置对应环境变量的前提下,可使用下列 id 形式(适用于 resolve 以及 HarnessAgent.Builder.model(String) 等): 同一进程内,对相同工厂解析 id 多次时,返回的 Model 实例会被缓存复用;具名注册不走该缓存。

示例:具名注册(自定义配置后复用)

需要先精细配置(温度、超时等)时,用 Builder 构建一次,再注册成名字:

示例:内置前缀(默认连接参数)

示例:自定义工厂

DashScope

阿里云 LLM 平台,提供通义千问系列模型。

配置项

端点类型(endpointType)

DashScope 模型支持文本和多模态两种 API 端点。默认情况下,框架会根据模型名称自动识别应使用的端点类型(如 qwen-vl-* 以及 qwen3.5 系列自动使用多模态端点)。 当自动识别不准确时(例如使用自定义模型名称或兼容 API),可以手动指定端点类型:

思考模式

OpenAI

OpenAI 模型及兼容 API。

兼容 API

适用于 DeepSeek、vLLM 等兼容提供商。注意需要配置对应的 Formatter 和结构化输出能力:

配置项

Anthropic

Anthropic 的 Claude 系列模型。

配置项

Gemini

Google 的 Gemini 系列模型,支持 Gemini API 和 Vertex AI。

Gemini API

Vertex AI

配置项

如需覆盖请求端点,可使用 baseUrl(...)。更高级的传输层或代理配置,仍建议通过 httpOptions(...)clientOptions(...) 处理。

Ollama

自托管开源 LLM 平台,支持多种模型。

配置项

高级配置

高级模型加载和生成参数:

GenerateOptions 支持

Ollama 也支持 GenerateOptions 进行标准配置:

可用参数

Ollama 支持超过 40 个参数进行精细调整:

模型加载参数

  • numCtx: 上下文窗口大小(默认:2048)
  • numBatch: 提示处理的批处理大小(默认:512)
  • numGPU: 卸载到 GPU 的层数(-1 表示全部)
  • lowVRAM: 为有限 GPU 内存启用低显存模式
  • useMMap: 使用内存映射加载模型
  • useMLock: 锁定模型在内存中以防止交换

生成参数

  • temperature: 生成随机性(0.0-2.0)
  • topK: Top-K 采样(标准:40)
  • topP: 核采样(标准:0.9)
  • minP: 最小概率阈值(默认:0.0)
  • numPredict: 生成的最大 token 数(-1 表示无限)
  • repeatPenalty: 重复惩罚(默认:1.1)
  • presencePenalty: 基于 token 存在性的惩罚
  • frequencyPenalty: 基于 token 频率的惩罚
  • seed: 可重现结果的随机种子
  • stop: 立即停止生成的字符串

采样策略

  • mirostat: Mirostat 采样(0=禁用,1=Mirostat v1,2=Mirostat v2)
  • mirostatTau: Mirostat 目标熵(默认:5.0)
  • mirostatEta: Mirostat 学习率(默认:0.1)
  • tfsZ: 尾部自由采样(默认:1.0 禁用)
  • typicalP: 典型概率采样(默认:1.0)

生成选项

通过 GenerateOptions 配置生成参数:

参数说明

工具选择策略

扩展参数

支持传递提供商特有的参数:

超时和重试

Formatter

Formatter 负责将 AgentScope 的统一消息格式转换为各 LLM 提供商的 API 格式。每个提供商有两种 Formatter:

默认行为

不指定 Formatter 时,模型使用对应的 ChatFormatter,适用于单智能体场景。

多智能体场景

在多智能体协作(如 Pipeline、MsgHub)中,需要使用 MultiAgentFormatter。它会:
  • 将多个智能体的消息合并为对话历史
  • 使用 <history></history> 标签结构化历史消息
  • 区分当前智能体和其他智能体的发言

自定义历史提示

可以自定义对话历史的提示语:

何时使用 MultiAgentFormatter