Java调用ChatGPT的API接口实现对话与图片生成

这篇具有很好参考价值的文章主要介绍了Java调用ChatGPT的API接口实现对话与图片生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

步骤1:配置代理

有些魔法是需要做配置的。否则无法正确实现代码测试。这里以我使用的工具为例说明。


步骤2:添加依赖

在pom.xml文件中添加:

<dependency>
	<groupId>com.theokanning.openai-gpt3-java</groupId>
	<artifactId>client</artifactId>
	<version>0.8.1</version>
</dependency>

步骤3:编写Constants类

  • Constants类中,声明自己的API Key
public class Constants {
//大家填写自己的key,这个是瞎写的,没有用的
public static final String OPENAPI_TOKEN = "sk-JPPwaelHv5QwdN3CL97UKLMbo7XIJDRy";
}

其中,查看API Key的位置:
https://platform.openai.com/account/api-keys
余额查询:
https://platform.openai.com/account/usage


步骤4:实现问答交互

package com.atguigu.demo;
import com.atguigu.Constants;
import com.theokanning.openai.OpenAiService;
import com.theokanning.openai.completion.CompletionRequest;

public class Demo1 {
public static void main(String[] args) {
	String info1 = "Q: 能不能我写一封简短的情话,使用诗经的语言风格?A:";
	info(info1);
}
public static void info(String promptInfo){
	//注意:参数2用于设置超时时间
	OpenAiService service = new OpenAiService(Constants.OPENAPI_TOKEN,5000);
	CompletionRequest completionRequest = CompletionRequest.builder()
	.model("text-davinci-003") //使用的模型
	.prompt(promptInfo) //生成提示
	.temperature(0D) //创新采样
	.maxTokens(1000) //Token大小设置
	.topP(1D) //情绪采样。[0,1]:从悲观到乐观
	.frequencyPenalty(0D) //频率处罚系数。用来设置文本中出现重复词汇时的处罚参数
	.presencePenalty(0D) //重复处罚系数
	.build();
	service.createCompletion(completionRequest)
	.getChoices()
	.forEach(System.out::println);
	}
}

步骤5:实现图片生成

package com.atguigu.demo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.atguigu.Constants;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;

public class Demo2 {
public static void main(String[] args) throws IOException {
	String json = "{" +
		"\"prompt\":\"古装将军\"," +
		"\"n\":1," +
		"\"size\":\"1024x1024\"," +
		"\"response_format\":\"url\"" +
		"}";
		show(json);
		}
		public static void show(String json) throws IOException{
		Document document =
		Jsoup.connect("https://api.openai.com/v1/images/generations")
		.header("Authorization", "Bearer " + Constants.OPENAPI_TOKEN)
		.header("Content-Type", "application/json")
		.ignoreHttpErrors(true)
		.ignoreContentType(true)
		.requestBody(json)
		.post();
		JSONObject jsonObject = JSON.parseObject(document.body().text());
		JSONArray data = jsonObject.getJSONArray("data");
		for (int i = 0; i < data.size(); i++) {
		JSONObject temp = data.getJSONObject(i);
		System.out.println(temp.get("url"));
		}
	}
}

pom.xml文件中需要增加依赖:文章来源地址https://www.toymoban.com/news/detail-733566.html

<dependency>
	<groupId>org.jsoup</groupId>
	<artifactId>jsoup</artifactId>
	<version>1.14.3</version>
</dependency>
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.76</version>
</dependency>

到了这里,关于Java调用ChatGPT的API接口实现对话与图片生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5分钟实现调用ChatGPT接口API实现多轮问答

    5分钟实现调用ChatGPT接口API完成多轮问答 最近ChatGPT也是火爆异常啊,在亲自使用了几个月之后,我发现这东西是真的好用,实实在在地提高了生产力。那么对于开发人员来说,有时候可能需要在自己的代码里加入这样一个智能问答的功能,我最近就出现了这样的想法和需求,

    2024年02月03日
    浏览(45)
  • Java调用ChatGPT(基于SpringBoot和Vue)实现可连续对话和流式输出

    源码及更详细的介绍说明参见Git上的 README.md 文档 https://github.com/asleepyfish/chatgpt 本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo 流式输出结合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatgpt-vue 后续使用方法和api版本更新均在Github的READM

    2024年02月09日
    浏览(50)
  • Java调用ChatGPT(基于SpringBoot和Vue)实现连续对话、流式输出和自定义baseUrl

    源码及更详细的介绍说明参见Git上的 README.md 文档 https://github.com/asleepyfish/chatgpt 本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo 流式输出结合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatgpt-vue 后续使用方法和api版本更新均在Github的READM

    2024年02月16日
    浏览(39)
  • ChatGPT api 接口调用测试

    参考文档: 示例说明: 本示例会生成一个简单的ChatGPT api接口调用server程序,该程序可以给用户输入的宠物类别为宠物取三个名字。打开网页后,会看到用户输入界面,输入宠物类别,比如cat,然后回车,界面中会给出三个宠物名字。 运行环境、条件: 1.系统:ubuntu20.04 或

    2024年02月06日
    浏览(40)
  • Java SpringBoot实现调用OpenAI ChatGPT的相关接口(详细教程)

    Java调用OpenAI接口,Java调用实现ChatGPT聊天,OpenAIAPI是一个自己封装的OpenAI GPT-3聊天API的Java工具类,可用于通过Java代码调用GPT-3模型进行自然语言交互,实现智能聊天等功能。 通过调用GPT-3模型,输入一段文本,返回机器人对话回复的文本。 附项目代码:在本文最后面 使用了

    2024年01月22日
    浏览(45)
  • java调用chatgpt接口,实现专属于自己的人工智能助手

    今天突然突发奇想,就想要用java来调用chatget的接口,实现自己的聊天机器人,但是网上找文章,属实是少的可怜(可能是不让发吧)。找到了一些文章,但是基本都是通过调用别人的库来完成的,导入其他的jar还有不低的学习成本,于是就自己使用HttpClient5写了一个,在这里讲

    2024年02月03日
    浏览(57)
  • java springboot 整合webSocket接入调用chatGPT3.5接口实现自由返回

    java springboot 中使用webSocket接入openAI接口调用chatGPT3.5接口实现自由返回 @Component @Anonymous @ServerEndpoint(“/websocket/{id}”) // 访问路径: ws://localhost:8080/websocket public class WebSocketServer { // try { // sendMessage(“WebSocket连接成功”); // } catch (Exception e) { // // } } /** * 发送消息 * @param message 要

    2024年02月14日
    浏览(59)
  • 调用智能Ai画图在线生成图片生成视频的工具集API说明等

    四款文字生成视频的智能软件 1、 Lumen5:是一种自动化视频制作工具,可以利用其强大的AI技术,自动对文本进行分析,并提供适当的图像、视频剪辑和音乐,生成令人印象深刻的视频。它适用于制作社交媒体广告、营销视频和品牌故事等。。用户只需输入文本和选择相关图

    2024年02月01日
    浏览(43)
  • 如何在vue项目中调用chatgpt的API接口

    在Vue项目中调用ChatGPT的API接口需要以下步骤: 在Vue项目中安装axios,使用以下命令进行安装: 在Vue项目中创建一个API模块,用于封装与ChatGPT的API交互逻辑。可以在项目根目录下创建一个api目录,并在该目录下创建一个chatgpt.js文件,代码如下: 在Vue组件中引入API模块,并调

    2023年04月25日
    浏览(39)
  • AIGC: 关于ChatGPT中API接口调用相关准备工作

    ChatGPT之API接口相关 通过页面和GPT交流获取信息相比直接调用GPT的API而言是非常有限的 页面上的GPT是比较封闭的,而且只允许我们去输入文本的信息 我们需要借助GPT的API开发来激发AI工具的无限可能,实现更多个性化需求 1 ) 使用API 使用API有一个前置的条件 注册ChatGPT账号

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包