Model Parameters
# 模型参数
根据您选择的模型和提供方,您可以调整许多参数,这些参数将决定:
- 模型的输出:生成内容(文本、图像)的创造性或确定性水平、生成内容的体量等。
- 连接性:基本 URL、授权密钥、超时、重试次数、日志记录等。
通常,您可以在模型提供方的网站上找到所有参数及其含义。 例如,OpenAI API 的参数可以在 https://platform.openai.com/docs/api-reference/chat(最新版本)中找到,包含以下选项:
参数 | 描述 | 类型 |
---|---|---|
modelName | 要使用的模型名称(例如 gpt-4o、gpt-4o-mini 等)。 | String |
temperature | 使用的采样温度,范围为 0 到 2。较高的值(如 0.8)会使输出更随机,而较低的值(如 0.2)会使输出更专注且更具确定性。 | Double |
max_tokens | 在聊天完成中可以生成的最大 token 数量。 | Integer |
frequencyPenalty | -2.0 到 2.0 之间的值。正值会根据 token 在文本中的现有频率对新 token 进行惩罚,从而降低模型逐字重复相同行的可能性。 | Double |
... | ... | ... |
有关 OpenAI LLM 的完整参数列表,请参见 OpenAI 语言模型页面 (opens new window)。 每个模型的完整参数和默认值列表可在相应的模型页面(集成、语言模型和图像模型下)找到。
您可以通过两种方式创建 *Model
:
- 静态工厂方法:仅接受必要参数(如 API 密钥),所有其他必要参数均设置为合理的默认值。
- 构建器模式:可以为每个参数指定值。
# 静态工厂方法
OpenAiChatModel model = OpenAiChatModel.withApiKey("demo");
以 OpenAI 聊天模型为例,一些默认值如下:
参数 | 默认值 |
---|---|
modelName | gpt-3.5-turbo |
temperature | 0.7 |
timeout | 60s |
logRequests | false |
logResponses | false |
... | ... |
所有模型的默认值可以在各自提供商的页面(集成 (opens new window)下)找到。
# 构建器模式
我们可以使用构建器模式设置模型的每个可用参数,如下所示:
OpenAiChatModel model = OpenAiChatModel.builder()
.apiKey("demo")
.modelName("gpt-4")
.temperature(0.3)
.timeout(ofSeconds(60))
.logRequests(true)
.logResponses(true)
.build();
2
3
4
5
6
7
8
# 在 Quarkus 中设置参数
可以在 Quarkus 应用程序的 application.properties
文件中设置 LangChain4j 参数,如下所示:
quarkus.langchain4j.openai.api-key=${OPENAI_API_KEY}
quarkus.langchain4j.openai.chat-model.temperature=0.5
quarkus.langchain4j.openai.timeout=60s
2
3
有趣的是,为了调试、调整甚至仅仅了解所有可用参数,可以查看 Quarkus 的 DEV UI。 在此仪表板中,您可以进行更改,这些更改将立即反映在运行中的实例中,并会自动移植到代码中。 DEV UI 可通过运行命令 quarkus dev
启动 Quarkus 应用程序访问,随后可以在 localhost:8080/q/dev-ui(或您部署应用程序的位置)找到。
有关 Quarkus 集成的更多信息,请参见 此处。
# 在 Spring Boot 中设置参数
如果您正在使用我们的 Spring Boot starters (opens new window), 可以在 application.properties
文件中配置模型参数,如下所示:
langchain4j.open-ai.chat-model.api-key=${OPENAI_API_KEY}
langchain4j.open-ai.chat-model.model-name=gpt-4-1106-preview
...
2
3
支持的属性的完整列表可以在 此处 (opens new window)找到。
有关 Spring Boot 集成的更多信息,请参见 此处。