Dialogflow CX 使用webhook更改参数

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;

最后的效果图;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值