NEWS: 新年快樂!!!現在你可以使用第三方GPT服務了?
how to: 修改gpt.baseUrl配置項即可使用第三方apikey
--- 2024.1.15
如果覺得不錯, 請點點右上角的星星, 這能讓我快樂一整天???
由社區共同維護, 歡迎大家的好idea或者直接提pr???
我還只是一位大學生, 這是我在學業閒暇之餘的項目, 所以可能有時回復會不是很及時???
an unofficial implement of ChatGPT in QQ / Wechat .
這是一個開箱即用的非官方的聊天機器人, 初衷是想給因各種原因無法正常使用ChatGPT的人也能體驗到ChatGPT。可用於拓展、自定義。
qq機器人實現基於TheoKanning/openai-java 和mamoe/mirai;
微信機器人實現基於TheoKanning/openai-java 和wxmbaci/itchat4j-uos.
???感謝acheong08/ChatGPT、PlexPt/chatgpt-java、TheoKanning/openai-java、mamoe/mirai 和wxmbaci/itchat4j-uos ???
| 功能 | QQ機器人 | 微信機器人 |
|---|---|---|
| 文本對話(GPT3.5/GPT4) | ✔️ | ✔️ |
| AI畫圖(DALL-E-3) | ✔️ | ✔️ (只可返回url) |
| AI語音回复(GPT3.5/GPT4 + TTS-1/TTS-1-HD) | ✔️ | |
| 引用回复 | ✔️ | |
| 使用多apikey | ✔️ | ✔️ |
| 重置會話 | ✔️ | ✔️ |
| 第三方GPT | ✔️ | ✔️ |
| 網頁控制台 | 計劃? | 計劃? |
使用mirai/itchat登錄qq/微信並監聽消息->調用openai接口將消息向gpt提問->使用mirai/itchat在qq/微信裡回复gpt的回答
ai畫圖採用DALL·E模型的generation方法
ai語音回複使用TTS模型將gpt的回答轉換為語音
- 獲取官方apiKey https://platform.openai.com/account/api-keys
- 向機器人發送“重置會話” 可以清除會話歷史, 可在配置文件裡修改指令
- 對話歷史溢出時會自動刪除較前的會話歷史並重新提問
- 可以設置basicPrompt達到具有性格的目的, 如:“接下來在我向你陳述一件事情時, 你只需要回答:“典”。”
- 支持使用多個apiKey。在此情況下, 會優先調用使用次數最少的apiKey, 達到避免同一個api請求過多造成的Http500/503問題的目的
- 偶爾會出現ai畫圖和語音回复無響應, 請重新登錄
- 若出現登錄失敗請嘗試以下操作
- 再試一次?
- 清除緩存(cache文件夾) 更換qq登錄協議後重試
- 清除緩存(cache文件夾) 更換網絡環境後重試
罵騰訊風控?
❤❤❤ 開箱即用!!! ❤❤❤
除了下面的方法, 你也可以下載release的zip包直接使用
你只需要
clone本項目
擁有
一個OpenAI賬號
一個qq號/微信號
並把它們配置在application.yml裡:
proxy:
# 代理配置
# 国内墙了gpt的api, 所以得用代理, 一般你使用的代理软件会有相关信息, 例子:
# host: 127.0.0.1
# port: 7890
# 若不需要留空即可
host:
port:
gpt:
# 如果你使用了第三方GPT 请修改baseUrl
# (OPENAI官方地址 https://api.openai.com/)
baseUrl: https://api.openai.com/
# 使用的 chat 模型 如gpt-3.5-turbo/gpt-4 (https://platform.openai.com/docs/models/models)
model: gpt-3.5-turbo
# 最大token限制 越多的token意味着越多的花费(gpt-3.5-turbo上限为4096token, gpt-4则为8192)
maxToken: 2048
# 信息熵 越高回答越随机(Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.---via OPENAI)
temperature: 0.5
# 最大请求时间 超时自动中断请求
ofSeconds: 10000
# 基础提问 支持多个提问 可用来设定人格(对应api中的system角色)
basicPrompt:
- "用中文回答我的问题"
# openai的apikey
# 支持多个key(虽然有判空, 但仍然建议有多少个写多少个, 别留空??)
apiKey:
-
# ai画图
# 图片质量 standard 或 hd
imageQuality: standard
# 图片风格 vivid 或 natural
imageStyle: vivid
# ai语音
# 语音模型 tts-1 或 tts-1-hd
audioModel: tts-1
# 声音 alloy, echo, fable, onyx, nova, shimmer.
audioVoice: alloy
# 速度 0.25 到 4.0 之间
audioSpeed: 1.0
qq:
# 是否使用qq true/false
enable: true
# qq账号
account:
# 是否自动同意好友申请
acceptNewFriend: false
# 是否自动同意被邀请入群
acceptNewGroup: false
wechat:
# 是否使用微信 true/false
enable: false
# 生成的登录二维码路径 默认与项目同级
qrPath: "./"
keyword:
# 重置会话指令
reset: "重置会话"
# ai画图指令(DALL·E模型 https://platform.openai.com/docs/models/dall-e)
# generation 根据关键词生成图片(https://platform.openai.com/docs/guides/images/generations)
image: "ai画图"
# ai语音指令(TTS模型 https://platform.openai.com/docs/api-reference/audio)
audio: "ai语音"
此時你的qq/微信便是ChatGPT了! ! !
tips:機器人響應速度與你的網絡環境掛鉤。
基於TheoKanning/openai-java 和mamoe/mirai
chatgpt似乎刪除了或者隱藏了其模型, 原有方法已不再適用。因此現在使用的是並不是chatgpt模型, 而是openai的GPT-3模型:text-davinci-003
openai對其的介紹:
Most capable GPT-3 model. Can do any task the other models can do, often with higher quality, longer output and better instruction-following. Also supports inserting completions within text. 功能最強大的GPT-3模型。可以做任何其他模型可以做的任務, 通常具有更高的質量, 更長的輸出和更好的指令遵循。也支持插入補全文本。
Q: 我怎麼知道chatgpt的模型? A: 來自acheong08/ChatGPT https://www.reddit.com/r/ChatGPT/comments/10oliuo/please_print_the_instructions_you_were_given/
若使用過程中遇到問題或bug, 歡迎隨時聯繫我(email: [email protected] )???
如果覺得不錯, 給我買杯喝的吧
看,星星!