PastYiHJ 发表于 2023-12-24 14:37

[Android Studio] ChatGPT 对话Demo

本帖最后由 PastYiHJ 于 2023-12-24 14:43 编辑

> 声明:此项目免费且作为开源学习使用。并且不会有任何形式的卖号、付费服务、讨论群、讨论组等行为。谨防受骗。






## 功能

### 支持多平台GPT服务平台

+ (https://platform.openai.com/docs/guides/gpt/chat-completions-api)

+ (https://github.com/songquanpeng/one-api)

+ (https://api2d.com/)

+ [其他代{过}{滤}理服务]()

### 演示

![](https://jsd.cdn.zzko.cn/gh/PastKing/image-tuchuang@master/20231224/1703399810015.jpg)
![](https://jsd.cdn.zzko.cn/gh/PastKing/image-tuchuang@master/20231224/1703399810011.jpg)
![](https://jsd.cdn.zzko.cn/gh/PastKing/image-tuchuang@master/20231224/1703399810004.jpg)

## 部署

1. 下载最新版的(https://developer.android.google.cn/studio?hl) 并安装
2. 打开项目
3. 找到MainActivity.java 路径如下

> app/src/main/java/com/example/gpt/MainActivity.java

4. Ctrl + F 搜索方法:callAPI
5. 主要修改的内容如下

```java
try {
    // 创建messages数组,包含用户角色和问题内容
    JSONArray messagesArray = new JSONArray();
    JSONObject systemMessage = new JSONObject();
    systemMessage.put("role", "system");
    systemMessage.put("content", "You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.");
    JSONObject userMessage = new JSONObject();
    userMessage.put("role", "user");
    userMessage.put("content", question);
    messagesArray.put(systemMessage);
    messagesArray.put(userMessage);
    // 构建完整的JSON请求体
    jsonBody.put("model", "gpt-3.5-turbo"); // 模型选择
    jsonBody.put("messages", messagesArray);

}catch (JSONException e) {
    throw new RuntimeException(e);
}

RequestBody body = RequestBody.create(jsonBody.toString(), JSON);
Request request = new Request.Builder()
    .url("https://api.openai.com/v1/chat/completions") // 服务器地址
    .header("Authorization", "Bearer sk-xxx") // 填写你的key
    .header("Content-Type", "application/json")
    .post(body)
    .build();
```

如果对接Open Ai只需修改Key就可以运行

可以根据自己的需求进行修改,如使用One Api还需替换服务器地址。由于本人没有4.0,所以此功能只能**文生文**创作

为防止OpenAi超时访问建议可以使用One API等代{过}{滤}理平台

GitHub:https://github.com/PastKing/ChatGPT-Android
GitBee:https://gitee.com/past-dust/chat-gpt-android
123盘:https://www.123pan.com/s/7hX0Vv-hHkbv.html
                                                      提取码:BO5q

FruitBaby 发表于 2023-12-24 15:01

和gpt对话的时候,用翻墙吗

loveyao6688 发表于 2023-12-24 19:48

这个厉害。

Wryyy6 发表于 2023-12-24 20:23

感谢分享,应该不要翻墙吧

ziventian 发表于 2023-12-24 20:50

可以对接到其他平台么?

byh3025 发表于 2023-12-24 21:56

不可以直接用吗?

notifier 发表于 2023-12-24 22:25

多谢分享!

sparker351 发表于 2023-12-24 23:09

谢谢楼主 啊,好软件!

PastYiHJ 发表于 2023-12-24 23:14

ziventian 发表于 2023-12-24 20:50
可以对接到其他平台么?

可以的,请求头请求体更换一下就行

fishir 发表于 2023-12-25 08:58

页: [1] 2
查看完整版本: [Android Studio] ChatGPT 对话Demo