webhook python代码:
import json
import requests
import re
api_key = "******"
chat_bot_id = "*******"
url = "*******"
def webhook(request):
try:
req = request.get_json() # 轉換成 dict 格式
user_message = req['text'] # 取得用户消息
if user_message=='Osteoporosis AI Expert':
a = {
"fulfillment_response": {
"messages": [{"text": {"text": ['Hey']}}]
}
}
else:
# 调用OpenAI API
openai_response = call_openai_api(user_message)
response_text = openai_response['response']
if "我不知道" in response_text:
response_text += "如果您想进一步了解情况,请联系*******。"
# 构建回复
a ={
"session_info": {
"parameters": {
"re": [response_text] #添加一个名字为re的参数,参数值是response_text
}
}
}
print(a)
# return jsonify(fulfillment_response)
return a
except:
print(request.args)
return {"fulfillment_response": {"messages": [{"text": {"text": ['An error occurred.']}}]}}
def call_openai_api(prompt):
headers = {
"X-Api-Key": api_key,
"Content-Type": "application/json"
}
data = {
"chatId": None,
"chatBotId": chat_bot_id,
"message": prompt,
"stream": False
}
response = requests.post(url, headers=headers, json=data)
return response.json()
然后在dialogflow内设置Custom payload;
最后的效果图;