是否可以使用 API 到 AZURE 机器人服务创建聊天机器人模型传递意图,对话从 java
Is it possible to create chat bot model passing intents , dialog from java using an API to AZURE bot service
- 以下代码用于创建意图并将其传递给 google。
- 我想使用 java + azure bot 平台
实现同样的效果
- 我想要一个框架,用户可以在其中将意图传递给 Azure 上的聊天模型。
- 该框架将在 java 中创建。
- 目前我正在研究 POC,其中我会将如下代码的意图传递给 azure。
- 如果可能的话我想问一下,有没有和google或者amazon in azure一样的api。
import com.google.api.gax.paging.Page;
import com.google.auth.oauth2.ComputeEngineCredentials;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.dialogflow.v2.Intent;
import com.google.cloud.dialogflow.v2.Intent.Message;
import com.google.cloud.dialogflow.v2.Intent.Message.Text;
import com.google.cloud.dialogflow.v2.IntentsClient;
import com.google.cloud.dialogflow.v2.ProjectAgentName;
import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
import com.google.common.collect.Lists;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class SankalpGCPChatBot {
public static void main(String[] args) {
List<String> trainingPhrasesParts = new ArrayList<>();
List<String> messageTexts = new ArrayList<>();
trainingPhrasesParts.add("What is your name?");
messageTexts.add("My name is Sankalp Bot.");
String displayName = "SankalpTestIntent";
String projectId = "newagent-257c8";
try {
createIntent(displayName, projectId, trainingPhrasesParts, messageTexts);
} catch (Exception e) {
e.printStackTrace();
}
}
static void authCompute() {
GoogleCredentials credentials = ComputeEngineCredentials.create();
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
static void authImplicit() {
Storage storage = StorageOptions.getDefaultInstance().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
static void authExplicit(String jsonPath) throws IOException {
GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(jsonPath))
.createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform"));
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
public static Intent createIntent(
String displayName,
String projectId,
List<String> trainingPhrasesParts,
List<String> messageTexts) throws Exception {
try (IntentsClient intentsClient = IntentsClient.create()) {
ProjectAgentName parent = ProjectAgentName.of(projectId);
List<Intent.TrainingPhrase> trainingPhrases = new ArrayList<>();
for (String trainingPhrase : trainingPhrasesParts) {
trainingPhrases.add(
Intent.TrainingPhrase.newBuilder().addParts(
Intent.TrainingPhrase.Part.newBuilder().setText(trainingPhrase).build())
.build());
}
Message message = Message.newBuilder()
.setText(
Text.newBuilder()
.addAllText(messageTexts).build()
).build();
Intent intent = Intent.newBuilder()
.setDisplayName(displayName)
.addMessages(message)
.addAllTrainingPhrases(trainingPhrases)
.build();
Intent response = intentsClient.createIntent(parent, intent);
System.out.format("Intent created: %s\n", response);
return response;
}
}
}
Microsoft Bot Framework 的 Java 版本目前处于预览阶段(并且正在积极开发中)。您可以通过在 Github.
上监视 Botbuilder-Java 存储库来跟踪更改
repo 还包含少量示例,但是 none (AFAIK) 已构建以展示如何将 Java 机器人连接到 LUIS 等语言理解服务。此外,请记住,由于它仍处于预览阶段,因此某些示例可能无法按预期运行。
- 以下代码用于创建意图并将其传递给 google。
- 我想使用 java + azure bot 平台 实现同样的效果
- 我想要一个框架,用户可以在其中将意图传递给 Azure 上的聊天模型。
- 该框架将在 java 中创建。
- 目前我正在研究 POC,其中我会将如下代码的意图传递给 azure。
- 如果可能的话我想问一下,有没有和google或者amazon in azure一样的api。
import com.google.api.gax.paging.Page;
import com.google.auth.oauth2.ComputeEngineCredentials;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.dialogflow.v2.Intent;
import com.google.cloud.dialogflow.v2.Intent.Message;
import com.google.cloud.dialogflow.v2.Intent.Message.Text;
import com.google.cloud.dialogflow.v2.IntentsClient;
import com.google.cloud.dialogflow.v2.ProjectAgentName;
import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
import com.google.common.collect.Lists;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class SankalpGCPChatBot {
public static void main(String[] args) {
List<String> trainingPhrasesParts = new ArrayList<>();
List<String> messageTexts = new ArrayList<>();
trainingPhrasesParts.add("What is your name?");
messageTexts.add("My name is Sankalp Bot.");
String displayName = "SankalpTestIntent";
String projectId = "newagent-257c8";
try {
createIntent(displayName, projectId, trainingPhrasesParts, messageTexts);
} catch (Exception e) {
e.printStackTrace();
}
}
static void authCompute() {
GoogleCredentials credentials = ComputeEngineCredentials.create();
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
static void authImplicit() {
Storage storage = StorageOptions.getDefaultInstance().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
static void authExplicit(String jsonPath) throws IOException {
GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(jsonPath))
.createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform"));
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();
System.out.println("Buckets:");
Page<Bucket> buckets = storage.list();
for (Bucket bucket : buckets.iterateAll()) {
System.out.println(bucket.toString());
}
}
public static Intent createIntent(
String displayName,
String projectId,
List<String> trainingPhrasesParts,
List<String> messageTexts) throws Exception {
try (IntentsClient intentsClient = IntentsClient.create()) {
ProjectAgentName parent = ProjectAgentName.of(projectId);
List<Intent.TrainingPhrase> trainingPhrases = new ArrayList<>();
for (String trainingPhrase : trainingPhrasesParts) {
trainingPhrases.add(
Intent.TrainingPhrase.newBuilder().addParts(
Intent.TrainingPhrase.Part.newBuilder().setText(trainingPhrase).build())
.build());
}
Message message = Message.newBuilder()
.setText(
Text.newBuilder()
.addAllText(messageTexts).build()
).build();
Intent intent = Intent.newBuilder()
.setDisplayName(displayName)
.addMessages(message)
.addAllTrainingPhrases(trainingPhrases)
.build();
Intent response = intentsClient.createIntent(parent, intent);
System.out.format("Intent created: %s\n", response);
return response;
}
}
}
Microsoft Bot Framework 的 Java 版本目前处于预览阶段(并且正在积极开发中)。您可以通过在 Github.
上监视 Botbuilder-Java 存储库来跟踪更改repo 还包含少量示例,但是 none (AFAIK) 已构建以展示如何将 Java 机器人连接到 LUIS 等语言理解服务。此外,请记住,由于它仍处于预览阶段,因此某些示例可能无法按预期运行。