All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.cloud.dialogflow.v2.package-info Maven / Gradle / Ivy

There is a newer version: 4.59.0
Show newest version
/*
 * Copyright 2019 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * A client to Dialogflow API.
 *
 * 

The interfaces provided are listed below, along with usage samples. * *

============ AgentsClient ============ * *

Service Description: Agents are best described as Natural Language Understanding (NLU) modules * that transform user requests into actionable data. You can include agents in your app, product, * or service to determine user intent and respond to the user in a natural way. * *

After you create an agent, you can add [Intents][google.cloud.dialogflow.v2.Intents], * [Contexts][google.cloud.dialogflow.v2.Contexts], [Entity * Types][google.cloud.dialogflow.v2.EntityTypes], * [Webhooks][google.cloud.dialogflow.v2.WebhookRequest], and so on to manage the flow of a * conversation and match user input to predefined intents and actions. * *

You can create an agent using both Dialogflow Standard Edition and Dialogflow Enterprise * Edition. For details, see [Dialogflow Editions](/dialogflow-enterprise/docs/editions). * *

You can save your agent for backup or versioning by exporting the agent by using the * [ExportAgent][google.cloud.dialogflow.v2.Agents.ExportAgent] method. You can import a saved agent * by using the [ImportAgent][google.cloud.dialogflow.v2.Agents.ImportAgent] method. * *

Dialogflow provides several [prebuilt agents](https://dialogflow.com/docs/prebuilt-agents) for * common conversation scenarios such as determining a date and time, converting currency, and so * on. * *

For more information about agents, see the [Dialogflow * documentation](https://dialogflow.com/docs/agents). * *

Sample for AgentsClient: * *

 * 
 * try (AgentsClient agentsClient = AgentsClient.create()) {
 *   ProjectName parent = ProjectName.of("[PROJECT]");
 *   Agent response = agentsClient.getAgent(parent);
 * }
 * 
 * 
* * ============== ContextsClient ============== * *

Service Description: A context represents additional information included with user input or * with an intent returned by the Dialogflow API. Contexts are helpful for differentiating user * input which may be vague or have a different meaning depending on additional details from your * application such as user setting and preferences, previous user input, where the user is in your * application, geographic location, and so on. * *

You can include contexts as input parameters of a * [DetectIntent][google.cloud.dialogflow.v2.Sessions.DetectIntent] (or * [StreamingDetectIntent][google.cloud.dialogflow.v2.Sessions.StreamingDetectIntent]) request, or * as output contexts included in the returned intent. Contexts expire when an intent is matched, * after the number of `DetectIntent` requests specified by the `lifespan_count` parameter, or after * 10 minutes if no intents are matched for a `DetectIntent` request. * *

For more information about contexts, see the [Dialogflow * documentation](https://dialogflow.com/docs/contexts). * *

Sample for ContextsClient: * *

 * 
 * try (ContextsClient contextsClient = ContextsClient.create()) {
 *   ContextName name = ContextName.of("[PROJECT]", "[SESSION]", "[CONTEXT]");
 *   Context response = contextsClient.getContext(name);
 * }
 * 
 * 
* * ================= EntityTypesClient ================= * *

Service Description: Entities are extracted from user input and represent parameters that are * meaningful to your application. For example, a date range, a proper name such as a geographic * location or landmark, and so on. Entities represent actionable data for your application. * *

When you define an entity, you can also include synonyms that all map to that entity. For * example, "soft drink", "soda", "pop", and so on. * *

There are three types of entities: * *

* **System** - entities that are defined by the Dialogflow API for common * data types such as date, time, currency, and so on. A system entity is represented by the * `EntityType` type. * *

* **Developer** - entities that are defined by you that represent * actionable data that is meaningful to your application. For example, you could define a * `pizza.sauce` entity for red or white pizza sauce, a `pizza.cheese` entity for the different * types of cheese on a pizza, a `pizza.topping` entity for different toppings, and so on. A * developer entity is represented by the `EntityType` type. * *

* **User** - entities that are built for an individual user such as * favorites, preferences, playlists, and so on. A user entity is represented by the * [SessionEntityType][google.cloud.dialogflow.v2.SessionEntityType] type. * *

For more information about entity types, see the [Dialogflow * documentation](https://dialogflow.com/docs/entities). * *

Sample for EntityTypesClient: * *

 * 
 * try (EntityTypesClient entityTypesClient = EntityTypesClient.create()) {
 *   EntityTypeName name = EntityTypeName.of("[PROJECT]", "[ENTITY_TYPE]");
 *   EntityType response = entityTypesClient.getEntityType(name);
 * }
 * 
 * 
* * ============= IntentsClient ============= * *

Service Description: An intent represents a mapping between input from a user and an action to * be taken by your application. When you pass user input to the * [DetectIntent][google.cloud.dialogflow.v2.Sessions.DetectIntent] (or * [StreamingDetectIntent][google.cloud.dialogflow.v2.Sessions.StreamingDetectIntent]) method, the * Dialogflow API analyzes the input and searches for a matching intent. If no match is found, the * Dialogflow API returns a fallback intent (`is_fallback` = true). * *

You can provide additional information for the Dialogflow API to use to match user input to an * intent by adding the following to your intent. * *

* **Contexts** - provide additional context for intent analysis. For * example, if an intent is related to an object in your application that plays music, you can * provide a context to determine when to match the intent if the user input is “turn it off”. You * can include a context that matches the intent when there is previous user input of "play music", * and not when there is previous user input of "turn on the light". * *

* **Events** - allow for matching an intent by using an event name instead * of user input. Your application can provide an event name and related parameters to the * Dialogflow API to match an intent. For example, when your application starts, you can send a * welcome event with a user name parameter to the Dialogflow API to match an intent with a * personalized welcome message for the user. * *

* **Training phrases** - provide examples of user input to train the * Dialogflow API agent to better match intents. * *

For more information about intents, see the [Dialogflow * documentation](https://dialogflow.com/docs/intents). * *

Sample for IntentsClient: * *

 * 
 * try (IntentsClient intentsClient = IntentsClient.create()) {
 *   IntentName name = IntentName.of("[PROJECT]", "[INTENT]");
 *   Intent response = intentsClient.getIntent(name);
 * }
 * 
 * 
* * ======================== SessionEntityTypesClient ======================== * *

Service Description: Entities are extracted from user input and represent parameters that are * meaningful to your application. For example, a date range, a proper name such as a geographic * location or landmark, and so on. Entities represent actionable data for your application. * *

Session entity types are referred to as **User** entity types and are entities * that are built for an individual user such as favorites, preferences, playlists, and so on. You * can redefine a session entity type at the session level. * *

For more information about entity types, see the [Dialogflow * documentation](https://dialogflow.com/docs/entities). * *

Sample for SessionEntityTypesClient: * *

 * 
 * try (SessionEntityTypesClient sessionEntityTypesClient = SessionEntityTypesClient.create()) {
 *   SessionEntityTypeName name = SessionEntityTypeName.of("[PROJECT]", "[SESSION]", "[ENTITY_TYPE]");
 *   SessionEntityType response = sessionEntityTypesClient.getSessionEntityType(name);
 * }
 * 
 * 
* * ============== SessionsClient ============== * *

Service Description: A session represents an interaction with a user. You retrieve user input * and pass it to the [DetectIntent][google.cloud.dialogflow.v2.Sessions.DetectIntent] (or * [StreamingDetectIntent][google.cloud.dialogflow.v2.Sessions.StreamingDetectIntent]) method to * determine user intent and respond. * *

Sample for SessionsClient: * *

 * 
 * try (SessionsClient sessionsClient = SessionsClient.create()) {
 *   SessionName session = SessionName.of("[PROJECT]", "[SESSION]");
 *   QueryInput queryInput = QueryInput.newBuilder().build();
 *   DetectIntentResponse response = sessionsClient.detectIntent(session, queryInput);
 * }
 * 
 * 
*/ package com.google.cloud.dialogflow.v2;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy