Dialogflow webhook 调用api

文章描述了如何在GoogleCloudFunctions中设置DialogflowWebhook,以便处理用户输入并调用OpenAIAPI生成回复。代码展示了如何获取用户消息、处理特定指令和调用OpenAIAPI以提供相关信息。
摘要由CSDN通过智能技术生成

Dialogflow webhook 部署在Google cloud functions上调用api的代码:

设置Entry point : webhook

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 = {
                "fulfillment_response": {
                    "messages": [{"text": {"text": [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()

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值