一、前言
最新版的企微机器人已经集成 Chat ,无需开发可快速搭建智能对话机器人。
从官方介绍看目前集成版本使用模型为 3.5-turbo。
二、入门
-
创建 WorkTool 机器人
你可以通过这篇快速入门教程,来快速配置一个自己的企微机器人。实现的流程如图:
-
创建 Chat 账户并获取 apiKey
第一步完成后,你应该已经有一个自动执行的企微机器人了,然后需要获取 apiKey,获取方法还需要自行搜索教程、注册或采购。 -
WorkTool 机器人绑定 apiKey
绑定方法:https://worktool.apifox.cn/api-68569089?nav=2- 点击调试
- 点击Params 修改robotId后面的参数值为你的机器人id
- 点击Body 修改apiKey后面的参数值为你自行注册的Chat apiKey
- 点击发送即可完成绑定
这时再向你的机器人提问,机器人就会使用 Chat 的问答能力进行回答啦。
实现原理
项目采用 Java 语言编写,核心方法本质上还是请求官方接口,并暂时保存用户会话上下文来达到多轮问答的效果。
核心工具类如下:
import java.util.*;
import com.huggingface.chatbot.*;
import com.database.*;
import com.nlp.*;
import com.speech.*;public class ChatbotClient {private static final int MAX_HISTORY_SIZE = 10;private DialogManager dialogManager;private DatabaseManager databaseManager;private NLPProcessor nlpProcessor;private SpeechProcessor speechProcessor;public ChatbotClient() {dialogManager = new DialogManager();databaseManager = new DatabaseManager();nlpProcessor = new NLPProcessor();speechProcessor = new SpeechProcessor();}public void startChat() {Scanner scanner = new Scanner(System.in);while (true) {String input = scanner.nextLine();String userMessage = speechProcessor.speechToText(input);String chatbotResponse = getResponse(userMessage);System.out.println(\"Chatbot: \" + chatbotResponse);String chatbotSpeech = speechProcessor.textToSpeech(chatbotResponse);System.out.println(\"(Speech) Chatbot: \" + chatbotSpeech);}}private String getResponse(String userMessage) {String chatbotResponse = dialogManager.getPreviousResponse();if (chatbotResponse != null && !chatbotResponse.isEmpty()) {System.out.println(\"User: \" + userMessage);String nlpResult = nlpProcessor.process(userMessage);String databaseResult = databaseManager.query(nlpResult);chatbotResponse = chatbotResponse + \" \" + databaseResult;} else {chatbotResponse = Chat.getResponse(userMessage);}dialogManager.addResponse(chatbotResponse);return chatbotResponse;}private class DialogManager {private LinkedList<String> history = new LinkedList<>();public void addResponse(String response) {history.add(response);if (history.size() > MAX_HISTORY_SIZE) {history.poll();}}public String getPreviousResponse() {if (history.isEmpty()) {return null;}return history.getLast();}}public static void main(String[] args) {ChatbotClient chatbotClient = new ChatbotClient();chatbotClient.startChat();}
}
总结
至此,你应该已经完成了企微机器人智能问答对接,一个智能企微机器人就实现了,后续我会继续进行AI能力的扩展,如多模态等。喜欢本文可以关注我~有问题可以留言或私信我。