我正在ibm watson上部署test-bot,如https://github.com/eciggaar/text-bot所述,当我尝试使用CLI代工在本地部署代码时,它会出现以下错误.
我使用的是Nodejs版本6.10.3和npm版本5.0.4
有人可以帮我这个.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! text-bot@0.1.2 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the text-bot@0.1.2 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\PRERNA CHUGH\AppData\Roaming\npm-cache\_logs\2017-06-29T13_36_22_995Z-debug.log
Run Code Online (Sandbox Code Playgroud) -期望的行为
-实际行为
-我尝试过的内容
-再现步骤
-研究
期望的行为
从多个api请求接收的多个可读流通过管道传输到单个可写流。
api响应来自ibm-watson的textToSpeech.synthesize()方法。
需要多个请求的原因是因为该服务5KB
对文本输入有限制。
因此18KB
,例如一个字符串,需要四个请求才能完成。
实际行为
可写流文件不完整且出现乱码。
该应用程序似乎“挂起”。
当我尝试.mp3
在音频播放器中打开不完整的文件时,它说文件已损坏。
打开和关闭文件的过程似乎会增加文件的大小-就像打开文件一样,它会促使更多数据流入其中。
对于较大的输入(例如,四个4000字节或更少的字符串),不良行为更加明显。
我尝试过的
我尝试了几种方法,使用npm包Combined-stream,Combined-stream2,multistream和archiver 将可读流传递给单个可写流或多个可写流,它们都会导致文件不完整。我最后一次尝试不使用任何软件包,并在Steps To Reproduce
下面的部分中显示。
因此,我在质疑应用程序逻辑的每个部分:
01. Watson文本对语音API请求的响应类型是什么?
Response type: NodeJS.ReadableStream|FileObject|Buffer
Run Code Online (Sandbox Code Playgroud)
我很困惑,响应类型是三种可能的事情之一。
在所有尝试中,我一直假设它是一个readable stream
。
02. 我可以在一个地图函数中发出多个api请求吗?
03. 我可以在中包装每个请求
promise()
并解决response
吗?04.是否 可以将结果数组分配给
promises
变量?05. 我可以声明
var audio_files = await Promise.all(promises)
吗?06. 声明之后,所有答复都“完成”了吗?
07. 如何正确地将每个响应传递给可写流?
08. 如何检测所有管道何时完成,以便可以将文件发送回客户端? …
我一直在使用AWS来托管我的后端服务器.注册帐户的最佳方式是什么,以便我可以直接从我的服务器调用Watson服务,而无需在Bluemix上使用帐户?如果有,怎么样?我在Watson的网站上找不到.谢谢.
我正在尝试使用我的 python 应用程序转录文件夹中的多个文件并加快进程。目前我可以一次做一个文件 -
####RUN THIS PART FIRST#########
import json
from os.path import join, dirname
from ibm_watson import SpeechToTextV1
from ibm_watson.websocket import RecognizeCallback, AudioSource
import threading
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
import pandas as pd
authenticator = IAMAuthenticator('xxyyzz')
service = SpeechToTextV1(authenticator=authenticator)
service.set_service_url('https://api.us-east.speech-to-text.watson.cloud.ibm.com')
models = service.list_models().get_result()
#print(json.dumps(models, indent=2))
model = service.get_model('en-US_BroadbandModel').get_result()
#print(json.dumps(model, indent=2))
# This is the name of the file u need to change below
with open(join(dirname('__file__'), 'Call 8.wav'),
'rb') as audio_file:
# print(json.dumps(
output = service.recognize(
audio=audio_file,
speaker_labels=True,
content_type='audio/wav',
#timestamps=True, …
Run Code Online (Sandbox Code Playgroud) python speech-recognition speech-to-text ibm-watson ibm-cloud
我想利用这个代码的Node.js使用沃森API,它是在我们的iOS应用IBM云bluemix.任何人都可以告诉我这段代码在做什么,并为我们提供如何使用我们的应用程序中的watson服务的答案.
var express = require('express');
var https = require('https');
var url = require('url');
// setup middleware
var app = express();
app.use(express.errorHandler());
app.use(express.urlencoded()); // to support URL-encoded bodies
app.use(app.router);
app.use(express.static(__dirname + '/public')); //setup static public directory
app.set('view engine', 'jade');
app.set('views', __dirname + '/views'); //optional since express defaults to CWD/views
// There are many useful environment variables available in process.env.
// VCAP_APPLICATION contains useful information about a deployed application.
var appInfo = JSON.parse(process.env.VCAP_APPLICATION || "{}");
// TODO: Get application information and use …
Run Code Online (Sandbox Code Playgroud) 我想使用Bluemix Conversation 示例应用程序
并向其添加语音输入和输出.Bluemix TTS和STT还有其他示例应用程序可用.有哪些选项可以集成这三个功能,哪些是推荐给初学者的?
text-to-speech speech-to-text ibm-watson watson-conversation ibm-cloud
我在Bluemix上使用Watson Conversation服务.我们在服务中有多个Conversation工作区,以便更好地分割问题空间.
我需要在Conversation服务中加载有关可用工作空间集的信息(例如名称,工作空间ID),以允许我定位相应的Conversation API端点.我一直试图找到一个Watson或Bluemix API,允许我直接检索信息,但没有取得任何成功.
有谁知道是否有可能以编程方式检索此信息,以及是否有任何最佳做法?
例如:如果用户在Watson Conversation Service中写入:
"我不想在我的新房子里有一个游泳池,但我很想住在一个公寓里"
你怎么知道用户不想拥有游泳池,但他喜欢住在公寓?
有人可以告诉我如何使用Watson Conversation和其他服务(例如Twilio)进行实时通话并进行对话吗?
我可以使用Watson Conversation,Twilio和NodeRED通过SMS与聊天机器人进行对话.我还能够创建一个Watson Conversation + Watson Speech-to-Text + Watson Text-to-Speech来创建一个我可以在网络浏览器中讲话的聊天聊天机器人.
Twilio给了我一个电话#我可以用来拨打电话所以必须有一种方法可以连接Watson Conversation + Speech-to-Text + Text-to-Speech + Twilio与聊天机器人进行实时电话交谈.
您可以指示我进行此连接的任何示例也会有所帮助.
text-to-speech speech-to-text twilio ibm-watson watson-conversation
在测试了发现服务后,至少对我来说似乎没用,或者我可能会遗漏一些东西.
当我查询时,它匹配文档并返回整个文档.如果我的文档很大,那么对于所有查询,它返回与查询文本匹配的整个文档,这是无用的.
现在,我是否必须为每个查询创建单独的文档?
如果是这种情况,API.AI或WIT.AI是更好的选择.
请告诉我这里我缺少的东西!
ibm-watson ×10
ibm-cloud ×6
node.js ×3
express ×1
fs ×1
javascript ×1
node-streams ×1
npm ×1
python ×1
twilio ×1
watson ×1
wit.ai ×1