Solon v3.3.3

chat - 模型配置与请求选项

</> markdown

1、模型配置(ChatConfig)

ChatConfig,聊天模型配置

属性要求描述
apiUrl:String必须大语言模型接口地址(完整地址)
apiKey:String 接口令牌
provider:String 服务提供者(如ollama、dashscope、openai),默认为 openai
model:String必须大语言模型
headers:Map<String, String> 头信息(其它配置,都以头信息形式添加)
timeout:Duration 请求超时(默认:60s)
proxy:ProxyDesc 网络代理
defaultTools:Map 默认工具(每次请求,都会附上)

关于 model 配置:

  • 如果是 ollama ,运行什么模型即填什么(如: ollama run deepseek-r1:7b,则填:deepseek-r1:7b
  • 如果是其它服务平台,请按平台的接口说明填写

更多可参考:《模型实例的构建和简单调用》

2、请求选项(ChatOptions)

ChatOptions,聊天请求选项(不同模型,支持情况不同)

方法描述
tools():FunctionTool[]获取所有函数工具(内部构建请求时用)
tool(name):FunctionTool获取函数工具
toolsAdd(FunctionTool):self添加函数工具
options():Map<String, Object>获取所有选项(内部构建请求时用)
option(key):Object获取选项
optionAdd(key,val):self添加选项
max_tokens(val):self常用选项:最大提示语令牌数限制
max_completion_tokens(val):self常用选项:最大完成令牌数限制
temperature(val):self常用选项:temperature 采样
top_p(val):self常用选项:top_p 采样
top_k(val):self常用选项:top_k 采样
frequency_penalty(val):self常用选项:频率惩罚
presence_penalty(val):self常用选项:存在惩罚

示例:

public void test(ChatConfig config) {
    ChatModel chatModel = ChatModel.of(config).build(); //使用聊天配置
    
    chatModel.prompt("hello")
        .options(o->o.max_tokens(500)) //使用聊天选项
        .call();
}