chat - 模型配置与请求选项
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();
}