ChatGPT

60 次浏览

咨润捷益 ChatGPT 使用说明

指令集合

  1. :语言列表
  2. :设置语言
  3. :生成语音
  4. :生成图片
  5. :disc
  6. :sh

指令前缀集合

  1. 语音回答

当前不支持的功能

  1. 为了降低成本,不支持上下文对话
  2. 语音回复的消息,上线为 60 秒(朗读文本时,上限约等于 280 字)

图片生成功能的使用说明

你可以通过发送以“:生成图片”为开头的描述(注意必须以英文冒号:为开头)通过 AI 生成一个图片
例如,
:生成图片 生成一个庭院使用的乌龟形状和样式的灯,可以用来在夜晚照亮草坪

声音合成功能的使用说明

  1. 关注“咨润捷益”公众号

  2. 你有多种方式可以得到语音回复

2.1 确定语音回复的语音语调
2.1.1 我们默认设置的回复,采用 编号 29 的东北话女生语音
2.1.2 你可以通过发送“:语言列表”查看所有支持的语音(注意必须以英文冒号:为开头)
2.1.2 你可以通过发送“:设置语言 语言编号”来设置你自己的独特的回复语音
例如,设施语音为 2 普通话(女声,且愉悦)
:设置语言 2

2.1 直接发送微信语音消息给公众号,你所说的问题将会直接被生成答案的语音消息,发送会给你

2.2 如果你希望通过文字的方式提问,并得到语音的回答,你需要发送以“语音回答”为开头的问题
例如,
语音回答 什么是 ISO 9000?

2.3 如果你希望只是生成一段文字对应的语音,而不是回答问题,你需要发送以“:生成语音”为开头的描述(注意必须以英文冒号:为开头)
例如,
:生成语音 你好,欢迎关注咨润捷益,我们是一个关注 精益敏捷管理 和 信息安全 领域的社区组织

特别说明

由于公众号是免费的,节省费用的原因,如果使用量过于频繁,会被判定为特别用户,而后被公众号拉黑

Supported Speech Synthesis Voice

  1. 普通话(女声)*
  2. 普通话(女声,且愉悦)***
  3. 普通话(女声,且深情)
  4. 普通话(女声,且愤怒)
  5. 普通话(女声,且悲伤)
  6. 普通话(女声,且平静)*
  7. 普通话(女声,且严肃)
  8. 普通话(女声,且害怕)**
  9. 普通话(女声,且友善)*
    10.普通话(女声,且热情奔放)***
    11.普通话(女声,诗歌朗诵)
    12.普通话(女声,播音员)**
    13.普通话(女童)***
    14.普通话(男声,播音员)**
    15.普通话(男体育评论)
    16.普通话(短视频经常听到的男声)
    17.普通话(动漫正太)
    18.普通话(动漫元气少女)
    19.普通话(动漫元气少女,且愉悦)***
    20.普通话(动漫元气少女,且尴尬)
    21.普通话(动漫元气少女,且深情)
    22.普通话(动漫元气少女,且不满)
    23.普通话(动漫元气少女,且愤怒)*
    24.普通话(动漫元气少女,且悲伤)*
    25.普通话(动漫元气少女,且严肃)***
    26.普通话(动漫元气少女,且害怕)*
    27.普通话(中国台湾女声)***
    28.普通话(中国台湾男声)**
    29.普通话(东北姑娘)**
    30.普通话(河南老哥)
    31.普通话(陕西女孩)*
    32.普通话(山东大汉)
    33.粤语(香港男生)*
    34.美式英语(女声)*
    35.美式英语(女童)*
    36.美式英语(男声)
    37.英式英语(男声)
    38.英式英语(女声)
    39.印度英语(男声)
    40.印度英语(女声)
    41.日语(男声)**
    42.日语(女声)**
    43.日语(女声,且平时)
    44.日语(女声,且愉悦)
    45.日语(女声,客服语气)

(带星号 * 为推荐的声音)

751 次浏览

通过微信公众号客服 API 集成 OpenAI 的 AI 聊天机器人

有关 ChatGPT 的话题,最近十分火热,通过 Python 脚本编写了一个基于 和 OpenAI 的微信公众号服务器,从而支撑微信公众号集成 OpenAI 的智能聊天机器人的需求。代码如下,

  • 这里通过公众号方式,解决了 OpenAI 被封禁的问题;
  • 通过客服 API 解决了消息超过 5 秒,未回复会被报错的问题。
import threading
# https://github.com/openai/openai-python
# https://platform.openai.com

import openai
# https://github.com/offu/WeRoBot
# https://werobot.readthedocs.io/zh_CN/latest/
# 实例参考 https://blog.csdn.net/IkerIkerIker/article/details/110914641

import werobot
from werobot.replies import TransferCustomerServiceReply

WEB_HOST_URL = "0.0.0.0"
WEB_HOST_PORT = 80
WECHAT_APP_ID = "{{微信公众号的 APP ID}}"
WECHAT_APP_SECRET = "{{微信公众号的 APP SECRET}}"
WECHAT_ENCODING_AES_KEY = "{{微信公众号的 AES 加密密钥}}"
WECHAT_API_TOKEN = "{{微信公众号的 API 设置中配置的 Token,这个可以随意编写}}"
OPEN_AI_API_KEY = "{{ChatGPT 的 API KEY}}"

openai.api_key = OPEN_AI_API_KEY
robot = werobot.WeRoBot(token=WECHAT_API_TOKEN)

def get_chatgpt_response(prompt):
    response = openai.Completion.create(
        model="text-davinci-003",
        prompt=prompt,
        temperature=0,
        max_tokens=1024,
        top_p=1,
        frequency_penalty=0.0,
        presence_penalty=0.0,
    )
    message = response.choices[0].text
    return message.strip()

def post_wechat_customer_service_reply(messages):
    chatGptResponse = get_chatgpt_response(messages.content)
    # https://werobot.readthedocs.io/zh_CN/latest/client.html#
    # https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Service_Center_messages.html
    # 获取 Access Token,发送消息的客服账户 等 API
    return robot.client.send_text_message(user_id=messages.source, content=chatGptResponse, kf_account=None)

@robot.handler
def hello(messages):
    thread = threading.Thread(
        target=post_wechat_customer_service_reply, args=(messages,))
    thread.start()
    # https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Passive_user_reply_message.html
    # 假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,
    # 并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复),否则,将出现严重的错误提示: “该公众号暂时无法提供服务,请稍后再试”
    # 将消息转发至客服:
    # https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html
    return TransferCustomerServiceReply(messages)

robot.config["HOST"] = WEB_HOST_URL
robot.config["PORT"] = WEB_HOST_PORT
robot.config["APP_ID"] = WECHAT_APP_ID
robot.config["APP_SECRET"] = WECHAT_APP_SECRET
robot.config["ENCODING_AES_KEY"] = WECHAT_ENCODING_AES_KEY
robot.run()