gpt4 book ai didi

dialogflow-es - Dialogflow 日志在 stackdriver 中给我一个没有逗号的 JSON

转载 作者:行者123 更新时间:2023-12-05 06:25:59 29 4
gpt4 key购买 nike

我正在使用 dialogflow 创建聊天机器人,我想恢复所有消息并将它们发送到 bigquery,然后我将 bigquery 链接到 datastudio 以向我的客户显示数据面板。

Dialogflow 自动将所有日志发送到 stackdriver,但是当 textPayload 打开时,它没有逗号以将其用作通用 JSON。

¿有什么想法吗?

Stackdriver log

Dialogflow Response : id: "3f6c4006-e8fd-4c59-af75-1f62e5785c3c-2dd8e723"
lang: "es"
session_id: "d1eea2ea-3dcc-447c-8883-a23a89d9e570"
timestamp: "2019-06-09T20:21:24.465Z"
result {
source: "agent"
resolved_query: "Comunidad"
score: 1.0
parameters {
}
contexts {
name: "generic"
lifespan: 4
parameters {
fields {
key: "facebook_sender_id"
value {
string_value: "2665762213453771"
}
}
}
}
metadata {
intent_id: "843d151c-ffaa-43a5-b1af-7537947aeb98"
intent_name: "CommunityIntent"
webhook_used: "false"
webhook_for_slot_filling_used: "false"
is_fallback_intent: "false"
}
fulfillment {
speech: "Nuestra comunidad busca vincular desarrolladores para crecer como un ecosistema tecnol\303\263gico. Puedes checar m\303\241s sobre nuestros eventos en http://cloudmex.io/servicios/workshops-y-meetups/"
messages {
lang: "es"
type {
number_value: 0.0
}
speech {
string_value: "Nuestra comunidad busca vincular desarrolladores para crecer como un ecosistema tecnol\303\263gico. Puedes checar m\303\241s sobre nuestros eventos en http://cloudmex.io/servicios/workshops-y-meetups/"
}
}
}
}
status {
code: 200
error_type: "success"
}

**更新:Stackdriver 日志 **

{
insertId: "qd0nynfxfz53o"
labels: {
protocol: "V2"
request_id: "7034b4ec-3b54-4f0c-9cee-8a37eb117f66-2dd8e723"
source: "facebook"
type: "dialogflow_response"
}
logName: "projects/cloudy-76f21/logs/dialogflow_agent"
receiveTimestamp: "2019-06-09T19:32:53.416394429Z"
resource: {
labels: {
project_id: "cloudy-76f21"
}
type: "global"
}
severity: "INFO"
textPayload: "Dialogflow Response : id: "7034b4ec-3b54-4f0c-9cee-8a37eb117f66-2dd8e723"
lang: "es"
session_id: "d1eea2ea-3dcc-447c-8883-a23a89d9e570"
timestamp: "2019-06-09T19:32:53.334Z"
result {
source: "agent"
resolved_query: "Prueba"
action: "input.unknown"
score: 1.0
parameters {
}
contexts {
name: "generic"
lifespan: 4
parameters {
fields {
key: "facebook_sender_id"
value {
string_value: "2665762213453771"
}
}
}
}
metadata {
intent_id: "25d76718-8282-47ae-999e-55c40baba860"
intent_name: "Default Fallback Intent"
webhook_used: "false"
webhook_for_slot_filling_used: "false"
is_fallback_intent: "true"
}
fulfillment {
speech: "Si es necesario puedes pedirme ayuda con solo mencionarlo."
messages {
lang: "es"
type {
number_value: 0.0
}
speech {
string_value: "Si es necesario puedes pedirme ayuda con solo mencionarlo."
}
}
}
}
status {
code: 200
error_type: "success"
}
"
timestamp: "2019-06-09T19:32:53.416394429Z"
trace: "d1eea2ea-3dcc-447c-8883-a23a89d9e570"
}

最佳答案

当应用程序将日志写入 Stackdriver 时,它可以写入一行文本或结构化负载。选择写入什么取决于写入应用程序。对话流似乎正在编写一行以下形式的文本:

Dialogflow Request : <Rest of text>

哪里<Rest of text>似乎是一个 JSON 字符串。如果是这种情况,那么 Dialogflow 与 Stackdriver 写作的配合不是很好是有争议的,但可能存在我们不熟悉的故事。无论哪种方式,我们都有我们所拥有的。

我们现在需要做的是考虑将这些数据转换成您可以使用的形式。如果我们假设您只需要 Dialogflow 请求的 JSON 表示形式,那么我们要做的就是从 Stackdriver 检索记录并找到 textPayload 行。如果他们以 Dialogflow Request : 开头然后我们将其剥离并将该行的其余部分解析为 JSON,然后我们就有了数据。

有很多方法可以做到这一点,选择取决于您希望如何处理数据。假设您不需要实时实时解析,那么我会将 Stackdriver 日志导出为 GCS 对象(文件)并通过 Datafusion(或您自己的手写解析器)等 ETL 工具传递它们。然后可以将生成的数据写入新的 GCS 文件并导入 BigQuery。

如果您需要实时处理,一种方法是将 Stackdriver 日志消息写入 PubSub,并让 Cloud Functions 在写入时获取每条记录。该函数可以解析我们的数据并将其写入 BigQuery。

关于dialogflow-es - Dialogflow 日志在 stackdriver 中给我一个没有逗号的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519291/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com