当前位置: 首页 > news >正文

怎么做注册账号的网站创建网站的优势

怎么做注册账号的网站,创建网站的优势,网站_专题建设服务,参与网站网站建设1、项目简介 Chatgpt-Java是OpenAI官方Api的Java SDK#xff0c;可以快速接入项目使用。支持OpenAI官方全部接口。 目前收获将2500star#x1f31f;。 开源地址#xff1a;https://github.com/Grt1228/chatgpt-java官方文档#xff1a;https://chatgpt-java.unfbx.com/最…1、项目简介 Chatgpt-Java是OpenAI官方Api的Java SDK可以快速接入项目使用。支持OpenAI官方全部接口。 目前收获将2500star。 开源地址https://github.com/Grt1228/chatgpt-java官方文档https://chatgpt-java.unfbx.com/最新版本1.1.2-beta0 dependencygroupIdcom.unfbx/groupIdartifactIdchatgpt-java/artifactIdversion1.1.2-beta0/version /dependency目前支持的功能 Dall-e-3FineTuneJobTTSChatCompletionWithPictureAI生成图片微调job文本转语音附加图片的ChatCompletion TikTokenChatCompletionsImagesSpeech To Text余额查询Token计算GPT-3.5、4.0对话模型GPT-3.0对话图片模型语音转文字语音翻译余额查询 EmbeddingsFilesModerationsFine-tuneModels嵌入自定义训练模型文本审核敏感词鉴别微调模型检索相关 OpenAi在上周更新了新的版本发布了很多新的功能包括GPT-4V、附加图片的ChatCompletion、指定返回数据格式、Tool Call、Dall-e-3生成图片、FineTuneJob、文本转语音TTS等等功能。 本周Chatgpt-Java同步更新支持最新的Api。 2、新版本更新 所以的新版本Api更新基于原有的OpenAiClient和OpenAiStreamClient所以构建客户端的当时是没有变化的。 创建Client如下 Slf4j public class OpenAiClientTest {private OpenAiClient client;private OpenAiStreamClient streamClient;Beforepublic void before() {HttpLoggingInterceptor httpLoggingInterceptor new HttpLoggingInterceptor(new OpenAILogger());//千万别再生产或者测试环境打开BODY级别日志//生产或者测试环境建议设置为这三种级别NONE,BASIC,HEADERS,httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS);OkHttpClient okHttpClient new OkHttpClient.Builder().addInterceptor(httpLoggingInterceptor).addInterceptor(new OpenAiResponseInterceptor()).connectTimeout(10, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).build();client OpenAiClient.builder().apiKey(Arrays.asList(*********************)).okHttpClient(okHttpClient)//自己做了代理就传代理地址没有可不不传,(关注公众号回复openai 获取免费的测试代理地址).apiHost(https://*******/).build();streamClient OpenAiStreamClient.builder()//支持多key传入请求时候随机选择.apiKey(Arrays.asList(*********************)).okHttpClient(okHttpClient)//自己做了代理就传代理地址没有可不不传,(关注公众号回复openai 获取免费的测试代理地址).apiHost(https://*******/).build();} }2.1、附加图片的chatCompletion示例 2.1.1、阻塞请求 /*** 聊天模型支持图片流式示例*/ Test public void pictureChat() {Content textContent Content.builder().text(What’s in this image?).type(Content.Type.TEXT.getName()).build();ImageUrl imageUrl ImageUrl.builder().url(https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg).build();Content imageContent Content.builder().imageUrl(imageUrl).type(Content.Type.IMAGE_URL.getName()).build();ListContent contentList new ArrayList();contentList.add(textContent);contentList.add(imageContent);MessagePicture message MessagePicture.builder().role(Message.Role.USER).content(contentList).build();//#####请求参数使用ChatCompletionWithPicture类ChatCompletionWithPicture chatCompletion ChatCompletionWithPicture.builder().messages(Collections.singletonList(message)).model(ChatCompletion.Model.GPT_4_VISION_PREVIEW.getName()).build();ChatCompletionResponse chatCompletionResponse client.chatCompletion(chatCompletion);chatCompletionResponse.getChoices().forEach(e - System.out.println(e.getMessage())); }2.1.2、流式请求 /*** 聊天模型支持图片流式示例*/ Test public void pictureChatV2() {Content textContent Content.builder().text(What’s in this image?).type(Content.Type.TEXT.getName()).build();ImageUrl imageUrl ImageUrl.builder().url(https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg).build();Content imageContent Content.builder().imageUrl(imageUrl).type(Content.Type.IMAGE_URL.getName()).build();ListContent contentList new ArrayList();contentList.add(textContent);contentList.add(imageContent);MessagePicture message MessagePicture.builder().role(Message.Role.USER).content(contentList).build();ChatCompletionWithPicture chatCompletion ChatCompletionWithPicture.builder().messages(Collections.singletonList(message)).model(ChatCompletion.Model.GPT_4_VISION_PREVIEW.getName()).build();ChatCompletionResponse chatCompletionResponse client.chatCompletion(chatCompletion);chatCompletionResponse.getChoices().forEach(e - System.out.println(e.getMessage())); }2.1.3、注意事项 附加图片的chatCompletion暂时不支持以下简易接口请求 public void streamChatCompletion(List messages, EventSourceListener el)public ChatCompletionResponse chatCompletion(List messages) 2.2、ChatGPT指定返回Json格式 最新版的OpenAi接口支持执行数据返回格式。以下仅举例阻塞输出的方案流式输出一样的使用方法不再举例。 指定数据格式目前支持 json_objecttext 参考源码com/unfbx/chatgpt/entity/chat/ResponseFormat.java 2.2.1、请求 /*** 自定义返回数据格式*/ Test public void diyReturnDataModelChat() {Message message Message.builder().role(Message.Role.USER).content(随机输出10个单词使用json输出).build();ChatCompletion chatCompletion ChatCompletion.builder().messages(Collections.singletonList(message)).responseFormat(ResponseFormat.builder().type(ResponseFormat.Type.JSON_OBJECT.getName()).build()).model(ChatCompletion.Model.GPT_4_1106_PREVIEW.getName()).build();ChatCompletionResponse chatCompletionResponse client.chatCompletion(chatCompletion);chatCompletionResponse.getChoices().forEach(e - System.out.println(e.getMessage())); } {words: [aberration,nostalgia,quintessential,harmony,serendipity,benevolent,ephemeral,labyrinth,zenith,vivacious] }2.3、Dall-e-3生成图片AI绘画 最新版的OpenAi接口支持Dall-e-3模型生成图片功能更加强大。 2.3.1、请求 /*** 新版图片生成模型使用示例*/ Test public void generateImageByDall_e_3() {Image image Image.builder().responseFormat(com.unfbx.chatgpt.entity.images.ResponseFormat.URL.getName()).model(Image.Model.DALL_E_3.getName()).prompt(一个咖啡杯上面印刷Unfbx四个字母。).n(1).quality(Image.Quality.HD.getName()).size(SizeEnum.size_1024_1792.getName()).style(Image.Style.NATURAL.getName()).build();ImageResponse imageResponse client.genImages(image); // ImageResponse imageResponse client.genImages(一个咖啡杯上面印刷Unfbx四个字母。);System.out.println(imageResponse.getData().get(0).getUrl());} 2.4、FineTuneJob微调job OpenAi支持自定义训练专属模型通过FineTuneJob进行模型微调训练。 FineTuneJob支持的模型有 gpt-3.5-turbo-1106gpt-3.5-turbo-0613babbage-002gpt-4-0613davinci-002 更多详细参考源码com/unfbx/chatgpt/entity/fineTune/job/FineTuneJob.java 2.4.1、创建训练数据文件 创建文件格式为json1下面是一个示例文件fine_tune_test_file.json1 文件在github源码根目录文件内容 {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: chagpt-java好用么}, {role: assistant, content: 还行吧。}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: chagpt-java最新版本是什么}, {role: assistant, content: 1.1.2版本}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: chagpt-java支持流式输出么}, {role: assistant, content: 最新版支持流式输出}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: chagpt-java的作者是谁}, {role: assistant, content: 作者是Unfbx个人网站https://www.unfbx.com}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: Unfbx是chagpt-java的作者微信公众号是什么}, {role: assistant, content: 程序员的黑洞。}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: Unfbx是chagpt-java的作者个人博客地址是什么}, {role: assistant, content: https://www.unfbx.com}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: Unfbx是chagpt-java的作者chagpt-java官方地址是什么}, {role: assistant, content: https://chatgpt-java.unfbx.com}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: Unfbx是chagpt-java的作者chagpt-java的github地址是什么}, {role: assistant, content: https://github.com/Grt1228/chatgpt-java}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: Unfbx是chagpt-java的作者chagpt-java的简单介绍。}, {role: assistant, content: OpenAI官方Api的Java SDK可以快速接入项目使用。目前支持OpenAI官方全部接口**同时支持Tokens计算。参考文档[Tokens_README.md](https://github.com/Grt1228/chatgpt-java/blob/main/Tokens_README.md)**}]} {messages: [{role: system, content: OnBot是一个聊天机器人。}, {role: user, content: OpenAi的官方Java Sdk 是什么}, {role: assistant, content: chagpt-javagithub地址https://github.com/Grt1228/chatgpt-java}]} 2.4.2、上传文件 /*** fineTuneJob使用示例*/ Test public void uploadFile() {UploadFileResponse uploadFileResponse client.uploadFile(new java.io.File(fine_tune_test_file.json1));//返回文件的idfile-6KaBdtVlaassk9Y2P5ZjTqICSystem.out.println(uploadFileResponse.getId()); }2.4.3、创建微调job Test public void fineTuneJob() {//file-KaNQn5V9YHlLqVQzo8CUMdIr是文件上传返回的文件idFineTuneJobResponse fineTuneJobResponse client.fineTuneJob(file-KaNQn5V9YHlLqVQzo8CUMdIr);//返回job id ftjob-5WQr0bZ7grvjnY3Or2sqiixlSystem.out.println(fineTuneJobResponse.toString()); }2.4.4、查看微调job 2.4.4.1、详细信息 FineTuneJobResponse的fineTunedModel属性就是微调的模型id也是后续使用的模型id 需要主义只有FineTuneJob执行完成fineTunedModel属性才会有值job失败或者未执行完成此属性为null。 结合第4.0章节可以看到job的执行信息。 Test public void retrieveFineTuneJob() {//传入job idFineTuneJobResponse fineTuneJobResponse client.retrieveFineTuneJob(ftjob-5WQr0bZ7grvjnY3Or2sqiixl);System.out.println(fineTuneJobResponse); }2.4.4.2、job列表 支持分页查询 Test public void retrieveFineTuneJob() {// FineTuneJobListResponseFineTuneJobResponse jobListResponse client.fineTuneJobs(ftjob-cG7zIraBhAkq5Ybs7311lH7t, 5);FineTuneJobListResponseFineTuneJobResponse jobListResponse client.fineTuneJobs(null, 20);System.out.println(jobListResponse); }2.4.5、微调job执行进度查询 支持分页查询支持分页 Test public void fineTuneJobEvents() {FineTuneJobListResponseFineTuneJobEvent listResponse client.fineTuneJobEvents(ftjob-5WQr0bZ7grvjnY3Or2sqiixl, null, 20); // FineTuneJobListResponseFineTuneJobEvent listResponse client.fineTuneJobEvents(ftjob-5WQr0bZ7grvjnY3Or2sqiixl, ftevent-WwB8lpWxhjgUJX9DYdb47zJe, 20);listResponse.getData().forEach(e - System.out.println(e.getMessage())); }输出信息输出信息会返回创建的模型id这个就是后续使用的模型id。 The job has successfully completedNew fine-tuned model created: ft:gpt-3.5-turbo-1106:personal::8K5KwJTUStep 91/100: training loss0.45Step 81/100: training loss0.00Step 71/100: training loss0.00Step 61/100: training loss0.94Step 51/100: training loss0.19Step 41/100: training loss0.06Step 31/100: training loss0.95Step 21/100: training loss1.99Step 11/100: training loss2.50Step 1/100: training loss5.42Fine-tuning job startedFiles validated, moving job to queued stateValidating training file: file-KaNQn5V9YHlLqVQzo8CUMdIrCreated fine-tuning job: ftjob-5WQr0bZ7grvjnY3Or2sqiixl2.4.6、微调模型使用 注意model参数为自定义的模型id。此id会在fineTuneJobEvents完成后返回。 此id的获取有几种方式 1、fineTuneJobEvents接口完成后返回。2、通过3.1章节查询job详细信息可以获取模型idfineTunedModel属性。3、models接口返回参考第5章 Test public void fineTuneJobModelChat() {Message message1 Message.builder().role(Message.Role.SYSTEM).content(OnBot是一个聊天机器人。).build();Message message2 Message.builder().role(Message.Role.USER).content(OnBot请问Chatgpt-java的作者是谁).build();ListMessage messages new ArrayList(2);messages.add(message1);messages.add(message2);ChatCompletion chatCompletion ChatCompletion.builder().messages(messages).model(ft:gpt-3.5-turbo-1106:personal::8K5KwJTU).build();ChatCompletionResponse chatCompletionResponse client.chatCompletion(chatCompletion);chatCompletionResponse.getChoices().forEach(e - {System.out.println(e.getMessage());}); }输出信息 作者是Unfbx个人网站https://www.unfbx.com2.5、文本转语音TTS OpenAi最新接口支持TTS支持高清语音支持六种人声。 2.5.1、文本转语音 /*** tts使用示例*/ Test public void textToSpeed() {TextToSpeech textToSpeech TextToSpeech.builder().model(TextToSpeech.Model.TTS_1_HD.getName()).input(OpenAI官方Api的Java SDK可以快速接入项目使用。目前支持OpenAI官方全部接口同时支持Tokens计算。官方github地址https://github.com/Grt1228/chatgpt-java。欢迎star。).voice(TtsVoice.NOVA.getName()).responseFormat(TtsFormat.MP3.getName()).build();File file new File(C:\\Users\\***\\Desktop\\test.mp3);client.textToSpeech(textToSpeech, new CallbackResponseBody() {SneakyThrowsOverridepublic void onResponse(CallResponseBody call, ResponseResponseBody response) {InputStream inputStream response.body().byteStream();//创建文件if (!file.exists()) {if (!file.getParentFile().exists())file.getParentFile().mkdir();try {file.createNewFile();} catch (IOException e) {e.printStackTrace();log.error(createNewFile IOException);}}OutputStream os null;try {os new BufferedOutputStream(new FileOutputStream(file));byte data[] new byte[8192];int len;while ((len inputStream.read(data, 0, 8192)) ! -1) {os.write(data, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}try {if (os ! null) {os.close();}} catch (IOException e) {e.printStackTrace();}}}Overridepublic void onFailure(CallResponseBody call, Throwable t) {}});CountDownLatch countDownLatch new CountDownLatch(1);try {countDownLatch.await();} catch (InterruptedException e) {e.printStackTrace();} }3、更多 访问项目开源地址https://github.com/Grt1228/chatgpt-java 点一点免费的star 获取更多SDK功能
http://www.dnsts.com.cn/news/20316.html

相关文章:

  • 更改各网站企业信息怎么做商务网站建设的流程
  • 网站开发配置状态报告020网站管理系统模板
  • 网站解析需要什么商讨网站建设新闻稿
  • 越秀网站建设公司汕头网页设计
  • 海南省建设网站营业执照年审登录入口
  • 怎么把网站的标题做的炫酷字体设计类网站
  • 网站优化要做哪些工作韩国网站购物
  • 用图片设置网站首页北京网站建设公司动感
  • 郑州网站建设目标新浪博客 搬家 wordpress 工具
  • 广东企业品牌网站建设价格国内做网站最大的公司
  • 电子商务网站建设前期规划方案建造师求职网
  • 移动端网站开发多少钱四个商城建设
  • wap网站适配网站制作公司智能 乐云践新
  • 湖北网站建设哪家专业佛山网络推广电话
  • 银川网站建设公司电话推广运营公司哪家好
  • 网站存在风险什么意思哪里有专业做网站
  • 如何给wordpress添加网站图标网络站点推广的方法
  • 河南做网站 河南网站建设成都公司网站制作公司
  • 捕鱼网站开发2022最近十大的新闻热点
  • 网站换服务器怎么做wordpress配图api
  • 网站开发jd建筑工程网5177517
  • 网站制作上网wordpress双语切换
  • 南京 外贸网站建设泉州制作网站设计
  • 怎样推荐企业建设网站和互联网推广wordpress访问量阅读量
  • 宜昌制作网站公司网络游戏工作室
  • 网站域名更换相应内容品牌建设对策
  • 个人logo设计图片优化用户体验
  • 网站设计与规划论文网站制作优质公司
  • 泰州市统计局网站建设方案监理网站建设价格多少
  • 网站建设是自己做好还是外包开公司流程