标签:指南 集成 java 机器人 openai https chatgpt com
- 开个境外服务器
目前OpenAI的API已向161个国家和地区开放,在亚洲范围内,日本、韩国、缅甸、印度、尼泊尔、巴基斯坦均在开放之列。openai对国内网络(包括香港)似乎都有屏蔽,刚好公司就有国际业务规划,直接开通一个境外服务器尝试一下!国外服务器一般来讲,aws和阿里云都是首选,为了快速见效,选择阿里云北美服务器!选用windows系统(因为后续还要注册账号),安装一个chrome浏览器和java sdk。
- 注册账号
打开官网https://openai.com/,点击“Sign Up”(英文不好的可以直接使用chrome的网页翻译)。按部就班输入个人信息,验证邮箱(个人邮箱应该都可),包括邮箱验证都不赘述了。唯一麻烦的是手机号验证,此处注意只能用国外手机号。刚好公司有境外运营的业务,可以使用公司境外手机号注册了一个。但如果没有国外手机号,不妨考虑两个方案:1. 从淘宝上买一个;2. 使用第三方的接码平台。第三方免费的接码平台一般有个问题,就是免费的手机号会被重复使用和注册,看个人的运气哈。
- 使用官方sdk
注册完毕后,登陆到个人或者公司的管理页面,官方默认会送18美元或者5美元的试用免费额度。刚好公司有国外银行卡就可以再充点钱,也可以表示一下对openai的支持。
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=MGMzZDVhNDZmODM2MjdhOTdjMmE2NzI0N2I5NGRjOWVfQ0ptSFNDOXVPeWNhb3NxTnVFWEI2NDVGbUZxUDRRaXVfVG9rZW46Ym94Y25IS3hGelkxSFltUkcyNjlRakxlNUJiXzE2Nzg2NzE2MDQ6MTY3ODY3NTIwNF9WNA)
无论是否充钱,我们通过接口集成openai,都需要api token,那么赶紧创建它且保存它(貌似只能展现一次,否则需要重新创建)。
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=ZDRlYzljNjQ5YzAwNDYzZTVjZGQzNDNiZWFhYTVmODlfaGFhT3pBbVBWbFJ6dHJVQkNWMWlvVWpHWlk5Sm5ObFBfVG9rZW46Ym94Y25ucXFXSUowNzZCenpHbnlEdVl6Rm9kXzE2Nzg2NzE2MTc6MTY3ODY3NTIxN19WNA)
开发者文档可以查看
https://platform.openai.com/docs,使用社区sdk打开
https://platform.openai.com/docs/libraries/community-libraries 可以看到社区支持java,.net,nodejs等不同语言的sdk。
比如.net
https://github.com/betalgo/openai,java
https://github.com/TheoKanning/openai-java;
目前我使用的官方推荐的java sdk,快速上手!
以java为例:
<dependency>
<groupId>com.theokanning.openai-gpt3-java</groupId>
<artifactId>service</artifactId>
<version>0.10.0</version>
</dependency>
<dependency>
<groupId>com.theokanning.openai-gpt3-java</groupId>
<artifactId>client</artifactId>
<version>0.10.0</version>
</dependency>
<dependency>
<groupId>com.theokanning.openai-gpt3-java</groupId>
<artifactId>api</artifactId>
<version>0.10.0</version>
</dependency>
以普通问答对话为例:
OpenAiService service = new OpenAiService("此处填写刚才添加的token",
Duration.ofSeconds(120));
CompletionRequest completionRequest = CompletionRequest.builder()
.prompt(prompt)
.model(model)
.maxTokens(1000)
.temperature(temperature)
.build();
val rs = service.createCompletion(completionRequest);
return rs.getChoices();
搭建的 网页 demo 地址:
http://47.252.12.109:8082/,已经可以愉快的玩耍了!
- 注册飞书机器人
到飞书开发者后台
https://open.feishu.cn/app,创建一个应用(此处注意应用的创建和修改,都需要应用发布版本,管理员审批方可生效!)
创建应用后,先创建一个机器人!
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=ODBkMWRiYjY3NWU0MzhkYmYzZGM1NDA0NDQwMmVjNWRfTnZmNFRWdW43Z25ybXRZZWloUHV3bkhXWkpYbGZEV3lfVG9rZW46Ym94Y251TFg5RFAyRUtJcWc4WUljbGpJM0ZtXzE2Nzg2NzE2MzQ6MTY3ODY3NTIzNF9WNA)
创建完机器人之后要订阅事件,先配置事件订阅触发回调的地址。
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=NmRmNzlmNWMwNjMyMTgxYTBjNzJjMGZkZDcyMjBkNTdfdzFuTXRnS1oxSmJ6aHpwT1N0SGZVUWJDNElNTmVKM2pfVG9rZW46Ym94Y25pSXJxWGlvcmtGdk1vTnJyNm1SckQ4XzE2Nzg2NzE2NDM6MTY3ODY3NTI0M19WNA)
开通应用机器人事件触发的api使用权限,首先要订阅机器人相关的事件和事件对应的权限!我比较喜欢群聊,讲究一个氛围,所以就没选择单聊的权限!:) 这样一些群添加应用chatgpt的机器人之后,就可以@chatgpt发送问题,发送的问题信息都会通过飞书转发到我们写的应用(通过配置的请求回调地址)。
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=OWNjODUwMTM0OWRlMTRlNDE5YmFhOGViZjE0OWU2MTRfcDFCOVgzcmdzZGhwcVpYd3NRYXY5U3FMZzBhMFcwcU5fVG9rZW46Ym94Y25Vd0NaTUtYU1BLRWJ3emN0QzNyNmdnXzE2Nzg2NzE2NTU6MTY3ODY3NTI1NV9WNA)
再单独开通发送消息群聊的权限。这样我们就可以通过飞书开发者平台的api,发送飞书的消息给某个用户/群。登陆飞书开发者文档(
https://open.feishu.cn/document/)找到消息-》发送消息接口,拷贝例子就可以愉快的发送消息了。
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTVkNTA4YjJlZjg4YzE4YWRiOTk2ZDViZTEzYzRhMDVfVXNTVzhnUnU5anZJcFBNbVM4bHJDZDB6N1NrNVhPdWhfVG9rZW46Ym94Y241cnEzMHlGRjdEaThDUmw0bWJ5YkNkXzE2Nzg2NzE2Njc6MTY3ODY3NTI2N19WNA)
核心api代码逻辑
- 使用飞书机器人
代码写好发布到国外服务器,飞书的应用权限等配置结束后,发布应用并管理员审核完毕!那么一切准备就绪了~~
打开任意群,并打开群机器人并选择“相应的应用机器人”
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=OTQ0NzY2NDg4NzkxMDRjYmJlYzE2M2ZhZWE1OGM1NjZfdnlsRllua2VwUlN2QUFoOWJSbVZwcHlVTUFnUWRsUzVfVG9rZW46Ym94Y25kYnJJazhaZWJjMm5JRXU2a3N6a3FmXzE2Nzg2NzE2ODc6MTY3ODY3NTI4N19WNA)
对chatgpt进行提问,看看效果~~~
![](https://bety7ysq7b.feishu.cn/space/api/box/stream/download/asynccode/?code=MTdjNWIxNWY2YWNjMmIyYzRhMjE4YjcwNzJhMTg3Y2VfWUZsb05kUGp2RkRMdG9aTFlySll5QlNUVEtPbXFIeVRfVG9rZW46Ym94Y25QZ0pzUVZUczV1UXNGM0twRUJ0WkFKXzE2Nzg2NzE2OTQ6MTY3ODY3NTI5NF9WNA)
by
车江毅
2023-3-10
赠给对chatgpt好奇的同事~
标签:指南,
集成,
java,
机器人,
openai,
https,
chatgpt,
com
From: https://www.cnblogs.com/chejiangyi/p/17205315.html