ChatGPT_Android

Introduction: an android demo to use openai's api / 一个调用 openai 接口实现与 ChatGPT 对话的 APP 示例
More: Author   ReportBugs   
Tags:

an android demo to use openai's api

调用 openai 提供的接口,实现与 ChatGPT 对话

更新:

支持新模型的调用:"gpt-3.5-turbo", "gpt-3.5-turbo-16k","gpt-3.5-turbo-instruct", "gpt-3.5-turbo-0613","gpt-3.5-turbo-16k-0613"

见:https://github.com/icecoins/ChatGPT_Android/issues/7

修复:

1.为解决对话少量乱序的问题,服务器将在每次对话发送完毕后进行完整重传,覆盖可能乱序的回复。 2.修复了新的回复在输出时,回复框里有上一条回复的部分信息的 bug。

后续计划

  1. 中途停止输出的功能。 见:https://github.com/icecoins/ChatGPT_Android/issues/5https://github.com/icecoins/ChatGPT_Android/issues/6

  2. 对 gpt4 的支持。

  3. 对国内某些 有公开接口的、价格较低的、效果较好的 大语言模型的支持。

功能:

✓可以免费使用,无需登录(在本人账号余额耗尽之前,默认配置即可)

× 本人账号余额已于 2023.04.01 耗尽,不再提供 API KEY

image

✓ 支持至 Gpt-3.5 模型(因为本人买不起 plus)

✓ 无需代理即可与 ChatGPT 对话(可以使用自己的服务器中转)

✓ 支持带记忆的连续对话,可以随时清除记忆

✓ 可以复制 ai 回答文本

✓ 使用流式传输,ai 的回答是动态连续的

✓ 使用 wss 保护数据传输安全

vits 语音合成(试行)。仅在 “英国 S1” 中转服务器 上运行。使用服务器 CPU 进行推理,计算速度极为缓慢,不建议使用。

image

image

关于收到乱码

如果你希望使用预置的中转服务器,请确保 APP 为 github 上的最新版本,见 https://github.com/icecoins/ChatGPT_Android/releases

乱码可能原因:由于 APP 内置的通讯标记 与 服务器内置的通讯标记 不匹配,导致 APP 无法正常接收对话数据

如果你希望可以使用自定义的通讯标记,请更改 APP 与 springboot 的源码并自行编译、运行

关于直连官方接口失败:

因为某些原因, https://api.openai.com 已经被 GFW dns 阻断了

最新版本可以选择使用服务器运行 springboot + websocket 与 APP 即时通讯,进行数据中转,以此绕开 sni

配套 springboot 项目地址:https://github.com/icecoins/ChatGPT_Server

你可以自行修改 springboot 中的代码以配适你的 App

当然,你可以选中“不使用中转”, 并在手机上设置好代理,APP 会直接向 openai 发送请求

关于语音转换:

引用自 https://github.com/SayaSS/vits-finetuning

关于 api_key 失效

api_key 一旦被官方检测到一个 key 被多人使用就会自动失效

一个 openai 账号可以维持最多五个 api key,也就是说可以让五个人分别专用一个账号下不同的 key

usage

check the configs first, confirm your api_key is available.

connected to the Internet.

首先检查配置,确保 api_key 可用

建议将文本长度调整至 1000 及以上

确保 APP 可以联网

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools