Yang's blog Yang's blog
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

xiaoyang

编程爱好者
首页
Java
密码学
机器学习
命令手册
关于
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • SpringCloud

    • 微服务架构介绍
    • SpringCloud介绍
    • Spring Cloud:生产者与消费者
    • Spring Cloud Eureka:构建可靠的服务注册与发现
    • Spring Cloud Ribbon:负载均衡
    • Spring Cloud Fegin:服务调用
    • Spring Cloud Hystrix:熔断器
    • Spring Cloud Zuul:统一网关路由
    • Spring Cloud Config:配置中心
  • Java后端框架

    • LangChain4j

      • 介绍
      • 快速开始
      • Chat and Language Models
      • Chat Memory
      • Model Parameters
        • 静态工厂方法
        • 构建器模式
        • 在 Quarkus 中设置参数
        • 在 Spring Boot 中设置参数
      • Response Streaming
      • AI Services
      • Agent
      • Tools (Function Calling)
      • RAG
      • Structured Outputs
      • Classification
      • Embedding (Vector) Stores
      • Image Models
      • Quarkus Integration
      • Spring Boot Integration
      • Kotlin Support
      • Logging
      • Observability
      • Testing and Evaluation
      • Model Context Protocol
  • 八股文

    • 操作系统
    • JVM介绍
    • Java多线程
    • Java集合框架
    • Java反射
    • JavaIO
    • Mybatis介绍
    • Spring介绍
    • SpringBoot介绍
    • Mysql
    • Redis
    • 数据结构
    • 云计算
    • 设计模式
    • 计算机网络
    • 锁核心类AQS
    • Nginx
  • 前端技术

    • 初识Vue3
    • Vue3数据双向绑定
    • Vue3生命周期
    • Vue-Router 组件
    • Pinia 集中式状态存储
  • 中间件

    • RocketMQ
  • 开发知识

    • 请求参数注解
    • 时间复杂度和空间复杂度
    • JSON序列化与反序列化
    • Timestamp vs Datetime
    • Java开发中必备能力单元测试
    • 正向代理和反向代理
    • 什么是VPN
    • 正则表达式
  • Java
  • Java后端框架
  • LangChain4j
xiaoyang
2025-01-14
目录

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");
1

以 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();
1
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
1
2
3

有趣的是,为了调试、调整甚至仅仅了解所有可用参数,可以查看 Quarkus 的 DEV UI。 在此仪表板中,您可以进行更改,这些更改将立即反映在运行中的实例中,并会自动移植到代码中。 DEV UI 可通过运行命令 quarkus dev 启动 Quarkus 应用程序访问,随后可以在 localhost:8080/q/dev-ui(或您部署应用程序的位置)找到。

image-20250114171348242 (opens new window)

有关 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
...
1
2
3

支持的属性的完整列表可以在 此处 (opens new window)找到。

有关 Spring Boot 集成的更多信息,请参见 此处。

编辑 (opens new window)
上次更新: 2025/04/01, 01:48:12

← Chat Memory Response Streaming→

最近更新
01
操作系统
03-18
02
Nginx
03-17
03
后端服务端主动推送消息的常见方式
03-11
更多文章>
Theme by Vdoing | Copyright © 2023-2025 xiaoyang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式