我已经在Dialogflow中创建了一个聊天机器人,现在我想使用Pycharm将其实现到我自己的Python环境中。我还需要采取哪些其余步骤来将两者连接起来,以便我能够根据用户输入(全部通过Python)触发Dialogflow意图?我已经在以下代码中测试了一个Firestore查询,并且该查询已成功运行,所以我知道AdminSDK的设置正确。
import os
import json
import sys
import dialogflow
from dialogflow_v2beta1 import *
import firebase_admin
from firebase_admin import firestore
from firebase_admin import credentials
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
import Tkinter
from Tkinter import *
#Initialize the firebase admin SDK
cred = credentials.Certificate('./mycredfile.json')
default_app = firebase_admin.initialize_app(cred)
db = firestore.client()
#halfcoded gui in chatbot format, to later publish in html and allow user to acess
#window = Tk()
#window.title("Chatbot")
#window.geometry('400x400')
#User_Input = Entry(window, width=50).place(x=20, y=350)
#subButton = Button(window, text="Send")
#subButton.place(x =350, y=350)
#window.mainloop()
给我的印象是,我只需要实现adminSDK .json文件。 进一步阅读Here使我相信我需要设置身份验证,因此已将其添加到上面的代码中:
#Connect to Dialogflow using Service Account Credential
def explicit():
from google.cloud import storage
# Explicitly use service account credentials by specifying the private key file.
storage_client = storage.Client.from_service_account_json(
'./chatbot-pvtkeyfile.json')
# Make an authenticated API request
buckets = list(storage_client.list_buckets())
print(buckets)
尽管如此,但仅显示“处理完成”。从这里开始,有什么方法可以检查我的平台是否可以与我的机器人通信,即接受用户输入并有意图地进行响应。
答案 0 :(得分:2)
已解决
我还必须启动GOOGLE_APPLICATION_CREDENTIALS,这使我能够从Dialogflow集成我的机器人。