Spring AI默认gpt版本源码探究

news2024/9/23 17:12:16

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.coloradmin.cn/o/1678243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离子风机:静电防护的得力助手

在现代工业生产中&#xff0c;静电问题一直是困扰许多企业的难题。尤其是在电子生产线、维修台等敏感区域&#xff0c;静电的存在可能对产品质量造成严重影响&#xff0c;甚至导致设备损坏。为了解决这一问题&#xff0c;离子风机作为静电防护的得力助手&#xff0c;正逐渐受到…

制造企业数据管理:从数据到价值的转化

在数字化浪潮席卷全球的今天&#xff0c;制造企业面临着前所未有的机遇与挑战。如何从海量的数据中提取有价值的信息&#xff0c;将其转化为企业的核心竞争力&#xff0c;成为了每一个制造企业必须面对的问题。而数据管理&#xff0c;正是实现这一转化的关键所在。制造企业数据…

第01章 互联网的概述(发展历史+接入方法+应用)

1.1 本章目标 了解互联网发展的历史熟悉互联网的接入方式了解互联网的典型应用 1.2 互联网发展的历史(产生过程、发展过程) 1.2.1 互联网的起源与发展 1.2.2 互联网在中国的发展 1.3 互联网的接入

【虚拟仿真】Unity3D中实现对大疆无人机遥控器手柄按键响应

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近项目中需要用到大疆无人机遥控器对程序中无人机进行控制,遥控器是下图这一款: 博主发…

Django创建网站的地基

相关文档 1、为新网站创建一个文件夹&#xff08;这里是&#xff1a;locallibrary&#xff09; D:\django>mkdir locallibraryD:\django>cd locallibraryD:\django\locallibrary>dirVolume in drive D is 新加卷Volume Serial Number is B68C-03F7Directory of D:\dj…

网工路由基础——动态路由协议(RIP)

一、动态路由协议的分类 1.按工作区域分类&#xff1a; 动态路由协议按用途分类可以分为内部网关协议&#xff08;IGP&#xff09;和外部网关协议&#xff08;EGP&#xff09;。一个Internet网可以被分成多个域或多个自治系统&#xff0c;各自治系统通过一个核心路由器…

深入学习Linux内核之v4l2应用编程(二)

一&#xff0c;用户空间访问v4l2设备步骤 V4L2&#xff08;Video for Linux 2&#xff09;是Linux中关于视频设备的内核驱动&#xff0c;它使得Linux系统能够支持视频设备&#xff0c;如摄像头。对于Camera V4L2的应用编程&#xff0c;一般遵循以下步骤&#xff1a; 1&#x…

PADS:生成自交叉平面区域

根据板外形铺铜方法&#xff1a; pads根据板外形铺铜_铺铜如何根据板子形状改变-CSDN博客 根据板外形创建平面区域出现问题&#xff1a; 解决方法&#xff1a;去找结构&#xff0c;让他把出图之前把线合并了

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆为高端酒店设施增添了现代化、环保的运动场所。这座网球馆不仅为酒店住客提供了一个全天候、舒适的运动空间&#xff0c;也为虹桥地区的居民带来了全新的健身体验。作为轻空间&#xff08;江苏&#xff09;膜科技有限公司&#xff08;以…

潮玩与游戏的结合点——潮玩宇宙App与链游

本文主要介绍了潮玩宇宙App的开发过程及其链游的开发&#xff0c;探讨了潮玩与游戏的结合点&#xff0c;分析了其市场前景和潜在风险&#xff0c;并提出了相应的建议。 一、潮玩宇宙App的开发背景 随着互联网的普及和人们对娱乐方式的多样化需求&#xff0c;潮玩市场逐渐崛起…

2024 年 4 月公链研报:比特币减半、市场回调以及关键进展

作者&#xff1a;stellafootprint.network 数据来源&#xff1a;Footprint Analytics 公链研究页面 四月&#xff0c;加密市场在经济环境变化中取得了重要进展。4 月 20 日的比特币完成减半&#xff0c;但市场整体低迷导致比特币及前 25 大公链加密货币价格下跌。与此同时&am…

Git系列:git log 掌握版本控制的精髓

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Unity WebGL全屏显示

一、删除footer节点 二、删除最下面点击事件绑定 修改Canvas宽高 canvas.style.width "960px"; canvas.style.height "600px"; 改成 canvas.style.width document.documentElement.clientWidth"px"; canvas.style.height document.document…

WebRTC 的核心:RTCPeerConnection

WebRTC 的核心&#xff1a;RTCPeerConnection WebRTC 的核心&#xff1a;RTCPeerConnection创建 RTCPeerConnection 对象RTCPeerConnection 与本地音视频数据绑定媒体协商ICE什么是 Candidate&#xff1f;收集 Candidate交换 Candidate尝试连接 SDP 与 Candidate 消息的互换远端…

python中cv2,等等如何修改为中文字体显示,这里以人脸表情识别中文标签为例

中文字体显示 首先下载字体包部署字体包代码实现部分 想必大家在使用python过程中都会遇到&#xff0c;想要显示中文的时候&#xff0c;但是py基本上都是英文字体&#xff0c;下面我将给大家提供一个比较好的解决方案&#xff1a; 首先下载字体包 方法&#xff1a; 我使用的是…

NGINX SPRING HTTPS证书

服务器&#xff1a;xxx.xxx.xxx.56 客户端器&#xff1a;xxx.xxx.xxx.94##生成服务器证书和密钥容器 keytool -genkey -alias tas-server -keypass 250250 -keyalg RSA -keysize 2048 -validity 3650 -keystore D:\https证书\tas-server.jks -storepass 250250 -dname "C…

喜茶·茶坊黑金首店入驻北京三里屯,率先引入珍稀娟姗奶制茶

发布 | 大力财经 近日&#xff0c;喜茶茶坊 BLACK 在北京三里屯开业&#xff0c;这是喜茶新业态的首家黑金店型。该店在延续喜茶茶坊“鲜、茶、纯”的精品茗茶特色和宋代茶文化审美意趣的基础上&#xff0c;首次升级呈现了铜锅手煮烹茶工艺、娟姗牛乳制茶等创新尝试&#xff0…

Vue.js 详细介绍

文章目录 一、Vue.js 简介1.1 什么是 Vue.js&#xff1f;1.2 Vue.js 的特点 二、快速上手 Vue.js2.1 安装 Vue.js使用 CDN使用 npm 或 yarn 2.2 创建一个 Vue 实例2.3 Vue.js 项目结构 三、Vue.js 核心概念3.1 数据绑定3.2 指令&#xff08;Directives&#xff09;3.3 组件&…

echarts map地图添加背景图

给map地图添加了一个阴影3d的效果&#xff0c;添加一张背景图&#xff0c;给人感觉有3d的效果 具体配置如下&#xff1a; html代码模块&#xff1a; <div class"echart_img" style"position: fixed; visibility: hidden;"></div><div id&q…

ARM机密计算架构

安全之安全(security)博客目录导读 目录 机密计算:Arm架构下一个新的信任模型 Arm CCA组件 领域管理扩展的访问控制 安全地运行所有应用程序 领域如何在受保护的内存空间中执行 重新评估信任关系 我们对Arm机密计算架构&#xff08;CCA&#xff09;的愿景是保护计算发生…