我实际上正在尝试在Android中将Dialogflow v2与Java sdk一起使用。
我已经可以对dialogflow进行查询,但是我想在查询中发送一些有效负载。 因此,我发现了 QueryParameters 对象,并已经使用所需的有效负载对其进行了设置。
问题是,我同时定义了 QueryInput 和 QueryParameters ,但是没有有关如何将参数应用于的文档(或源代码中的代码引用)。输入,然后再尝试检测意图。
SessionsClient.create().use { sessionsClient ->
// Set the session name using the sessionId (UUID) and projectID
val session = SessionName.of(PROJECT_ID, UUID)
System.out.println("Session Path: $session")
// Set the text (input) and language code (en) for the query
val textInput = TextInput.newBuilder().setText(text).setLanguageCode(LANGUAGE_CODE)
// Build the query with the TextInput
val queryInput = QueryInput.newBuilder().setText(textInput).build()
// Set payload
val payload = "{someid: $someid}"
val queryParameters = QueryParameters.newBuilder().setPayload(Struct.parseFrom(payload.toByteArray())).build()
// (HERE I NEED TO ADD THE PARAMETERS TO INPUT)
// Performs the detect intent request
val response = sessionsClient.detectIntent(session, queryInput)
// returns the query result
return response.queryResult
}
答案 0 :(得分:0)
经过数小时的深入搜索,我设法找到了 DetectIntentRequest 类。
//Build the request
val request = DetectIntentRequest.newBuilder()
.setSession(session.toString())
.setQueryInput(queryInput)
.setQueryParams(queryParameters)
.build()
// Performs the detect intent request
val response = sessionsClient.detectIntent(request)
注意:如果您使用的是其他语言,则可能会有三分之一 detectIntent函数中的参数来放置您的queryParameters
答案 1 :(得分:0)
对于Kotlin,
val queryInput1211 = QueryInput.newBuilder()
.setText(TextInput.newBuilder().setText(msg).setLanguageCode("en-US"))
.setEvent(com.google.cloud.dialogflow.v2beta1.EventInput.newBuilder()
.setName("Welcome")
.setLanguageCode("en-US")
.setParameters(
Struct.newBuilder().putFields("user_id",
Value.newBuilder().setStringValue("1234").build())
.build())
.build())
.build()
对于Java
QueryInput queryInput1211 = QueryInput.newBuilder()
.setText(TextInput.newBuilder().setText(msg).setLanguageCode("en-US"))
.setEvent(com.google.cloud.dialogflow.v2beta1.EventInput.newBuilder()
.setName("Welcome")
.setLanguageCode("en-US")
.setParameters(
Struct.newBuilder().putFields("user_id",
Value.newBuilder().setStringValue("1234").build())
.build())
.build())
.build();
Welcome
是意向事件名称,user_id
是参数名称