如何集成IBM Watson Assistant与IBM language-translator API?
开发现状与集成诉求
- 已基于Dialog Skill搭建完成IBM Watson Assistant对话系统
- 已基于Node.js开发完成language-translator API服务
- 当前缺少适配的参考文档与示例,核心需求是打通IBM Watson Assistant与IBM language-translator的完整集成链路
现有翻译API核心代码
app.post("/api/translate", async (req,res)=>{ try{ const translateParams = { text: req.body.input, modelId: req.body.lang, }; var message = ""; const getData = await languageTranslator.translate(translateParams); res.json(getData["result"]["translations"][0].translation); }catch(err){ res.send("sry error"); console.log(err); } });
可落地的集成实现路径
- 在IBM Watson Assistant的Dialog Skill中,定位需要接入翻译能力的对话节点,将节点的响应触发方式设置为调用外部Webhook
- 将已部署上线的
/api/translate接口地址配置为Webhook的请求目标,按接口入参要求完成字段映射:- 把对话流程中捕获的用户待翻译文本,映射为接口要求的
input入参 - 把对话上下文存储的对应翻译模型ID,映射为接口要求的
lang入参
- 把对话流程中捕获的用户待翻译文本,映射为接口要求的
- 配置Webhook结果接收规则,将接口返回的翻译结果存入对话上下文的自定义变量,后续对话节点可直接读取该变量,向用户展示翻译完成的内容
- 在Webhook配置层补充异常兜底逻辑:当接口调用失败时,直接返回预设的友好提示,避免对话流程中断
内容的提问来源于stack exchange,提问作者Pavan Alapati
相关产品推荐
相关产品推荐

