Spring AI默认gpt版本源码探究

Spring AI默认gpt版本源码探究

调试代码

  • 通过调试,可以看到默认mdel为gpt-3.5-turbo
    在这里插入图片描述

源码探究

  1. 进入OpenAiChatClient类查看具体的代码信息
    在这里插入图片描述
  2. 可以看到如下代码,在有参构造方法中可以看到,model默认使用OpenAiApi.DEFAULT_CHAT_MODEL
    public class OpenAiChatClient extends AbstractFunctionCallSupport<OpenAiApi.ChatCompletionMessage, OpenAiApi.ChatCompletionRequest, ResponseEntity<OpenAiApi.ChatCompletion>> implements ChatClient, StreamingChatClient {private static final Logger logger = LoggerFactory.getLogger(OpenAiChatClient.class);private OpenAiChatOptions defaultOptions;public final RetryTemplate retryTemplate;private final OpenAiApi openAiApi;public OpenAiChatClient(OpenAiApi openAiApi) {this(openAiApi, OpenAiChatOptions.builder().withModel(OpenAiApi.DEFAULT_CHAT_MODEL).withTemperature(0.7F).build());}
    }    
    

在这里插入图片描述

  1. 继续进入OpenAiApi类查看DEFAULT_CHAT_MODEL的具体信息,可以看到使用枚举类ChatModel为DEFAULT_CHAT_MODEL赋值
    在这里插入图片描述
  2. 点击查看ChatModel的具体内容,可以看到这里列举了常用的gpt版本
public enum ChatModel {/*** (New) GPT-4 Turbo - latest GPT-4 model intended to reduce cases* of “laziness” where the model doesn’t complete a task.* Returns a maximum of 4,096 output tokens.* Context window: 128k tokens*/GPT_4_0125_PREVIEW("gpt-4-0125-preview"),/*** Currently points to gpt-4-0125-preview - model featuring improved* instruction following, JSON mode, reproducible outputs,* parallel function calling, and more.* Returns a maximum of 4,096 output tokens* Context window: 128k tokens*/GPT_4_TURBO_PREVIEW("gpt-4-turbo-preview"),/*** GPT-4 with the ability to understand images, in addition* to all other GPT-4 Turbo capabilities. Currently points* to gpt-4-1106-vision-preview.* Returns a maximum of 4,096 output tokens* Context window: 128k tokens*/GPT_4_VISION_PREVIEW("gpt-4-vision-preview"),/*** Currently points to gpt-4-0613.* Snapshot of gpt-4 from June 13th 2023 with improved* function calling support.* Context window: 8k tokens*/GPT_4("gpt-4"),/*** Currently points to gpt-4-32k-0613.* Snapshot of gpt-4-32k from June 13th 2023 with improved* function calling support.* Context window: 32k tokens*/GPT_4_32K("gpt-4-32k"),/***Currently points to gpt-3.5-turbo-0125.* model with higher accuracy at responding in requested* formats and a fix for a bug which caused a text* encoding issue for non-English language function calls.* Returns a maximum of 4,096* Context window: 16k tokens*/GPT_3_5_TURBO("gpt-3.5-turbo"),/*** (new) The latest GPT-3.5 Turbo model with higher accuracy* at responding in requested formats and a fix for a bug* which caused a text encoding issue for non-English* language function calls.* Returns a maximum of 4,096* Context window: 16k tokens*/GPT_3_5_TURBO_0125("gpt-3.5-turbo-0125"),/*** GPT-3.5 Turbo model with improved instruction following,* JSON mode, reproducible outputs, parallel function calling,* and more. Returns a maximum of 4,096 output tokens.* Context window: 16k tokens.*/GPT_3_5_TURBO_1106("gpt-3.5-turbo-1106");public final String  value;ChatModel(String value) {this.value = value;}public String getValue() {return value;}}

model配置

  • 官方的OpenAiApi.ChatModel列举了常用gpt 版本,我们可以在配置model时直接使用,避免手动输入的错误
  • 当然application.yaml配置时还需要使用字符串定义
@RequestMapping("/ai/chat5")
public Object chatStream(@RequestParam(value = "msg") String msg){Flux<ChatResponse> flux = openAiChatClient.stream(new Prompt(msg,OpenAiChatOptions.builder().withModel(OpenAiApi.ChatModel.GPT_4_VISION_PREVIEW.getValue()) //gpt版本 "gpt-4-vision-preview".withTemperature(0.5F) //温度高,回答创新型越高;越低,越准确.withMaxTokens(4096) //显示最大token.build()));flux.toStream().forEach(chatResponse -> {System.out.print(chatResponse.getResult().getOutput().getContent());});return flux.collectList();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/698609.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【unity小技巧】减少Unity中的构建打包大小

文章目录 正常默认打包查看编辑器打包日志压缩图片压缩网格模型压缩贴图压缩音频文件只打64位包最终大小完结 正常默认打包 这里以安卓为例。先什么都不干&#xff0c;直接打包安卓apk&#xff0c;查看包大小 查看编辑器打包日志 搜索build report构建报告。构建报告我们应该…

压力给到 Google,OpenAI 发布 GPT-4o 来了

北京时间5月14日凌晨1点&#xff0c;OpenAI 开启了今年的第一次直播&#xff0c;根据官方消息&#xff0c;这次旨在演示 ChatGPT 和 GPT-4 的升级内容。在早些时候 Sam Altman 在 X 上已经明确&#xff0c;「我们一直在努力开发一些我们认为人们会喜欢的新东西&#xff0c;对我…

26版SPSS操作教程(高级教程第二十章)

目录 前言 粉丝及官方意见说明 第二十章一些学习笔记 第二十章一些操作方法 神经网络与支持向量机 人工神经网络&#xff08;artificial neural network&#xff0c;ANN&#xff09; 假设数据 具体操作 结果解释 对案例的进一步分析 结果解释 ​编辑 尝试将模型复…

如何让机器理解人类语言?Embedding技术详解

如何让机器理解人类语言&#xff1f;Embedding技术详解 文章目录 如何让机器理解人类语言&#xff1f;Embedding技术详解介绍什么是词嵌入&#xff1f;什么是句子嵌入&#xff1f;句子嵌入模型实现句子嵌入的方法值得尝试的句子嵌入模型 句子嵌入库实践Step 1Step 2Step 3 Doc2…

【其他学习参考文档记录】

交叉编译学习参考 nodejs 交叉编译-cliff工作室

ComfyUI相见恨晚的提示词插件,简直堪称神器!

之前我曾介绍过一款专为SD设计的中文提示词插件——prompt-all-in-one&#xff0c;想必使用过的小伙伴们都已经感受到了它的便捷与实用吧。 不过&#xff0c;那款插件是基于webUI版本的&#xff0c;而现在&#xff0c;越来越多的朋友开始探索ComfyUI这一新选择。 假如在Comfy…

【源码+文档+调试讲解】微信小程序家政项目小程序

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序家政项目小程序的开发全过程。通过分析微信小程序家政项目小程序管理的不足&#xff0c;创建了一个计算机管理微信小程序家政项目小程序的方案。文章介…

OpenAI GPT-4o - 介绍

本文翻译整理自&#xff1a; Hello GPT-4o https://openai.com/index/hello-gpt-4o/ 文章目录 一、关于 GPT-4o二、模型能力三、能力探索四、模型评估1、文本评价2、音频 ASR 性能3、音频翻译性能4、M3Exam 零样本结果5、视觉理解评估6、语言 tokenization 六、模型安全性和局限…

Vitis HLS 学习笔记--理解串流Stream(1)

目录 1. 介绍 2. 示例 2.1 代码解析 2.2 串流数据类型 2.3 综合报告 3. 总结 1. 介绍 在Vitis HLS中&#xff0c;hls::stream是一个用于在C/C中进行高级合成的关键数据结构。它类似于C标准库中的std::stream&#xff0c;但是专门设计用于硬件描述语言&#xff08;如Veri…

答辩PPT设计太耗时?aippt工具,AI一站式服务

这些网站我愿称之为制作答辩PPT的神&#xff01; 很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路&#xff0c;一窍不通。但这并不是你们的错&#xff0c;对于平时没接触过相关方面&#xff0c;第一次搞答辩PPT的人来说&#xff0c;这是很正常的一件事。一个好的答辩PPT…

用vue实现json模版编辑器

用vue实现json模版编辑器 控件区表单区配置项区 &#xff08;还没写&#xff09;业务逻辑 设想业务逻辑是拖拽控件生成表单 动手做了一个简单的demo 业务的原型图设想如下所示 其中使用的技术主要是vuedragger 控件区 做控件区的时候首先我们要有确定的配置项 其实也很简单 …

yarn 安装以及报错处理

前一种报错是由于没有安装yarn导致的&#xff0c;使用以下命令即可安装&#xff1a; npm install -g yarn 如果成功安装&#xff0c;将显示Yarn的版本号。 yarn --version 第二种报错是因为系统上的执行策略限制导致的。执行策略是一种安全功能&#xff0c;用于控制在计算机…