赞
踩
微信公众号与OpenAI GPT-4 API集成
本文将帮助您使用 Flask 框架构建一个简单的微信公众号聊天机器人,该机器人可以与 OpenAI GPT-4 API 进行对接。
bash
Copy code
pip3 install openai wechatpy flask
python
Copy code
import os
import time
import hashlib
from flask import Flask, request, make_response
import xml.etree.ElementTree as ET
import openai
app = Flask(name)
openai.api_key = “your_openai_api_key”
@app.route(‘/wechat’, methods=[‘GET’, ‘POST’])
def wechat():
token = “your_token”
timestamp = request.args.get(‘timestamp’, ‘’)
nonce = request.args.get(‘nonce’, ‘’)
signature = request.args.get(‘signature’, ‘’)
# 验证签名 sign_list = [token, timestamp, nonce] sign_list.sort() sign_str = ''.join(sign_list) if hashlib.sha1(sign_str.encode("utf-8")).hexdigest() != signature: return "signature error", 403 # 回应微信服务器的验证请求 if request.method == 'GET': echostr = request.args.get('echostr', '') return echostr # 处理用户发送的消息 elif request.method == 'POST': xml_data = ET.fromstring(request.data) to_user = xml_data.find('ToUserName').text from_user = xml_data.find('FromUserName').text msg_type = xml_data.find('MsgType').text if msg_type == 'text': content = xml_data.find('Content').text response = ask_openai(content) reply = """ <xml> <ToUserName><![CDATA[{}]]></ToUserName> <FromUserName><![CDATA[{}]]></FromUserName> <CreateTime>{}</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[{}]]></Content> </xml> """.format(from_user, to_user, int(time.time()), response) return make_response(reply) else: return "success"
def ask_openai(prompt):
model_engine = “text-davinci-002”
completions = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=100,
n=1,
stop=None,
temperature=0.5,
)
message = completions.choices[0].text.strip()
return message
if name == ‘main’:
app.run(host=‘0.0.0.0’, port=80)
注意: 请确保替换 your_openai_api_key 和 your_token 为您的实际值。
bash
Copy code
flask run --host=0.0.0.0 --port=80
注意: 请确保在此处提供与您在 app.py 中使用的相同 Token。
常见问题
服务器时间不同步可能导致签名验证失败。在这种情况下,请使用以下命令同步服务器时间:
bash
Copy code
sudo yum install -y chrony
sudo systemctl start chronyd
sudo systemctl enable chronyd
如果您遇到 ImportError,请确保已使用 pip 安装了所有必需的库。
如有任何问题,请检查错误日志以帮助确定问题。
总结,本文为您提供了一个在微信公众号上集成 OpenAI GPT-4 API 的基本指南。请确保遵循所有步骤,并根据需要调整代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。