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

Java接入ChatGPT接口简单示例

我们定义了一个名为ChartGPTConfig的类,它有两个私有成员变量apiKey和apiUrl,分别表示ChartGPT的API密钥和API URL。
public class ChartGPTConfig {private final String apiKey;private final String apiUrl;public ChartGPTConfig(String apiKey, String apiUrl) {this.apiKey = apiKey;this.apiUrl = apiUrl;}public String getApiKey() {return apiKey;}public String getApiUrl() {return apiUrl;}
}
简单调用示例:
public class ChartGPTExample {public static void main(String[] args) {// 创建ChartGPTConfig对象,设置API密钥和API URLChartGPTConfig config = new ChartGPTConfig("YOUR_API_KEY", "https://api.chartgpt.com/v1/generate");String query = "What is the population of China?"; // 替换为您的查询try {// 调用ChartGPT APIString response = callChartGPTAPI(config, query);System.out.println("Response: " + response);} catch (IOException e) {e.printStackTrace();}}private static String callChartGPTAPI(ChartGPTConfig config, String query) throws IOException {// 创建OkHttpClient实例OkHttpClient client = new OkHttpClient();// 构建API请求URLString url = config.getApiUrl() + "?query=" + query;// 创建HTTP请求Request request = new Request.Builder().url(url).addHeader("Authorization", "Bearer " + config.getApiKey()).build();// 发送HTTP请求并获取响应try (Response response = client.newCall(request).execute()) {return response.body().string();}}
}

示例中使用了OkHttp库来发送HTTP请求,可以通过Maven或Gradle将依赖添加。

Maven引入OkHttp依赖:
<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9.1</version>
</dependency>
Gradle引入OkHttp依赖:
// 其他配置
dependencies {// OkHttpimplementation 'com.squareup.okhttp3:okhttp:4.9.1'
}

相关文章:

  • Android 11.0 systemui锁屏页面时钟显示样式的定制功能实现
  • 设计模式——建造者模式(创建型)
  • 【JavaFX】实现计算器小程序
  • PyCharm连接远程服务器上Docker容器,使用远程服务器的python intercepter解释器和GPU资源 [本地调试深度学习代码]
  • 解决Sortable拖动el-table表头时,由于选择列造成的拖拽顺序错乱的bug
  • 排序-选择排序与堆排序
  • ubuntu18.04配置cuda+cudnn+tensorrt+anconda+pytorch-gpu+pycharm
  • 开源治理典型案例分享(汇编转)
  • 使用BeautifulSoup 4和Pillow合并网页图片到一个PDF:一种高效的方式来处理网页图像
  • 2024 年 SEO 现状
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Spring IOC底层实现
  • 2023最新vue安装(npm,yarn,国内镜像,vue安装,vue导包)全套教程2023年12月最新
  • 新网站如何被搜索引擎迅速收录
  • 如何写好PPT报告
  • 5.清除SVN用户账号两种方式
  • 「面试题」如何实现一个圣杯布局?
  • rc-form之最单纯情况
  • React组件设计模式(一)
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • RxJS: 简单入门
  • Web标准制定过程
  • Yii源码解读-服务定位器(Service Locator)
  • Zsh 开发指南(第十四篇 文件读写)
  • 大主子表关联的性能优化方法
  • 分享几个不错的工具
  • 浮现式设计
  • 前端知识点整理(待续)
  • 与 ConTeXt MkIV 官方文档的接驳
  • 源码安装memcached和php memcache扩展
  • 再次简单明了总结flex布局,一看就懂...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #100天计划# 2013年9月29日
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (0)Nginx 功能特性
  • (06)Hive——正则表达式
  • (1)Android开发优化---------UI优化
  • (7)STL算法之交换赋值
  • (arch)linux 转换文件编码格式
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (五)Python 垃圾回收机制
  • (转)setTimeout 和 setInterval 的区别
  • (转)视频码率,帧率和分辨率的联系与区别
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net程序集学习心得
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • .pyc文件是什么?
  • [1]-基于图搜索的路径规划基础
  • [android] 看博客学习hashCode()和equals()
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C#7] 1.Tuples(元组)
  • [CF226E]Noble Knight's Path