LangChain4j从入门到精通-5-模型参数

【LangChain4j模型参数配置全攻略】本文详细解析了如何在LangChain4j中灵活调整OpenAI模型参数,包括temperature、maxTokens等核心参数的作用及配置方法。通过构建器模式快速配置模型,并重点介绍了在Quarkus和Spring Boot两大主流框架中的具体配置方案:Quarkus开发者可通过Dev UI实时调试参数并自动同步到代码,Spring Boot应用则支持properties文件配置。文末附开源项目链接和技术交流群二维码,助力开发者快速掌握模型调优技巧。

LangChain4j #OpenAI #SpringBoot #Quarkus

根据您选择的模型和提供商,您可以调整众多参数来定义:

  • 模型输出:生成内容(文本、图像)的创意性或确定性水平,生成内容的数量等。
  • 连接性:基础链接URL、授权密钥、超时设置、重试次数、日志记录等。

通常,你可以在模型提供商的网站上找到所有参数及其含义。 例如,OpenAI API的参数可以在https://platform.openai.com/docs/api-reference/chat(最新版本)找到,包括以下选项:

参数 描述 Type
modelName 要使用的模型名称(例如,gpt-4o、gpt-4o-mini等) String
temperature 采样温度应设置在0到2之间。较高的值(如0.8)会使输出更具随机性,而较低的值(如0.2)则会使输出更加集中和确定。 Double
maxTokens 聊天完成中可以生成的令牌的最大数量。 Integer
frequencyPenalty 介于-2.0到2.0之间的数值。正值会根据新词在现有文本中的出现频率进行惩罚,从而降低模型逐字重复相同内容的可能性。 Double
... ...

要查看OpenAI大型语言模型的完整参数列表,请访问OpenAI语言模型页面。各模型的具体参数及默认值详见对应的独立模型页面。
你可以通过两种方式创建 *Model:

  • 静态工厂方法:仅接收必要参数(如API密钥),其他必填参数均采用合理默认值。
  • 构造者模式:可逐一指定每个参数的值。

模型构建器

我们可以使用构建器模式设置模型的所有可用参数,如下所示:

OpenAiChatModel model = OpenAiChatModel.builder()
        .apiKey(System.getenv("OPENAI_API_KEY"))
        .modelName("gpt-4o-mini")
        .temperature(0.3)
        .timeout(ofSeconds(60))
        .logRequests(true)
        .logResponses(true)
        .build();

在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

有趣的是,为了调试、调整甚至只是了解所有可用参数, 可以查看Quarkus的开发界面(DEV UI)。
在这个仪表板中,您可以进行更改,这些更改会立即反映在运行中的实例上, 并且您的更改会自动同步到代码中。
要访问DEV UI,可以使用命令quarkus dev运行您的Quarkus应用程序, 然后可以在localhost:8080/q/dev-ui(或您部署应用程序的任何位置)找到它。

在这里插入图片描述

在Spring Boot中设置参数

如果您使用的是我们的 Spring Boot 启动器,您可以在 application.properties文件中按如下方式配置模型参数:

langchain4j.open-ai.chat-model.api-key=${OPENAI_API_KEY}
langchain4j.open-ai.chat-model.model-name=gpt-4-1106-preview
...

支持的完整属性列表可在以下位置找到
here.

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐