Merge branch 'master' of https://github.com/Oceania2018/BotSharp
This commit is contained in:
commit
8a12e2e825
|
|
@ -51,7 +51,7 @@ namespace BotSharp.Core.UnitTest
|
|||
|
||||
agents.ForEach(agentHeader => {
|
||||
var bot = new BotSharpAi();
|
||||
bot.RestoreAgent<AgentImporterInDialogflow>(agentHeader);
|
||||
bot.RestoreAgent<AgentImporterInDialogflow>();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ namespace BotSharp.Core.UnitTest
|
|||
public class BotTrainerTest : TestEssential
|
||||
{
|
||||
[TestMethod]
|
||||
public void TrainingTest()
|
||||
public async void TrainingTest()
|
||||
{
|
||||
var ai = new BotSharpAi();
|
||||
ai.LoadAgent(BOT_ID);
|
||||
ai.Train();
|
||||
await ai.Train(new BotTrainOptions { });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ namespace BotSharp.Core.Engines
|
|||
/// <summary>
|
||||
/// Load agent summary
|
||||
/// </summary>
|
||||
/// <param name="agentHeader"></param>
|
||||
/// <returns></returns>
|
||||
Agent LoadAgent(AgentImportHeader agentHeader);
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,16 @@ namespace BotSharp.Core.Engines
|
|||
/// <returns></returns>
|
||||
Agent LoadAgent(string id);
|
||||
|
||||
/// <summary>
|
||||
/// Load agent from files.
|
||||
/// There must contain a meta.json
|
||||
/// </summary>
|
||||
/// <param name="dataDir"></param>
|
||||
/// <returns></returns>
|
||||
Agent LoadAgentFromFile(string dataDir);
|
||||
|
||||
AIResponse TextRequest(AIRequest request);
|
||||
|
||||
Task Train();
|
||||
Task Train(BotTrainOptions options);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,13 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="Accounts\**" />
|
||||
<EmbeddedResource Remove="Accounts\**" />
|
||||
<None Remove="Accounts\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BotSharp.NLP" Version="0.2.3" />
|
||||
<PackageReference Include="DotNetToolkit" Version="1.6.0" />
|
||||
<PackageReference Include="EntityFrameworkCore.BootKit" Version="1.9.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="2.1.1" />
|
||||
|
|
@ -55,8 +62,4 @@
|
|||
<Folder Include="Engines\CoreNlp\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\BotSharp.NLP\BotSharp.NLP\BotSharp.NLP.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace BotSharp.Core.Engines
|
|||
{
|
||||
public String Id { get; set; }
|
||||
public String Name { get; set; }
|
||||
public String UserId { get; set; }
|
||||
public String Platform { get; set; }
|
||||
public String ClientAccessToken { get; set; }
|
||||
public String DeveloperAccessToken { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using BotSharp.Core.Agents;
|
||||
using BotSharp.Core.Engines.Rasa;
|
||||
using BotSharp.Core.Entities;
|
||||
using BotSharp.Core.Intents;
|
||||
using BotSharp.Core.Models;
|
||||
|
|
@ -53,6 +54,7 @@ namespace BotSharp.Core.Engines
|
|||
ResolvedQuery = doc.Sentences[0].Text,
|
||||
Fulfillment = new AIResponseFulfillment { },
|
||||
Parameters = parameters,
|
||||
Entities = doc.Sentences[0].Entities,
|
||||
Metadata = new AIResponseMetadata
|
||||
{
|
||||
IntentName = doc.Sentences[0].Intent?.Label
|
||||
|
|
@ -85,28 +87,44 @@ namespace BotSharp.Core.Engines
|
|||
/// Restore a agent instance from backup json files
|
||||
/// </summary>
|
||||
/// <param name="importer"></param>
|
||||
/// <param name="agentHeader"></param>
|
||||
/// <param name="dataDir"></param>
|
||||
/// <returns></returns>
|
||||
public bool RestoreAgent<TAgentImporter>(AgentImportHeader agentHeader) where TAgentImporter : IAgentImporter, new()
|
||||
public bool RestoreAgent<TAgentImporter>() where TAgentImporter : IAgentImporter, new()
|
||||
{
|
||||
string dataDir = Path.Combine(DbInitializerPath, "Agents");
|
||||
|
||||
int row = dc.DbTran(() => {
|
||||
LoadAgentFromFile<TAgentImporter>(dataDir, agentHeader);
|
||||
LoadAgentFromFile(dataDir);
|
||||
SaveAgent();
|
||||
});
|
||||
|
||||
return row > 0;
|
||||
}
|
||||
|
||||
public Agent LoadAgentFromFile<TAgentImporter>(string dataDir, AgentImportHeader agentHeader) where TAgentImporter : IAgentImporter, new()
|
||||
public Agent LoadAgentFromFile(string dataDir)
|
||||
{
|
||||
var importer = new TAgentImporter();
|
||||
var meta = LoadMeta(dataDir);
|
||||
IAgentImporter importer = null;
|
||||
|
||||
switch (meta.Platform)
|
||||
{
|
||||
case "Dialogflow":
|
||||
importer = new AgentImporterInDialogflow();
|
||||
break;
|
||||
case "Rasa":
|
||||
importer = new AgentImporterInRasa();
|
||||
break;
|
||||
case "Sebis":
|
||||
importer = new AgentImporterInSebis();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
importer.AgentDir = dataDir;
|
||||
|
||||
// Load agent summary
|
||||
agent = importer.LoadAgent(agentHeader);
|
||||
agent = importer.LoadAgent(meta);
|
||||
|
||||
// Load user custom entities
|
||||
importer.LoadCustomEntities(agent);
|
||||
|
|
@ -123,6 +141,14 @@ namespace BotSharp.Core.Engines
|
|||
return agent;
|
||||
}
|
||||
|
||||
private AgentImportHeader LoadMeta(string dataDir)
|
||||
{
|
||||
// load meta
|
||||
string metaJson = File.ReadAllText(Path.Combine(dataDir, "meta.json"));
|
||||
|
||||
return JsonConvert.DeserializeObject<AgentImportHeader>(metaJson);
|
||||
}
|
||||
|
||||
public String SaveAgent()
|
||||
{
|
||||
var existedAgent = dc.Table<Agent>().FirstOrDefault(x => x.Id == agent.Id || x.Name == agent.Name);
|
||||
|
|
@ -138,6 +164,76 @@ namespace BotSharp.Core.Engines
|
|||
}
|
||||
}
|
||||
|
||||
public TrainingCorpus GetIntentExpressions(Agent agent)
|
||||
{
|
||||
TrainingCorpus corpus = new TrainingCorpus()
|
||||
{
|
||||
UserSays = new List<TrainingIntentExpression<TrainingIntentExpressionPart>>(),
|
||||
Entities = new List<TrainingEntity>()
|
||||
};
|
||||
|
||||
var expressParts = new List<IntentExpressionPart>();
|
||||
|
||||
var intents = agent.Intents;
|
||||
|
||||
intents.ForEach(intent =>
|
||||
{
|
||||
intent.UserSays.ForEach(exp =>
|
||||
{
|
||||
exp.Data = exp.Data.OrderBy(x => x.UpdatedTime).ToList();
|
||||
|
||||
var say = new TrainingIntentExpression<TrainingIntentExpressionPart>
|
||||
{
|
||||
Intent = intent.Name,
|
||||
Text = String.Join("", exp.Data.Select(x => x.Text)),
|
||||
ContextHash = intent.ContextHash
|
||||
};
|
||||
|
||||
// convert entity format
|
||||
exp.Data.Where(x => !String.IsNullOrEmpty(x.Meta))
|
||||
.ToList()
|
||||
.ForEach(x =>
|
||||
{
|
||||
var part = new TrainingIntentExpressionPart
|
||||
{
|
||||
Value = x.Text,
|
||||
Entity = $"{x.Meta}:{x.Alias}",
|
||||
Start = x.Start
|
||||
};
|
||||
|
||||
if (say.Entities == null) say.Entities = new List<TrainingIntentExpressionPart>();
|
||||
say.Entities.Add(part);
|
||||
|
||||
// assemble entity synonmus
|
||||
/*if (!trainingData.Entities.Any(y => y.EntityType == x.Alias && y.EntityValue == x.Text))
|
||||
{
|
||||
var allSynonyms = (from e in dc.Table<EntityType>()
|
||||
join ee in dc.Table<EntityEntry>() on e.Id equals ee.EntityId
|
||||
join ees in dc.Table<EntrySynonym>() on ee.Id equals ees.EntityEntryId
|
||||
where e.Name == x.Alias && ee.Value == x.Text & ees.Synonym != x.Text
|
||||
select ees.Synonym).ToList();
|
||||
|
||||
var te = new TrainingEntity
|
||||
{
|
||||
EntityType = $"{x.Meta}:{x.Alias}",
|
||||
EntityValue = x.Text,
|
||||
Synonyms = allSynonyms
|
||||
};
|
||||
|
||||
trainingData.Entities.Add(te);
|
||||
}*/
|
||||
});
|
||||
|
||||
corpus.UserSays.Add(say);
|
||||
});
|
||||
});
|
||||
|
||||
// remove Default Fallback Intent
|
||||
corpus.UserSays = corpus.UserSays.Where(x => x.Intent != "Default Fallback Intent").ToList();
|
||||
|
||||
return corpus;
|
||||
}
|
||||
|
||||
public TrainingCorpus GetIntentExpressions()
|
||||
{
|
||||
TrainingCorpus corpus = new TrainingCorpus()
|
||||
|
|
@ -212,7 +308,7 @@ namespace BotSharp.Core.Engines
|
|||
return corpus;
|
||||
}
|
||||
|
||||
public virtual Task Train()
|
||||
public virtual Task Train(BotTrainOptions options)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace BotSharp.Core.Engines
|
|||
public async Task<NlpDoc> Predict(Agent agent, AIRequest request)
|
||||
{
|
||||
// load model
|
||||
var dir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "ModelFiles", agent.Id);
|
||||
var dir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", agent.Id, request.Model);
|
||||
Console.WriteLine($"Load model from {dir}");
|
||||
var metaJson = File.ReadAllText(Path.Combine(dir, "metadata.json"));
|
||||
var meta = JsonConvert.DeserializeObject<ModelMetaData>(metaJson);
|
||||
|
|
@ -49,6 +49,7 @@ namespace BotSharp.Core.Engines
|
|||
|
||||
var settings = new PipeSettings
|
||||
{
|
||||
ModelDir = dir,
|
||||
ProjectDir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", agent.Id),
|
||||
AlgorithmDir = Path.Combine(AppDomain.CurrentDomain.GetData("ContentRootPath").ToString(), "Algorithms")
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ namespace BotSharp.Core.Engines.BotSharp
|
|||
{
|
||||
public class BotSharpAi : BotEngineBase, IBotPlatform
|
||||
{
|
||||
public override async Task Train()
|
||||
public override async Task Train(BotTrainOptions options)
|
||||
{
|
||||
agent.Corpus = GetIntentExpressions();
|
||||
agent.Corpus = GetIntentExpressions(agent);
|
||||
var trainer = new BotTrainer(agent.Id, dc);
|
||||
await trainer.Train(agent);
|
||||
await trainer.Train(agent, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,28 +17,35 @@ namespace BotSharp.Core.Engines.BotSharp
|
|||
public IConfiguration Configuration { get; set; }
|
||||
public PipeSettings Settings { get; set; }
|
||||
|
||||
public Task<bool> Predict(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
private TaggerFactory<NGramTagger> _tagger;
|
||||
|
||||
public async Task<bool> Train(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
public BotSharpTagger()
|
||||
{
|
||||
string dataDir = Path.Combine(Configuration.GetValue<String>("BotSharpTagger:dataDir"), "CoNLL");
|
||||
string dataDir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Corpus", "CoNLL");
|
||||
var data = new CoNLLReader().Read(new ReaderOptions
|
||||
{
|
||||
DataDir = dataDir,
|
||||
FileName = "conll2000_chunking_train.txt"
|
||||
});
|
||||
|
||||
var tagger = new TaggerFactory<NGramTagger>(new TagOptions
|
||||
_tagger = new TaggerFactory<NGramTagger>(new TagOptions
|
||||
{
|
||||
NGram = 1,
|
||||
Tag = "NN",
|
||||
Corpus = data
|
||||
}, SupportedLanguage.English);
|
||||
}
|
||||
|
||||
doc.Sentences.ForEach(x => tagger.Tag(new Sentence { Words = x.Tokens }));
|
||||
public async Task<bool> Predict(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
{
|
||||
doc.Sentences.ForEach(x => _tagger.Tag(new Sentence { Words = x.Tokens }));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<bool> Train(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
{
|
||||
doc.Sentences.ForEach(x => _tagger.Tag(new Sentence { Words = x.Tokens }));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,29 +14,35 @@ namespace BotSharp.Core.Engines.BotSharp
|
|||
{
|
||||
public IConfiguration Configuration { get; set; }
|
||||
public PipeSettings Settings { get; set; }
|
||||
private TokenizerFactory<RegexTokenizer> _tokenizer;
|
||||
|
||||
public BotSharpTokenizer()
|
||||
{
|
||||
_tokenizer = new TokenizerFactory<RegexTokenizer>(new TokenizationOptions
|
||||
{
|
||||
Pattern = RegexTokenizer.WORD_PUNC
|
||||
}, SupportedLanguage.English);
|
||||
}
|
||||
|
||||
public async Task<bool> Predict(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
{
|
||||
// same as train
|
||||
doc.Sentences.ForEach(snt =>
|
||||
{
|
||||
snt.Tokens = _tokenizer.Tokenize(snt.Text);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<bool> Train(Agent agent, NlpDoc doc, PipeModel meta)
|
||||
{
|
||||
List<List<Token>> tokens = new List<List<Token>>();
|
||||
var corpus = agent.Corpus;
|
||||
|
||||
var tokenizer = new TokenizerFactory<RegexTokenizer>(new TokenizationOptions
|
||||
{
|
||||
Pattern = RegexTokenizer.WORD_PUNC
|
||||
}, SupportedLanguage.English);
|
||||
|
||||
doc.Sentences = new List<NlpDocSentence>();
|
||||
List<string> sentencesList = new List<string>();
|
||||
corpus.UserSays.ForEach(say =>
|
||||
agent.Corpus.UserSays.ForEach(say =>
|
||||
{
|
||||
doc.Sentences.Add(new NlpDocSentence
|
||||
{
|
||||
Tokens = tokenizer.Tokenize(say.Text),
|
||||
Tokens = _tokenizer.Tokenize(say.Text),
|
||||
Text = say.Text
|
||||
});
|
||||
});
|
||||
|
|
|
|||
19
BotSharp.Core/Engines/BotTrainOptions.cs
Normal file
19
BotSharp.Core/Engines/BotTrainOptions.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.Core.Engines
|
||||
{
|
||||
public class BotTrainOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Agent data direcotry
|
||||
/// </summary>
|
||||
public string AgentDir { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Model Name
|
||||
/// </summary>
|
||||
public string Model { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -33,17 +33,8 @@ namespace BotSharp.Core.Engines
|
|||
this.agentId = agentId;
|
||||
}
|
||||
|
||||
public async Task<ModelMetaData> Train(Agent agent)
|
||||
public async Task<ModelMetaData> Train(Agent agent, BotTrainOptions options)
|
||||
{
|
||||
/*agent.Intents = dc.Table<Intent>()
|
||||
.Include(x => x.Contexts)
|
||||
.Include(x => x.Responses).ThenInclude(x => x.Contexts)
|
||||
.Include(x => x.Responses).ThenInclude(x => x.Parameters).ThenInclude(x => x.Prompts)
|
||||
.Include(x => x.Responses).ThenInclude(x => x.Messages)
|
||||
.Include(x => x.UserSays).ThenInclude(x => x.Data)
|
||||
.Where(x => x.AgentId == agentId)
|
||||
.ToList();*/
|
||||
|
||||
var data = new NlpDoc();
|
||||
|
||||
// Get NLP Provider
|
||||
|
|
@ -70,7 +61,7 @@ namespace BotSharp.Core.Engines
|
|||
AlgorithmDir = Path.Combine(AppDomain.CurrentDomain.GetData("ContentRootPath").ToString(), "Algorithms")
|
||||
};
|
||||
|
||||
settings.ModelDir = Path.Combine(settings.ProjectDir, "model" + DateTime.UtcNow.ToString("MMddyyyyHHmm"));
|
||||
settings.ModelDir = Path.Combine(settings.ProjectDir, String.IsNullOrEmpty(options.Model) ? "model" + DateTime.UtcNow.ToString("MMddyyyyHHmm") : options.Model);
|
||||
|
||||
if (!Directory.Exists(settings.ProjectDir))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,6 +17,11 @@ namespace BotSharp.Core.Models
|
|||
|
||||
public OriginalRequest OriginalRequest { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// What model is used to predict.
|
||||
/// </summary>
|
||||
public string Model { get; set; }
|
||||
|
||||
public AIRequest()
|
||||
{
|
||||
Contexts = new List<AIContext>();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using BotSharp.Core.Intents;
|
||||
using BotSharp.Models.NLP;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
|
|
@ -33,6 +34,8 @@ namespace BotSharp.Core.Models
|
|||
|
||||
public Dictionary<string, object> Parameters { get; set; }
|
||||
|
||||
public List<NlpEntity> Entities { get; set; }
|
||||
|
||||
public AIContext[] Contexts { get; set; }
|
||||
|
||||
public AIResponseMetadata Metadata { get; set; }
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ namespace BotSharp.Core.Engines
|
|||
public Agent LoadAgent(AgentImportHeader agentHeader)
|
||||
{
|
||||
// load agent profile
|
||||
string data = File.ReadAllText(Path.Combine(AgentDir, "Dialogflow", $"{agentHeader.Name}{Path.DirectorySeparatorChar}agent.json"));
|
||||
string data = File.ReadAllText(Path.Combine(AgentDir, "agent.json"));
|
||||
var agent = JsonConvert.DeserializeObject<DialogflowAgent>(data);
|
||||
agent.Name = agentHeader.Name;
|
||||
agent.Id = agentHeader.Id;
|
||||
|
|
@ -54,7 +54,7 @@ namespace BotSharp.Core.Engines
|
|||
public void LoadCustomEntities(Agent agent)
|
||||
{
|
||||
agent.Entities = new List<EntityType>();
|
||||
string entityDir = Path.Combine(AgentDir, "Dialogflow", $"{agent.Name}{Path.DirectorySeparatorChar}entities");
|
||||
string entityDir = Path.Combine(AgentDir, "entities");
|
||||
if (!Directory.Exists(entityDir)) return;
|
||||
|
||||
Directory.EnumerateFiles(entityDir)
|
||||
|
|
@ -89,7 +89,7 @@ namespace BotSharp.Core.Engines
|
|||
public void LoadIntents(Agent agent)
|
||||
{
|
||||
agent.Intents = new List<Intent>();
|
||||
string intentDir = Path.Combine(AgentDir, "Dialogflow", $"{agent.Name}{Path.DirectorySeparatorChar}intents");
|
||||
string intentDir = Path.Combine(AgentDir, "intents");
|
||||
if (!Directory.Exists(intentDir)) return;
|
||||
|
||||
Directory.EnumerateFiles(intentDir)
|
||||
|
|
|
|||
|
|
@ -209,7 +209,8 @@ namespace BotSharp.Core.Engines.NERs
|
|||
Entity = entity,
|
||||
Start = doc.Sentences[0].Tokens[i].Start,
|
||||
Value = doc.Sentences[0].Tokens[i].Text,
|
||||
Confidence = probability
|
||||
Confidence = probability,
|
||||
Extrator = "CRFsuiteEntityRecognizer"
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -249,6 +250,7 @@ namespace BotSharp.Core.Engines.NERs
|
|||
nlpEntity.Start = tokens[i].Start;
|
||||
nlpEntity.Value = unionValue.ToString();
|
||||
nlpEntity.Confidence = unoinConfidence;
|
||||
nlpEntity.Extrator = tokens[i].Extrator;
|
||||
res.Add(nlpEntity);
|
||||
i = j - 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ namespace BotSharp.Core.Engines
|
|||
/// <summary>
|
||||
/// Load agent meta
|
||||
/// </summary>
|
||||
/// <param name="agentName"></param>
|
||||
/// <param name="agentDir"></param>
|
||||
/// <returns></returns>
|
||||
public Agent LoadAgent(AgentImportHeader agentHeader)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,13 @@ namespace BotSharp.Core.Engines
|
|||
public class TrainingIntentExpressionPart
|
||||
{
|
||||
public int Start { get; set; }
|
||||
public int End { get { return Start + Value.Length; } }
|
||||
public int End
|
||||
{
|
||||
get
|
||||
{
|
||||
return Start + Value.Length - 1;
|
||||
}
|
||||
}
|
||||
public String Value { get; set; }
|
||||
public String Entity { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,14 +4,17 @@ using BotSharp.Core.Engines.BotSharp;
|
|||
using BotSharp.Core.Models;
|
||||
using DotNetToolkit;
|
||||
using EntityFrameworkCore.BootKit;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BotSharp.RestApi
|
||||
{
|
||||
|
|
@ -43,31 +46,45 @@ namespace BotSharp.RestApi
|
|||
/// <summary>
|
||||
/// Restore a agent from a uploaded zip file
|
||||
/// </summary>
|
||||
/// <param name="agentId"></param>
|
||||
/// <param name="file"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{agentId}")]
|
||||
public ActionResult Restore([FromRoute] String agentId)
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> Restore(IFormFile uploadedFile)
|
||||
{
|
||||
var botsHeaderFilePath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), $"DbInitializer{Path.DirectorySeparatorChar}Agents{Path.DirectorySeparatorChar}agents.json");
|
||||
var agents = JsonConvert.DeserializeObject<List<AgentImportHeader>>(System.IO.File.ReadAllText(botsHeaderFilePath));
|
||||
if (uploadedFile == null || uploadedFile.Length == 0)
|
||||
{
|
||||
return BadRequest();
|
||||
}
|
||||
|
||||
var rasa = new BotSharpAi();
|
||||
var agentHeader = agents.First(x => x.Id == agentId);
|
||||
rasa.RestoreAgent<AgentImporterInDialogflow>(agentHeader);
|
||||
var filePath = Path.GetTempFileName();
|
||||
|
||||
return Ok();
|
||||
using (var stream = new FileStream(filePath, FileMode.Create))
|
||||
{
|
||||
await uploadedFile.CopyToAsync(stream);
|
||||
}
|
||||
|
||||
string dest = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", uploadedFile.FileName.Split('.').First(), "model_" + DateTime.UtcNow.ToString("MMddyyyyHHmm"));
|
||||
ZipFile.ExtractToDirectory(filePath, dest);
|
||||
|
||||
System.IO.File.Delete(filePath);
|
||||
|
||||
var agent = _platform.LoadAgentFromFile(dest);
|
||||
|
||||
return Ok(agent.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restore a agent from a uploaded zip file
|
||||
/// Train agent
|
||||
/// </summary>
|
||||
/// <param name="agentId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{agentId}")]
|
||||
public string Train([FromRoute] String agentId)
|
||||
{
|
||||
_platform.LoadAgent(agentId);
|
||||
_platform.Train();
|
||||
string agentDir = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", agentId);
|
||||
string dest = Directory.GetDirectories(agentDir).Last();
|
||||
var agent = _platform.LoadAgentFromFile(dest);
|
||||
_platform.Train(new BotTrainOptions { AgentDir = agentDir, Model = dest.Split(Path.DirectorySeparatorChar).Last() });
|
||||
|
||||
return "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using BotSharp.Core.Accounts;
|
||||
using DotNetToolkit;
|
||||
using DotNetToolkit;
|
||||
using DotNetToolkit.JwtHelper;
|
||||
using EntityFrameworkCore.BootKit;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,13 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.1.1" />
|
||||
<Compile Remove="Authentication\**" />
|
||||
<EmbeddedResource Remove="Authentication\**" />
|
||||
<None Remove="Authentication\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.1.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,21 @@
|
|||
using BotSharp.Core.Engines;
|
||||
using BotSharp.Core.Engines.Rasa;
|
||||
using BotSharp.Core.Models;
|
||||
using BotSharp.NLP;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.RestApi.Rasa
|
||||
{
|
||||
#if RASA_UI
|
||||
/// <summary>
|
||||
/// send a text request
|
||||
/// </summary>
|
||||
[Route("[controller]")]
|
||||
public class ParseController : ControllerBase
|
||||
{
|
||||
|
|
@ -23,33 +30,57 @@ namespace BotSharp.RestApi.Rasa
|
|||
_platform = platform;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult<RasaResponse> Parse(RasaRequestModel request)
|
||||
/// <summary>
|
||||
/// parse request
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, HttpGet]
|
||||
public ActionResult<RasaResponse> Parse()
|
||||
{
|
||||
String clientAccessToken = Request.Headers["ClientAccessToken"];
|
||||
var config = new AIConfiguration(clientAccessToken, SupportedLanguage.English);
|
||||
var config = new AIConfiguration("", SupportedLanguage.English);
|
||||
config.SessionId = "rasa nlu";
|
||||
|
||||
_platform.LoadAgent(clientAccessToken);
|
||||
string body = "";
|
||||
using (var reader = new StreamReader(Request.Body))
|
||||
{
|
||||
body = reader.ReadToEnd();
|
||||
}
|
||||
var request = JsonConvert.DeserializeObject<RasaRequestModel>(body);
|
||||
|
||||
// Load agent
|
||||
var projectPath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", request.Project);
|
||||
var modelPath = Path.Combine(projectPath, request.Model);
|
||||
|
||||
_platform.LoadAgentFromFile(modelPath);
|
||||
|
||||
var aIResponse = _platform.TextRequest(new AIRequest
|
||||
{
|
||||
Model = request.Model,
|
||||
Query = new String[] { request.Text }
|
||||
});
|
||||
|
||||
return new RasaResponse
|
||||
var rasaResponse = new RasaResponse
|
||||
{
|
||||
Intent = new RasaResponseIntent
|
||||
{
|
||||
Name = aIResponse.Result.Metadata.IntentName,
|
||||
Confidence = aIResponse.Result.Score
|
||||
},
|
||||
Entities = new List<RasaResponseEntity>
|
||||
Entities = aIResponse.Result.Entities.Select(x => new RasaResponseEntity
|
||||
{
|
||||
|
||||
},
|
||||
Text = request.Text
|
||||
Extractor = x.Extrator,
|
||||
Start = x.Start,
|
||||
Entity = x.Entity,
|
||||
Value = x.Value
|
||||
}).ToList(),
|
||||
Text = request.Text,
|
||||
Model = request.Model,
|
||||
Project = request.Project,
|
||||
IntentRanking = new List<RasaResponseIntent> { }
|
||||
};
|
||||
|
||||
return rasaResponse;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace BotSharp.RestApi.Rasa
|
|||
{
|
||||
public string Project { get; set; }
|
||||
|
||||
public string Model { get; set; }
|
||||
|
||||
[JsonProperty("rasa_nlu_data")]
|
||||
public RasaTrainingData Corpus { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.RestApi.Rasa
|
||||
{
|
||||
public class RasaUiMiddlewareRequestDataModel
|
||||
{
|
||||
public string Project { get; set; }
|
||||
public string Agent { get; set; }
|
||||
public RasaTrainRequestModel Data { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.RestApi.Rasa
|
||||
{
|
||||
public class RasaUiMiddlewareRequestModel
|
||||
{
|
||||
[JsonProperty("ip_address")]
|
||||
public string IP { get; set; }
|
||||
|
||||
public string Query { get; set; }
|
||||
|
||||
[JsonProperty("event_type")]
|
||||
public string EventType { get; set; }
|
||||
|
||||
/*[JsonProperty("event_data")]
|
||||
public T EventData { get; set; }*/
|
||||
}
|
||||
}
|
||||
|
|
@ -1,24 +1,67 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using BotSharp.Core.Engines;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.RestApi.Rasa
|
||||
{
|
||||
#if RASA_UI
|
||||
/// <summary>
|
||||
/// This returns all the currently available projects.
|
||||
/// </summary>
|
||||
[Route("[controller]")]
|
||||
public class StatusController : ControllerBase
|
||||
{
|
||||
private readonly IBotPlatform _platform;
|
||||
|
||||
/// <summary>
|
||||
/// Initialize status controller and get a platform instance
|
||||
/// </summary>
|
||||
/// <param name="platform"></param>
|
||||
public StatusController(IBotPlatform platform)
|
||||
{
|
||||
_platform = platform;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of available projects the server can use to fulfill /parse requests.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public ActionResult<RasaVersionModel> Get()
|
||||
{
|
||||
var status = new RasaStatusModel();
|
||||
status.AvailableProjects = JObject.FromObject(new RasaProjectModel
|
||||
status.AvailableProjects = JObject.FromObject(new { });
|
||||
|
||||
// scan dir, get all models
|
||||
var projectPath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects");
|
||||
var projectDirs = Directory.GetDirectories(projectPath);
|
||||
for(int idx = 0; idx < projectDirs.Length; idx++)
|
||||
{
|
||||
Status = "ready",
|
||||
AvailableModels = new List<string> { "<model_XXXXXX>" }
|
||||
});
|
||||
string project = projectDirs[idx].Split('\\').Last();
|
||||
var modelDirs = Directory.GetDirectories(projectDirs[idx]);
|
||||
|
||||
List<string> availableModels = new List<string>();
|
||||
|
||||
for (int mIdx = 0; mIdx < modelDirs.Length; mIdx++)
|
||||
{
|
||||
string model = modelDirs[mIdx].Split('\\').Last();
|
||||
if (model.StartsWith(project + "_"))
|
||||
{
|
||||
availableModels.Add(model);
|
||||
}
|
||||
}
|
||||
|
||||
status.AvailableProjects.Add(project, JObject.FromObject(new RasaProjectModel
|
||||
{
|
||||
Status = "ready",
|
||||
AvailableModels = availableModels
|
||||
}));
|
||||
}
|
||||
|
||||
return Ok(status);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@ using System.Threading.Tasks;
|
|||
namespace BotSharp.RestApi.Rasa
|
||||
{
|
||||
#if RASA_UI
|
||||
/// <summary>
|
||||
/// You can post your training data to this endpoint to train a new model for a project.
|
||||
/// This request will wait for the server answer: either the model was trained successfully or the training exited with an error.
|
||||
/// </summary>
|
||||
[Route("[controller]")]
|
||||
public class TrainController : ControllerBase
|
||||
{
|
||||
|
|
@ -29,12 +33,29 @@ namespace BotSharp.RestApi.Rasa
|
|||
_platform = platform;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Using the HTTP server, you must specify the project you want to train a new model for to be able to use it during parse requests later on : /train?project=my_project.
|
||||
/// </summary>
|
||||
/// <param name="model">Model name</param>
|
||||
/// <param name="project"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<String>> Train(RasaUiMiddlewareRequestModel request)
|
||||
public async Task<ActionResult<String>> Train([FromQuery] string model, [FromQuery] string project)
|
||||
{
|
||||
return Ok();
|
||||
string body = "";
|
||||
using (var reader = new StreamReader(Request.Body))
|
||||
{
|
||||
body = reader.ReadToEnd();
|
||||
}
|
||||
|
||||
var rasa_nlu_data = JsonConvert.DeserializeObject<RasaTrainRequestModel>(body);
|
||||
rasa_nlu_data.Model = model;
|
||||
var trainResult = await Train(rasa_nlu_data, project);
|
||||
|
||||
return trainResult;
|
||||
}
|
||||
/*public async Task<ActionResult<String>> Train([FromBody] RasaTrainRequestModel request, [FromQuery] string project)
|
||||
|
||||
private async Task<ActionResult<String>> Train([FromBody] RasaTrainRequestModel request, [FromQuery] string project)
|
||||
{
|
||||
var trainer = new BotTrainer();
|
||||
if (String.IsNullOrEmpty(request.Project))
|
||||
|
|
@ -43,16 +64,17 @@ namespace BotSharp.RestApi.Rasa
|
|||
}
|
||||
|
||||
// save corpus to agent dir
|
||||
var projectPath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects");
|
||||
var dataPath = Path.Combine(projectPath, project);
|
||||
var agentPath = Path.Combine(dataPath, "Temp");
|
||||
var projectPath = Path.Combine(AppDomain.CurrentDomain.GetData("DataPath").ToString(), "Projects", project);
|
||||
var modelPath = Path.Combine(projectPath, request.Model);
|
||||
|
||||
if (!Directory.Exists(agentPath))
|
||||
if (!Directory.Exists(modelPath))
|
||||
{
|
||||
Directory.CreateDirectory(agentPath);
|
||||
Directory.CreateDirectory(modelPath);
|
||||
}
|
||||
|
||||
var fileName = Path.Combine(agentPath, "corpus.json");
|
||||
// Save raw data to file, then parse it to Agent instance.
|
||||
// in order to unify the process.
|
||||
var fileName = Path.Combine(modelPath, "corpus.json");
|
||||
|
||||
System.IO.File.WriteAllText(fileName, JsonConvert.SerializeObject(request.Corpus, new JsonSerializerSettings
|
||||
{
|
||||
|
|
@ -61,18 +83,12 @@ namespace BotSharp.RestApi.Rasa
|
|||
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
||||
}));
|
||||
|
||||
var bot = new RasaAi();
|
||||
var agent = bot.LoadAgentFromFile<AgentImporterInRasa>(agentPath,
|
||||
new AgentImportHeader
|
||||
{
|
||||
Id = request.Project,
|
||||
Name = project
|
||||
});
|
||||
var agent = _platform.LoadAgentFromFile(modelPath);
|
||||
|
||||
var info = await trainer.Train(agent);
|
||||
var info = await trainer.Train(agent, new BotTrainOptions { Model = request.Model });
|
||||
|
||||
return Ok(new { info = info.Model });
|
||||
}*/
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
BIN
BotSharp.WebHost/App_Data/AgentArchive/Chatbot.zip
Normal file
BIN
BotSharp.WebHost/App_Data/AgentArchive/Chatbot.zip
Normal file
Binary file not shown.
BIN
BotSharp.WebHost/App_Data/AgentArchive/Restaurant.zip
Normal file
BIN
BotSharp.WebHost/App_Data/AgentArchive/Restaurant.zip
Normal file
Binary file not shown.
BIN
BotSharp.WebHost/App_Data/AgentArchive/Spotify.zip
Normal file
BIN
BotSharp.WebHost/App_Data/AgentArchive/Spotify.zip
Normal file
Binary file not shown.
2
BotSharp.WebHost/App_Data/Corpus/CoNLL/README.md
Normal file
2
BotSharp.WebHost/App_Data/Corpus/CoNLL/README.md
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
conll2000_chunking is downloaded from https://www.clips.uantwerpen.be/conll2000/chunking/
|
||||
The train and test data consist of three columns separated by spaces. Each word has been put on a separate line and there is an empty line after each sentence. The first column contains the current word, the second its part-of-speech tag as derived by the Brill tagger and the third its chunk tag as derived from the WSJ corpus.
|
||||
49389
BotSharp.WebHost/App_Data/Corpus/CoNLL/conll2000_chunking_test.txt
Normal file
49389
BotSharp.WebHost/App_Data/Corpus/CoNLL/conll2000_chunking_test.txt
Normal file
File diff suppressed because it is too large
Load diff
220663
BotSharp.WebHost/App_Data/Corpus/CoNLL/conll2000_chunking_train.txt
Normal file
220663
BotSharp.WebHost/App_Data/Corpus/CoNLL/conll2000_chunking_train.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "54cc19ee-e3d5-4d59-a011-fa0121450e36",
|
||||
"userName": "botsharp",
|
||||
"email": "support@botsharp.io",
|
||||
"firstName": "Support",
|
||||
"lastName": "Botsharp",
|
||||
"description": "demo account",
|
||||
"authenticaiton": {
|
||||
"password": "botsharp"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"description": "Whether they\u0027re on the road, working out or relaxing on the couch, your users want complete control of their music. With this agent users can search, pause, skip or shuffle in your app, just by asking.",
|
||||
"language": "en",
|
||||
"shortDescription": "Play and control your music and playlists",
|
||||
"examples": "User: Switch to workout music.\nUser: Put on my late night playlist.\nUser: Can you please play a song from my favorite playlist?\nUser: Play a song from Spotify.\nUser: I want to listen to some music.\nUser: Play an album by Madonna.\nUser: Play something by The Rolling Stones.",
|
||||
"activeAssistantAgents": [],
|
||||
"disableInteractionLogs": false,
|
||||
"disableStackdriverLogs": true,
|
||||
"googleAssistant": {
|
||||
"googleAssistantCompatible": false,
|
||||
"welcomeIntentSignInRequired": false,
|
||||
"startIntents": [],
|
||||
"systemIntents": [],
|
||||
"endIntentIds": [],
|
||||
"oAuthLinking": {
|
||||
"required": false,
|
||||
"grantType": "AUTH_CODE_GRANT"
|
||||
},
|
||||
"voiceType": "MALE_1",
|
||||
"capabilities": [],
|
||||
"protocolVersion": "V1",
|
||||
"isDeviceAgent": false
|
||||
},
|
||||
"defaultTimezone": "America/New_York",
|
||||
"webhook": {
|
||||
"available": false,
|
||||
"useForDomains": false,
|
||||
"cloudFunctionsEnabled": false,
|
||||
"cloudFunctionsInitialized": false
|
||||
},
|
||||
"isPrivate": false,
|
||||
"customClassifierMode": "use.instead",
|
||||
"mlMinConfidence": 0.3,
|
||||
"supportedLanguages": [],
|
||||
"onePlatformApiVersion": "v1legacy"
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"id": "6fddba52-6c51-42b2-bd35-70c6cce204f5",
|
||||
"name": "music-album",
|
||||
"isOverridable": true,
|
||||
"isEnum": false,
|
||||
"automatedExpansion": true
|
||||
}
|
||||
|
|
@ -1,737 +0,0 @@
|
|||
[
|
||||
{
|
||||
"value": "Achtung Baby",
|
||||
"synonyms": [
|
||||
"Achtung Baby"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "At Folsom Prison",
|
||||
"synonyms": [
|
||||
"At Folsom Prison"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Brain",
|
||||
"synonyms": [
|
||||
"Brain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Exodus",
|
||||
"synonyms": [
|
||||
"Exodus"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Marquee Moon",
|
||||
"synonyms": [
|
||||
"Marquee Moon"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Pet Sounds",
|
||||
"synonyms": [
|
||||
"Pet Sounds"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Revolver",
|
||||
"synonyms": [
|
||||
"Revolver"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Stand!",
|
||||
"synonyms": [
|
||||
"Stand!"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Thriller",
|
||||
"synonyms": [
|
||||
"Thriller"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Tommy",
|
||||
"synonyms": [
|
||||
"Tommy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Burst Apart",
|
||||
"synonyms": [
|
||||
"Burst Apart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Closing Time",
|
||||
"synonyms": [
|
||||
"Closing Time"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Electric Ladyland",
|
||||
"synonyms": [
|
||||
"Electric Ladyland"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Innervisions",
|
||||
"synonyms": [
|
||||
"Innervisions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Love",
|
||||
"synonyms": [
|
||||
"love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Power, Corruption \u0026 Lies",
|
||||
"synonyms": [
|
||||
"Power, Corruption \u0026 Lies",
|
||||
"Power Corruption Lies",
|
||||
"corruption and lies"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Quadrophenia",
|
||||
"synonyms": [
|
||||
"Quadrophenia"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Songs in the Key of Life",
|
||||
"synonyms": [
|
||||
"Songs in the Key of Life"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Wall",
|
||||
"synonyms": [
|
||||
"The Wall"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "American Beauty",
|
||||
"synonyms": [
|
||||
"American Beauty"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Blue",
|
||||
"synonyms": [
|
||||
"Blue"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Born to Run",
|
||||
"synonyms": [
|
||||
"Born to Run"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Bringing It All Back Home",
|
||||
"synonyms": [
|
||||
"Bringing It All Back Home"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Daydream Nation",
|
||||
"synonyms": [
|
||||
"Daydream Nation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Divorcio",
|
||||
"synonyms": [
|
||||
"Divorcio"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Let It Be",
|
||||
"synonyms": [
|
||||
"Let It Be"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "\u0027Live\u0027 at The Apollo",
|
||||
"synonyms": [
|
||||
"Live at The Apollo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Magical Mystery Tour",
|
||||
"synonyms": [
|
||||
"Magical Mystery Tour"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Paul\u0027s Boutique",
|
||||
"synonyms": [
|
||||
"Paul s Boutique, Pauls Boutique"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sgt. Pepper\u0027s Lonely Hearts Club Band",
|
||||
"synonyms": [
|
||||
"Sgt Pepper s Lonely Hearts Club Band, Sgt Peppers Lonely Hearts Club Band"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Songs about Jane",
|
||||
"synonyms": [
|
||||
"Songs about Jane"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Velvet Underground and Nico",
|
||||
"synonyms": [
|
||||
"The Velvet Underground and Nico"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Un Monde Meilleur",
|
||||
"synonyms": [
|
||||
"Un Monde Meilleur"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Appetite for Destruction",
|
||||
"synonyms": [
|
||||
"Appetite for Destruction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Goodbye Yellow Brick Road",
|
||||
"synonyms": [
|
||||
"Goodbye Yellow Brick Road"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Highway Revisited",
|
||||
"synonyms": [
|
||||
"Highway Revisited"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Kind of Blue",
|
||||
"synonyms": [
|
||||
"Kind of Blue"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Layla and Other Assorted Love Songs",
|
||||
"synonyms": [
|
||||
"Layla and Other Assorted Love Songs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Led Zeppelin II",
|
||||
"synonyms": [
|
||||
"Led Zeppelin II"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Led Zeppelin II",
|
||||
"synonyms": [
|
||||
"Led Zeppelin too, Led Zeppelin second, Led Zeppelin two, Led Zeppelin 2, Led Zeppelin II"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Clash",
|
||||
"synonyms": [
|
||||
"The Clash"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Rise and Fall of Ziggy Stardust and the Spiders From Mars",
|
||||
"synonyms": [
|
||||
"The Rise and Fall of Ziggy Stardust and the Spiders From Mars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "White",
|
||||
"synonyms": [
|
||||
"White"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Who\u0027s Next",
|
||||
"synonyms": [
|
||||
"Who s Next, Whos Next"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "After the Gold Rush",
|
||||
"synonyms": [
|
||||
"After the Gold Rush"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Beggars Banquet",
|
||||
"synonyms": [
|
||||
"Beggars Banquet"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "My Aim Is True",
|
||||
"synonyms": [
|
||||
"My Aim Is True"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Straight Outta Compton",
|
||||
"synonyms": [
|
||||
"Straight Outta Compton"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Summer",
|
||||
"synonyms": [
|
||||
"Summer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Joshua Tree",
|
||||
"synonyms": [
|
||||
"The Joshua Tree"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Marshall Mathers LP",
|
||||
"synonyms": [
|
||||
"The Marshall Mathers LP",
|
||||
"The Marshall Mathers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Sun Sessions",
|
||||
"synonyms": [
|
||||
"The Sun Sessions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Some Girls",
|
||||
"synonyms": [
|
||||
"Some Girls"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "A Love Supreme",
|
||||
"synonyms": [
|
||||
"A Love Supreme"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Automatic for the People",
|
||||
"synonyms": [
|
||||
"Automatic for the People"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Moondance",
|
||||
"synonyms": [
|
||||
"Moondance"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Nevermind",
|
||||
"synonyms": [
|
||||
"Nevermind"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Raising Hell",
|
||||
"synonyms": [
|
||||
"Raising Hell"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Tapestry",
|
||||
"synonyms": [
|
||||
"Tapestry"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Forever Changes",
|
||||
"synonyms": [
|
||||
"Forever Changes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "In the Court of the Crimson King",
|
||||
"synonyms": [
|
||||
"In the Court of the Crimson King"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Let It Bleed",
|
||||
"synonyms": [
|
||||
"Let It Bleed"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Never Mind the Bollocks Here\u0027s the Sex Pistols",
|
||||
"synonyms": [
|
||||
"Never Mind the Bollocks Heres the Sex Pistols, Never Mind the Bollocks Here s the Sex Pistols"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Winter",
|
||||
"synonyms": [
|
||||
"Winter"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Wish You Were Here",
|
||||
"synonyms": [
|
||||
"Wish You Were Here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "19",
|
||||
"synonyms": [
|
||||
"19"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Abraxas",
|
||||
"synonyms": [
|
||||
"Abraxas"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Are You Experienced",
|
||||
"synonyms": [
|
||||
"Are You Experienced"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Astral Weeks",
|
||||
"synonyms": [
|
||||
"Astral Weeks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Blonde on Blonde",
|
||||
"synonyms": [
|
||||
"Blonde on Blonde"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Giant Steps",
|
||||
"synonyms": [
|
||||
"Giant Steps"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "It Takes a Nation of Millions to Hold Us Back",
|
||||
"synonyms": [
|
||||
"It Takes a Nation of Millions to Hold Us Back"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Modern Sounds in Country and Western Music",
|
||||
"synonyms": [
|
||||
"Modern Sounds in Country and Western Music"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Bends",
|
||||
"synonyms": [
|
||||
"The Bends"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Abbey Road",
|
||||
"synonyms": [
|
||||
"Abbey Road"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Call Me",
|
||||
"synonyms": [
|
||||
"Call Me"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Disraeli Gears",
|
||||
"synonyms": [
|
||||
"Disraeli Gears"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Grace",
|
||||
"synonyms": [
|
||||
"Grace"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Please Please Me",
|
||||
"synonyms": [
|
||||
"Please Please Me"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Rumours",
|
||||
"synonyms": [
|
||||
"Rumours"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Synchronicity",
|
||||
"synonyms": [
|
||||
"Synchronicity"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Bridge Over Troubled Water",
|
||||
"synonyms": [
|
||||
"Bridge Over Troubled Water"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Exile on Main St.",
|
||||
"synonyms": [
|
||||
"Exile on Main St"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "John Lennon / Plastic Ono Band",
|
||||
"synonyms": [
|
||||
"John Lennon / Plastic Ono Band"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Music From Big Pink",
|
||||
"synonyms": [
|
||||
"Music From Big Pink"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Rocks",
|
||||
"synonyms": [
|
||||
"Rocks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Back in Black",
|
||||
"synonyms": [
|
||||
"Back in Black"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Biagio",
|
||||
"synonyms": [
|
||||
"Biagio"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Blood on the Tracks",
|
||||
"synonyms": [
|
||||
"Blood on the Tracks"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hotel California",
|
||||
"synonyms": [
|
||||
"Hotel California"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hunky Dory",
|
||||
"synonyms": [
|
||||
"Hunky Dory"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Ten",
|
||||
"synonyms": [
|
||||
"Ten"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Doors",
|
||||
"synonyms": [
|
||||
"The Doors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Californication",
|
||||
"synonyms": [
|
||||
"Californication"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "OK Computer",
|
||||
"synonyms": [
|
||||
"OK Computer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "What\u0027s Going On",
|
||||
"synonyms": [
|
||||
"Whats Going On, What s Going On"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Green River",
|
||||
"synonyms": [
|
||||
"Green River"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Led Zeppelin",
|
||||
"synonyms": [
|
||||
"Led Zeppelin"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Remain in Light",
|
||||
"synonyms": [
|
||||
"Remain in Light"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Rubber Soul",
|
||||
"synonyms": [
|
||||
"Rubber Soul"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Dark Side of the Moon",
|
||||
"synonyms": [
|
||||
"The Dark Side of the Moon"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Born in the U.S.A.",
|
||||
"synonyms": [
|
||||
"Born in the USA, Born in the U S A"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Celebration",
|
||||
"synonyms": [
|
||||
"Celebration"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Harvest",
|
||||
"synonyms": [
|
||||
"Harvest"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "London Calling",
|
||||
"synonyms": [
|
||||
"London Calling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Purple Rain",
|
||||
"synonyms": [
|
||||
"Purple Rain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sign the Times",
|
||||
"synonyms": [
|
||||
"Sign the Times"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "White Album",
|
||||
"synonyms": [
|
||||
"The Beatles White Album, White, White Album"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Graceland",
|
||||
"synonyms": [
|
||||
"Graceland"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Horses",
|
||||
"synonyms": [
|
||||
"Horses"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "In Utero",
|
||||
"synonyms": [
|
||||
"In Utero"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Paid In Full",
|
||||
"synonyms": [
|
||||
"Paid In Full"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "At Fillmore East",
|
||||
"synonyms": [
|
||||
"At Fillmore East"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Axis Bold as Love",
|
||||
"synonyms": [
|
||||
"Axis Bold as Love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Déjà vu",
|
||||
"synonyms": [
|
||||
"Déjà vu"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Doolittle",
|
||||
"synonyms": [
|
||||
"Doolittle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Eat a Peach",
|
||||
"synonyms": [
|
||||
"Eat a Peach"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "I Never Loved a Man the Way I Love You",
|
||||
"synonyms": [
|
||||
"I Never Loved a Man the Way I Love You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Love",
|
||||
"synonyms": [
|
||||
"Love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Physical Graffiti",
|
||||
"synonyms": [
|
||||
"Physical Graffiti"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sticky Fingers",
|
||||
"synonyms": [
|
||||
"Sticky Fingers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Surrealistic Pillow",
|
||||
"synonyms": [
|
||||
"Surrealistic Pillow"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"id": "9fdfa4b7-5aae-4209-8790-8989b4ede389",
|
||||
"name": "music-service",
|
||||
"isOverridable": true,
|
||||
"isEnum": false,
|
||||
"automatedExpansion": false
|
||||
}
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
[
|
||||
{
|
||||
"value": "Vimeo",
|
||||
"synonyms": [
|
||||
"vimeo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "iTunes",
|
||||
"synonyms": [
|
||||
"iTunes"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "SXM",
|
||||
"synonyms": [
|
||||
"SXM",
|
||||
" Sirius XM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Prime Music",
|
||||
"synonyms": [
|
||||
"Prime Music"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Spotify",
|
||||
"synonyms": [
|
||||
"Spotify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Apple Music",
|
||||
"synonyms": [
|
||||
"Apple Music"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Slacker",
|
||||
"synonyms": [
|
||||
"slaker",
|
||||
" slacker"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Last fm",
|
||||
"synonyms": [
|
||||
"lastfm",
|
||||
" last fm",
|
||||
" Last Fm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Zvooq",
|
||||
"synonyms": [
|
||||
"Zvooq"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Iheart",
|
||||
"synonyms": [
|
||||
"iheart radio",
|
||||
" iHeartRadio",
|
||||
" iheart"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Prime Music",
|
||||
"synonyms": [
|
||||
"Prime",
|
||||
" Prime Music"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Netflix",
|
||||
"synonyms": [
|
||||
"Netflix"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Deezer",
|
||||
"synonyms": [
|
||||
"Deezer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Pandora",
|
||||
"synonyms": [
|
||||
"pandora"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Google Music",
|
||||
"synonyms": [
|
||||
"Google Music",
|
||||
"google musik"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Youtube",
|
||||
"synonyms": [
|
||||
"youtube",
|
||||
"you tube"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"id": "ba4644ef-abb8-42f6-9302-249fd3e38d03",
|
||||
"name": "music-sort",
|
||||
"isOverridable": true,
|
||||
"isEnum": false,
|
||||
"automatedExpansion": false
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
[
|
||||
{
|
||||
"value": "top",
|
||||
"synonyms": [
|
||||
"top",
|
||||
"popular",
|
||||
"most popular"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "latest",
|
||||
"synonyms": [
|
||||
"latest",
|
||||
"last",
|
||||
"new",
|
||||
"newest"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "best",
|
||||
"synonyms": [
|
||||
"best",
|
||||
"good",
|
||||
"greatest",
|
||||
"the greatest"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"id": "0ecc10fe-a743-4182-a6c9-0ed8cc2590c3",
|
||||
"name": "playlist",
|
||||
"isOverridable": true,
|
||||
"isEnum": false,
|
||||
"automatedExpansion": true
|
||||
}
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
[
|
||||
{
|
||||
"value": "rock",
|
||||
"synonyms": [
|
||||
"rock"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "travel",
|
||||
"synonyms": [
|
||||
"traveling",
|
||||
"travel",
|
||||
"travelling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "my faves",
|
||||
"synonyms": [
|
||||
"my faves"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "chill",
|
||||
"synonyms": [
|
||||
"chill",
|
||||
"chilling"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "kids",
|
||||
"synonyms": [
|
||||
"kids"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "quality",
|
||||
"synonyms": [
|
||||
"quality"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "summer",
|
||||
"synonyms": [
|
||||
"summer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "today\u0027s top hits",
|
||||
"synonyms": [
|
||||
"today\u0027s top hits"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "breakfast",
|
||||
"synonyms": [
|
||||
"breakfast"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "mood",
|
||||
"synonyms": [
|
||||
"mood"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "gym",
|
||||
"synonyms": [
|
||||
"gym"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "dinner",
|
||||
"synonyms": [
|
||||
"dinner party",
|
||||
"dinner party",
|
||||
"dinner"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "study",
|
||||
"synonyms": [
|
||||
"study"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "relaxing",
|
||||
"synonyms": [
|
||||
"relaxing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "trending",
|
||||
"synonyms": [
|
||||
"trending"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "calm",
|
||||
"synonyms": [
|
||||
"calm"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "cool",
|
||||
"synonyms": [
|
||||
"cool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "focus",
|
||||
"synonyms": [
|
||||
"focus",
|
||||
"focusing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "party",
|
||||
"synonyms": [
|
||||
"party"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "late night",
|
||||
"synonyms": [
|
||||
"late night"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "recently added",
|
||||
"synonyms": [
|
||||
"recently added"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "winter",
|
||||
"synonyms": [
|
||||
"winter"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "comedy",
|
||||
"synonyms": [
|
||||
"comedy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "meditative",
|
||||
"synonyms": [
|
||||
"meditative"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "roxette",
|
||||
"synonyms": [
|
||||
"roxette"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "sleep",
|
||||
"synonyms": [
|
||||
"sleep"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "workout",
|
||||
"synonyms": [
|
||||
"workout",
|
||||
"working out",
|
||||
"workingout",
|
||||
"work out"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "favourite",
|
||||
"synonyms": [
|
||||
"favourite"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "favorite",
|
||||
"synonyms": [
|
||||
"favorite",
|
||||
"favorites",
|
||||
"faves",
|
||||
"fave",
|
||||
"fav"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "jazz",
|
||||
"synonyms": [
|
||||
"jazz"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "running",
|
||||
"synonyms": [
|
||||
"running",
|
||||
"run"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "viral hits",
|
||||
"synonyms": [
|
||||
"viral hits"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "energy",
|
||||
"synonyms": [
|
||||
"energetic",
|
||||
"energy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "fitness",
|
||||
"synonyms": [
|
||||
"fitness",
|
||||
"for fitness"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "love",
|
||||
"synonyms": [
|
||||
"love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "work",
|
||||
"synonyms": [
|
||||
"work"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "romance",
|
||||
"synonyms": [
|
||||
"romance",
|
||||
"romancing",
|
||||
"romantic",
|
||||
"for date",
|
||||
"for a date",
|
||||
"for romantic date",
|
||||
"for a romantic date"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "uplifting",
|
||||
"synonyms": [
|
||||
"uplifting",
|
||||
"100 most uplifting songs ever"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "50 great beatles songs",
|
||||
"synonyms": [
|
||||
"50 great beatles songs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "lunch",
|
||||
"synonyms": [
|
||||
"lunch"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"id": "01c1df34-ecad-4ab0-bc4a-62e1d43a27d8",
|
||||
"name": "song",
|
||||
"isOverridable": true,
|
||||
"isEnum": false,
|
||||
"automatedExpansion": true
|
||||
}
|
||||
|
|
@ -1,608 +0,0 @@
|
|||
[
|
||||
{
|
||||
"value": "Castle On The Hill",
|
||||
"synonyms": [
|
||||
"Castle On The Hill"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sound Of Silence",
|
||||
"synonyms": [
|
||||
"Sound Of Silence"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Photograph",
|
||||
"synonyms": [
|
||||
"Photograph"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Creep",
|
||||
"synonyms": [
|
||||
"Creep"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hurt",
|
||||
"synonyms": [
|
||||
"Hurt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Love Yourself",
|
||||
"synonyms": [
|
||||
"Love Yourself"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Wish You Were Here",
|
||||
"synonyms": [
|
||||
"Wish You Were Here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Million Reasons",
|
||||
"synonyms": [
|
||||
"Million Reasons"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "When We Were Young",
|
||||
"synonyms": [
|
||||
"When We Were Young"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Versace On The Floor",
|
||||
"synonyms": [
|
||||
"Versace On The Floor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Shape Of You",
|
||||
"synonyms": [
|
||||
"Shape Of You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Nothing Else Matters",
|
||||
"synonyms": [
|
||||
"Nothing Else Matters"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Let Her Go",
|
||||
"synonyms": [
|
||||
"Let Her Go"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Riptide",
|
||||
"synonyms": [
|
||||
"Riptide"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Say You Wont Let Go",
|
||||
"synonyms": [
|
||||
"Say You Wont Let Go"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Cant Help Falling In Love With You",
|
||||
"synonyms": [
|
||||
"Cant Help Falling In Love With You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Im Yours",
|
||||
"synonyms": [
|
||||
"Im Yours"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The Scientist Acoustic",
|
||||
"synonyms": [
|
||||
"The Scientist Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Shape Of You",
|
||||
"synonyms": [
|
||||
"Shape Of You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "A Thousand Years",
|
||||
"synonyms": [
|
||||
"A Thousand Years"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "La La Land - Audition The Fools Who Dream",
|
||||
"synonyms": [
|
||||
"La La Land - Audition The Fools Who Dream"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hey There Delilah",
|
||||
"synonyms": [
|
||||
"Hey There Delilah"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "City Of Stars Acoustic",
|
||||
"synonyms": [
|
||||
"City Of Stars Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Closer",
|
||||
"synonyms": [
|
||||
"Closer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Treat You Better",
|
||||
"synonyms": [
|
||||
"Treat You Better"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Let It Be",
|
||||
"synonyms": [
|
||||
"Let It Be"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Rockabye",
|
||||
"synonyms": [
|
||||
"Rockabye"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Shape Of You",
|
||||
"synonyms": [
|
||||
"Shape Of You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "City Of Stars",
|
||||
"synonyms": [
|
||||
"City Of Stars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "All Of Me",
|
||||
"synonyms": [
|
||||
"All Of Me"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "How Far Ill Go",
|
||||
"synonyms": [
|
||||
"How Far Ill Go"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "All I Ask",
|
||||
"synonyms": [
|
||||
"All I Ask"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "More Than Words",
|
||||
"synonyms": [
|
||||
"More Than Words"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Surat Cinta Untuk Starla",
|
||||
"synonyms": [
|
||||
"Surat Cinta Untuk Starla"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "City Of Stars",
|
||||
"synonyms": [
|
||||
"City Of Stars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Something Just Like This",
|
||||
"synonyms": [
|
||||
"Something Just Like This"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Mercy",
|
||||
"synonyms": [
|
||||
"Mercy"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Versace On The Floor",
|
||||
"synonyms": [
|
||||
"Versace On The Floor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Someone Like You",
|
||||
"synonyms": [
|
||||
"Someone Like You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Human",
|
||||
"synonyms": [
|
||||
"Human"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Thinking Out Loud",
|
||||
"synonyms": [
|
||||
"Thinking Out Loud"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "When I Was Your Man",
|
||||
"synonyms": [
|
||||
"When I Was Your Man"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Versace On The Floor",
|
||||
"synonyms": [
|
||||
"Versace On The Floor"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "House Of The Rising Sun",
|
||||
"synonyms": [
|
||||
"House Of The Rising Sun"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Stairway To Heaven",
|
||||
"synonyms": [
|
||||
"Stairway To Heaven"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Wonderwall",
|
||||
"synonyms": [
|
||||
"Wonderwall"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "How Would You Feel",
|
||||
"synonyms": [
|
||||
"How Would You Feel"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "I Dont Wanna Live Forever",
|
||||
"synonyms": [
|
||||
"I Dont Wanna Live Forever"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Stay With Me",
|
||||
"synonyms": [
|
||||
"Stay With Me"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "This Town",
|
||||
"synonyms": [
|
||||
"This Town"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hallelujah",
|
||||
"synonyms": [
|
||||
"Hallelujah"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "7 Years",
|
||||
"synonyms": [
|
||||
"7 Years"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "City Of Stars",
|
||||
"synonyms": [
|
||||
"City Of Stars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hotel California",
|
||||
"synonyms": [
|
||||
"Hotel California"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "I See Fire",
|
||||
"synonyms": [
|
||||
"I See Fire"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Dancing On My Own",
|
||||
"synonyms": [
|
||||
"Dancing On My Own"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Fix You Acoustic",
|
||||
"synonyms": [
|
||||
"Fix You Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "The A Team",
|
||||
"synonyms": [
|
||||
"The A Team"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Wonderwall",
|
||||
"synonyms": [
|
||||
"Wonderwall"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Skinny Love",
|
||||
"synonyms": [
|
||||
"Skinny Love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Yellow Acoustic",
|
||||
"synonyms": [
|
||||
"Yellow Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hallelujah",
|
||||
"synonyms": [
|
||||
"Hallelujah"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Let It Go",
|
||||
"synonyms": [
|
||||
"Let It Go"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "All I Want",
|
||||
"synonyms": [
|
||||
"All I Want"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Say Something",
|
||||
"synonyms": [
|
||||
"Say Something"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Radioactive",
|
||||
"synonyms": [
|
||||
"Radioactive"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Shape Of You",
|
||||
"synonyms": [
|
||||
"Shape Of You"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Redemption Song",
|
||||
"synonyms": [
|
||||
"Redemption Song"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sweet Child O Mine",
|
||||
"synonyms": [
|
||||
"Sweet Child O Mine"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Chasing Cars",
|
||||
"synonyms": [
|
||||
"Chasing Cars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Boulevard Of Broken Dreams Acoustic",
|
||||
"synonyms": [
|
||||
"Boulevard Of Broken Dreams Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hey Jude",
|
||||
"synonyms": [
|
||||
"Hey Jude"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Closer",
|
||||
"synonyms": [
|
||||
"Closer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Youve Got A Friend In Me",
|
||||
"synonyms": [
|
||||
"Youve Got A Friend In Me"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Halo",
|
||||
"synonyms": [
|
||||
"Halo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Heathens",
|
||||
"synonyms": [
|
||||
"Heathens"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Counting Stars",
|
||||
"synonyms": [
|
||||
"Counting Stars"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Wish You Were Here",
|
||||
"synonyms": [
|
||||
"Wish You Were Here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Im Not The Only One",
|
||||
"synonyms": [
|
||||
"Im Not The Only One"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "I Wont Give Up",
|
||||
"synonyms": [
|
||||
"I Wont Give Up"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Stitches",
|
||||
"synonyms": [
|
||||
"Stitches"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Sweater Weather",
|
||||
"synonyms": [
|
||||
"Sweater Weather"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Good Riddance Time Of Your Life",
|
||||
"synonyms": [
|
||||
"Good Riddance Time Of Your Life"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Love On The Brain",
|
||||
"synonyms": [
|
||||
"Love On The Brain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Blackbird",
|
||||
"synonyms": [
|
||||
"Blackbird"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "We Dont Talk Anymore",
|
||||
"synonyms": [
|
||||
"We Dont Talk Anymore"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hey Soul Sister",
|
||||
"synonyms": [
|
||||
"Hey Soul Sister"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Faded",
|
||||
"synonyms": [
|
||||
"Faded"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Under The Bridge",
|
||||
"synonyms": [
|
||||
"Under The Bridge"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Imagine",
|
||||
"synonyms": [
|
||||
"Imagine"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Dont Look Back In Anger",
|
||||
"synonyms": [
|
||||
"Dont Look Back In Anger"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Iris",
|
||||
"synonyms": [
|
||||
"Iris"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Love",
|
||||
"synonyms": [
|
||||
"Love"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "One Call Away",
|
||||
"synonyms": [
|
||||
"One Call Away"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Hello",
|
||||
"synonyms": [
|
||||
"Hello"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Somewhere Over The Rainbow",
|
||||
"synonyms": [
|
||||
"Somewhere Over The Rainbow"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Starving",
|
||||
"synonyms": [
|
||||
"Starving"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Jolene",
|
||||
"synonyms": [
|
||||
"Jolene"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Castle On The Hill",
|
||||
"synonyms": [
|
||||
"Castle On The Hill"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Lost Boy Acoustic",
|
||||
"synonyms": [
|
||||
"Lost Boy Acoustic"
|
||||
]
|
||||
},
|
||||
{
|
||||
"value": "Make You Feel My Love",
|
||||
"synonyms": [
|
||||
"Make You Feel My Love"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
{
|
||||
"id": "ad118f22-6185-4566-8b22-7a6067fb42e2",
|
||||
"name": "music.play",
|
||||
"auto": true,
|
||||
"contexts": [],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music.play",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "play-music",
|
||||
"parameters": {},
|
||||
"lifespan": 5
|
||||
},
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"id": "4e5778f6-53b2-4b74-b369-0c3fd482bd75",
|
||||
"required": false,
|
||||
"dataType": "@song",
|
||||
"name": "song",
|
||||
"value": "$song",
|
||||
"isList": false
|
||||
},
|
||||
{
|
||||
"id": "c6de8e2e-b285-40bd-9dcb-ba3d03956f80",
|
||||
"required": false,
|
||||
"dataType": "@sys.music-artist",
|
||||
"name": "artist",
|
||||
"value": "$artist",
|
||||
"isList": true
|
||||
},
|
||||
{
|
||||
"id": "a6a18c6f-ad5a-45d2-9570-666d96de9e51",
|
||||
"required": false,
|
||||
"dataType": "@music-album",
|
||||
"name": "album",
|
||||
"value": "$album",
|
||||
"isList": false
|
||||
},
|
||||
{
|
||||
"id": "baf8e37e-ec14-4cd0-a34a-2d2d1c9dbd48",
|
||||
"required": false,
|
||||
"dataType": "@sys.music-genre",
|
||||
"name": "genre",
|
||||
"value": "$genre",
|
||||
"isList": false
|
||||
},
|
||||
{
|
||||
"id": "e4a8c145-ec0b-414a-afb2-90278fbea7fe",
|
||||
"required": false,
|
||||
"dataType": "@playlist",
|
||||
"name": "playlist",
|
||||
"value": "$playlist",
|
||||
"isList": false
|
||||
},
|
||||
{
|
||||
"id": "5bf2245f-2281-44e0-85b3-b2e024731155",
|
||||
"required": false,
|
||||
"dataType": "@music-service",
|
||||
"name": "service",
|
||||
"value": "$service",
|
||||
"isList": false
|
||||
},
|
||||
{
|
||||
"id": "c5480361-27a4-4f2b-be86-e4c6bda25306",
|
||||
"required": false,
|
||||
"dataType": "@music-sort",
|
||||
"name": "sort",
|
||||
"value": "$sort",
|
||||
"isList": false
|
||||
}
|
||||
],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1497017425,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "75b1cd1c-ecc9-4c16-b8bc-a3b2153954cc",
|
||||
"name": "music_player_control.add_favorite",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.add_favorite",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044549,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,178 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "502c4820-23f6-4280-b7e7-be2abb7409db",
|
||||
"data": [
|
||||
{
|
||||
"text": "it\u0027s my favourite",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "87e4a21f-d682-4397-a7a1-6f14c397d3aa",
|
||||
"data": [
|
||||
{
|
||||
"text": "I",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "love",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "99cfb77a-4e7e-4eb6-baed-2aa5f132b771",
|
||||
"data": [
|
||||
{
|
||||
"text": "put this track into my favourites",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "da909d83-bdd2-4fbb-a159-a315950c77a9",
|
||||
"data": [
|
||||
{
|
||||
"text": "add to ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "faves",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f82e039c-0f0e-479f-a56d-7b2e434981b3",
|
||||
"data": [
|
||||
{
|
||||
"text": "add this song to my ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "favourites",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "710574b0-bf68-4395-91be-9df929547295",
|
||||
"data": [
|
||||
{
|
||||
"text": "add this song to ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "favorites",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "e1137399-47fc-4e30-9397-29510c535731",
|
||||
"data": [
|
||||
{
|
||||
"text": "add it to ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "my favourites",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "e866c7e9-cad4-44ab-9327-6576e7b0d1b7",
|
||||
"data": [
|
||||
{
|
||||
"text": "favourite",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f5898038-a109-47d3-aad6-6301f662fee2",
|
||||
"data": [
|
||||
{
|
||||
"text": "could you mark it as favourite",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "179136ba-cd2e-40e8-aaae-6913404d2530",
|
||||
"data": [
|
||||
{
|
||||
"text": "remember this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "48af2f2b-57ea-43d7-a399-4db18d83456c",
|
||||
"data": [
|
||||
{
|
||||
"text": "fave",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"id": "6315f5ee-327f-4c47-8512-b5fe0bebe020",
|
||||
"name": "music_player_control.add_playlist",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.add_playlist",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"id": "ee99ad29-dd22-4209-8a6e-bc6318c036e6",
|
||||
"dataType": "@sys.any",
|
||||
"name": "playlist",
|
||||
"value": "$playlist",
|
||||
"isList": false
|
||||
}
|
||||
],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044571,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "f41942b0-e652-47a5-8e01-b0580c87e98a",
|
||||
"data": [
|
||||
{
|
||||
"text": "put it into the playlist ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "Running",
|
||||
"alias": "playlist",
|
||||
"meta": "@sys.any",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "2f1ff037-28e1-401f-b978-034c2c9c89a8",
|
||||
"data": [
|
||||
{
|
||||
"text": "put it on my ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "Late Night",
|
||||
"alias": "playlist",
|
||||
"meta": "@sys.any",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "533c99cb-c20b-46c7-a57d-702ac28dce06",
|
||||
"data": [
|
||||
{
|
||||
"text": "move it to the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "Gym",
|
||||
"alias": "playlist",
|
||||
"meta": "@sys.any",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "4d9d5238-1395-41bd-9b3e-44e54f460717",
|
||||
"data": [
|
||||
{
|
||||
"text": "save ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "this",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " song to my ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "Workout",
|
||||
"alias": "playlist",
|
||||
"meta": "@sys.any",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "0762f05b-407d-4381-b5ec-fa92b1c07cd5",
|
||||
"data": [
|
||||
{
|
||||
"text": "add ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "this",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " song to my playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "5fb50231-4168-4872-90d5-b97a57a4a0f3",
|
||||
"data": [
|
||||
{
|
||||
"text": "add it to the playlist ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "Yoga",
|
||||
"alias": "playlist",
|
||||
"meta": "@sys.any",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "6608f743-b21c-403c-aa74-7f5d7ac39986",
|
||||
"data": [
|
||||
{
|
||||
"text": "save ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "this",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " track in my playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "726c72bd-dd50-4d5f-bc69-627f04ef3b2f",
|
||||
"name": "music_player_control.pause",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.pause",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044542,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "162342e0-af29-485b-9460-ae0b3a2dc2e4",
|
||||
"data": [
|
||||
{
|
||||
"text": "can you pause ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b11e776a-dd85-4c98-8eb7-225eac6bde6b",
|
||||
"data": [
|
||||
{
|
||||
"text": "put it on pause",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3de0c5b1-ba70-4ffc-974b-849aecde4862",
|
||||
"data": [
|
||||
{
|
||||
"text": "pause playing",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "60805177-3fb6-4f3f-aa39-8bae18c7aa24",
|
||||
"data": [
|
||||
{
|
||||
"text": "pause song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3274762f-cd92-4188-b087-e3b8fa1819d1",
|
||||
"data": [
|
||||
{
|
||||
"text": "pause ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "91abaa3b-b353-4fdd-a21a-26e140af062d",
|
||||
"data": [
|
||||
{
|
||||
"text": "pause",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "86f2580c-0ab5-4c50-ad51-790e81f496b6",
|
||||
"data": [
|
||||
{
|
||||
"text": "please pause",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b4aa7ed6-8b9a-4767-92f5-f3b7e2520be2",
|
||||
"data": [
|
||||
{
|
||||
"text": "pause this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "ce58082e-3375-4229-a1d3-66b11fc44a33",
|
||||
"name": "music_player_control.play",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.play",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044553,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,289 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "f098f50b-845b-4ce3-aad9-cca7583c2924",
|
||||
"data": [
|
||||
{
|
||||
"text": "can",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " you ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "4ac6acb4-9cdb-4438-92b3-960f3813048f",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " this",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "62cd9a42-5cf7-47bd-9538-d9cc3dbdd811",
|
||||
"data": [
|
||||
{
|
||||
"text": "could",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " you ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " this one",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "5c738eb0-0705-4416-87c5-b6e4b9708433",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d9e5dc70-43b7-4bca-980e-abef66dc260b",
|
||||
"data": [
|
||||
{
|
||||
"text": "play ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "dd0eb425-4ce5-4ca2-bbac-866b20b28c9f",
|
||||
"data": [
|
||||
{
|
||||
"text": "could",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " you ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " it for ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "me",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "df174d51-6caa-40fe-a46c-b8743bd3625c",
|
||||
"data": [
|
||||
{
|
||||
"text": "now",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "start",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " playing",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "48ba2aa1-e9b3-476d-8cc9-14e1fbacfd35",
|
||||
"data": [
|
||||
{
|
||||
"text": "now",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "cb52c98e-ebb9-4929-9de9-71b8f26c02f5",
|
||||
"data": [
|
||||
{
|
||||
"text": "start",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " playing ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "e3582d27-4f67-4fcf-8789-1ef3525a381e",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "fd5d4c65-2cb4-4657-a8f1-24497e01c595",
|
||||
"data": [
|
||||
{
|
||||
"text": "and ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "92a51f0b-f1b2-42b1-a87a-4f664bfc12c6",
|
||||
"data": [
|
||||
{
|
||||
"text": "I want you ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "to",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "af2b866d-f6e3-4425-92fc-85d9e1f308d7",
|
||||
"name": "music_player_control.repeat",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.repeat",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044540,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,651 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "8279fd5f-a41b-4e4b-8011-47edb5c916eb",
|
||||
"data": [
|
||||
{
|
||||
"text": "I",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " want ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "to",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " listen ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "to",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " this song once again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "ff784cc5-d872-40a8-a8cf-1f45de2b3bfc",
|
||||
"data": [
|
||||
{
|
||||
"text": "turn on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat mode for ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "37420c0f-179a-4340-92d5-d325a958368a",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "once",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "26570cc9-e98d-4787-9015-b369fd0cd8bb",
|
||||
"data": [
|
||||
{
|
||||
"text": "play this track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "once",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "7dc5bfeb-f60f-4009-8ae0-8501e35af89f",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat this track one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "more",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "time",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "23113a23-6a81-4038-813c-77c070bb5e48",
|
||||
"data": [
|
||||
{
|
||||
"text": "put ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat mode",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d94650e0-e3bd-45df-a7bd-469219dbdfe7",
|
||||
"data": [
|
||||
{
|
||||
"text": "put this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f26ff4f2-7c2b-4c4a-a182-d082ba947741",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "once",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b8ce9e24-b751-4e4f-8c70-5fc3668b14fc",
|
||||
"data": [
|
||||
{
|
||||
"text": "put this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3c188110-0b09-48cb-8204-3e9ce532e84d",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " again from the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "very",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " beginning",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "90b65c7a-10db-4d8f-ba1a-3760c985c800",
|
||||
"data": [
|
||||
{
|
||||
"text": "turn on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat for this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b8d3aa06-47af-4b17-a198-35bfa762c3c1",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "45a408d3-a6a1-4876-b39c-37038cf3a86e",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "ef78b9dc-7026-4093-b90b-bf2dab521ed0",
|
||||
"data": [
|
||||
{
|
||||
"text": "play this song again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "fa7dcfb0-1e77-4e3f-898f-dcb5d63fadb8",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " it ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "more",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "time",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "08043402-da62-43fa-bcce-7ef51551f6bb",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "more",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "time",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "05ab3a12-d5ae-4086-8b2a-8cb3307484a2",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "fcfe36ba-ccba-4deb-b2ae-db32292436e0",
|
||||
"data": [
|
||||
{
|
||||
"text": "let\u0027",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "s",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "a768f306-b47b-4710-b768-5e245fd9600f",
|
||||
"data": [
|
||||
{
|
||||
"text": "turn on",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " repeat mode for this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "be857c76-1ce9-4e42-989a-4504c779b8c1",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "mode for this track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "4b18fef4-ef84-4a45-b029-a10bee4bb7ce",
|
||||
"data": [
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " more time",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "a37e2385-2b6c-4745-922d-a16af957c352",
|
||||
"data": [
|
||||
{
|
||||
"text": "can you repeat this track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "a282d0fb-ec7d-4fe7-b892-3989b739c0ea",
|
||||
"data": [
|
||||
{
|
||||
"text": "can",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " you repeat ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "29fea104-7adf-4d2d-8e73-e60015fa786a",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat it",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "e0ce3070-f7ba-4db5-8494-4cb8a7e6c2d2",
|
||||
"data": [
|
||||
{
|
||||
"text": "could",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " you repeat them",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "8c33ec71-5006-4b60-b7aa-43c24497dc60",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "59061600-8e19-4a80-a021-b51d175782ff",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "2dbf6bda-4465-4ca5-baf0-dead73439e71",
|
||||
"data": [
|
||||
{
|
||||
"text": "play",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " this song from the beginning",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "7c2058a4-e5e2-4456-82a3-238408e9347a",
|
||||
"data": [
|
||||
{
|
||||
"text": "repeat please",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "bf047cdf-0cac-446c-8cdf-a43a40004f76",
|
||||
"name": "music_player_control.resume",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.resume",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044557,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "8b89201d-0660-437d-8d7b-90cb186462b3",
|
||||
"data": [
|
||||
{
|
||||
"text": "resume playing",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "c508cdb6-06c0-4020-aa67-408d549d3ee8",
|
||||
"data": [
|
||||
{
|
||||
"text": "resume ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "fb726b0a-c1a8-4610-bc6e-c6bb6a99e064",
|
||||
"data": [
|
||||
{
|
||||
"text": "resume this song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "2ade82da-0276-4827-8049-b7c411af26b8",
|
||||
"data": [
|
||||
{
|
||||
"text": "continue playing",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "454bfeb5-d225-4ecc-929f-1754f825a9dc",
|
||||
"data": [
|
||||
{
|
||||
"text": "start",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " again",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "dfe058ca-d791-4a50-95b1-730531a40f10",
|
||||
"data": [
|
||||
{
|
||||
"text": "restart ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "47d17eda-673e-46c1-b610-f5e6abc2062a",
|
||||
"data": [
|
||||
{
|
||||
"text": "resume",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "a92e3ecc-6a47-43dd-b150-c4e7af84263e",
|
||||
"data": [
|
||||
{
|
||||
"text": "continue",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "a87c1572-364c-4ad1-bbf5-34f52552f610",
|
||||
"data": [
|
||||
{
|
||||
"text": "continue the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "6d32a82a-bcbf-43fb-97c2-6d7f0d6fb82a",
|
||||
"data": [
|
||||
{
|
||||
"text": "resume ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "ba64e2b5-1768-49e3-9134-b62627d17935",
|
||||
"name": "music_player_control.shuffle",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.shuffle",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044563,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "b1a766d4-6a1a-4f6a-a291-c0908b3e3c30",
|
||||
"data": [
|
||||
{
|
||||
"text": "shuffle mode on",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "db5f6da7-cab0-49ff-b152-88887f425e76",
|
||||
"data": [
|
||||
{
|
||||
"text": "turn on shuffle mode",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3c1050f4-4758-4ce2-b887-d7fc31b1fc9e",
|
||||
"data": [
|
||||
{
|
||||
"text": "shuffle them",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "982e73e8-3e93-48a8-9063-7c46b123c5e4",
|
||||
"data": [
|
||||
{
|
||||
"text": "shuffle this playlist",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f2a75ade-f319-4415-b754-95fb6c0614f7",
|
||||
"data": [
|
||||
{
|
||||
"text": "shuffle",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "a097a69f-6573-4b40-8bac-f7274837583c",
|
||||
"name": "music_player_control.skip_backward",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.skip_backward",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044561,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,210 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "1d241e47-729a-4322-8138-21d4e5cfa0b9",
|
||||
"data": [
|
||||
{
|
||||
"text": "previous song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 1,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "521e7df1-d8c9-40e7-b7e2-9ba7b6f341d5",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip to the back",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "e5801f56-fa54-4b4d-a4e9-032c1e9dcb35",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "to",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " previous",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "6abd6674-fc27-4df9-b719-28a3d03e8106",
|
||||
"data": [
|
||||
{
|
||||
"text": "previous",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "66d1ab50-bde7-4b9e-8d6e-9be69570c674",
|
||||
"data": [
|
||||
{
|
||||
"text": "go back to previous",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "261689c1-64e2-4370-8fdd-fbc349f39702",
|
||||
"data": [
|
||||
{
|
||||
"text": "go back to previous song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "031f6eb7-0589-444f-96dd-4b3cf18370b9",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip backward",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "03a5a9d6-ed0e-471c-a841-f2c99267aa5c",
|
||||
"data": [
|
||||
{
|
||||
"text": "go back to the previous station",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "01f250d9-6765-4d1b-a97b-eecaa0bfafd3",
|
||||
"data": [
|
||||
{
|
||||
"text": "go back",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b74b7c71-59d0-42c8-ad57-3b60009a6805",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip back",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "7f1995fb-6dd9-462e-b580-35d91c41f499",
|
||||
"data": [
|
||||
{
|
||||
"text": "previous station",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "014415b7-bb59-4c40-9d70-82bf410ff095",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip to the previous song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "5d71fac5-626e-4e73-a904-a3f2500a05f3",
|
||||
"data": [
|
||||
{
|
||||
"text": "back",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "170d4bb0-23f8-4ad2-8ced-f03bee8c710a",
|
||||
"data": [
|
||||
{
|
||||
"text": "back",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "up",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " a ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "1c1dcb40-4800-45a4-b7d5-49cc48e188d0",
|
||||
"data": [
|
||||
{
|
||||
"text": "go to previous",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "8e86a17e-f7fb-4aa0-b00f-78b46c9b8cf8",
|
||||
"name": "music_player_control.skip_forward",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.skip_forward",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044580,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,534 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "5c80d39d-cb85-4a53-bded-09b9e9d4ca00",
|
||||
"data": [
|
||||
{
|
||||
"text": "the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "bc434b0a-8426-4856-a150-8f1cad0628fc",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "4aeae22a-340a-4bb4-9cca-20e7d4f9245d",
|
||||
"data": [
|
||||
{
|
||||
"text": "play ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "08268db3-f6d8-4b77-bd79-7dc2f94ffca5",
|
||||
"data": [
|
||||
{
|
||||
"text": "what\u0027",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "s",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "91daa8ef-57fe-474b-ac86-f09dc6dcba4b",
|
||||
"data": [
|
||||
{
|
||||
"text": "go to the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "422be628-6763-43b3-af66-d270a46b5cb5",
|
||||
"data": [
|
||||
{
|
||||
"text": "now the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "9d6efcbe-481a-4bf0-b8eb-d22d75c85575",
|
||||
"data": [
|
||||
{
|
||||
"text": "go ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "forward",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "b02e239b-3df5-48b6-8307-335fba6dee9f",
|
||||
"data": [
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 1,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "125380ba-2616-426f-8b40-6dda2d744a2f",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f9137299-0316-4fb7-b3f5-05c761b5c5f4",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "to",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f0dacf73-31c1-413f-9041-c5824cd99933",
|
||||
"data": [
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "8a538320-42eb-42cf-8d7e-a5397e325851",
|
||||
"data": [
|
||||
{
|
||||
"text": "what\u0027",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "s",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "19b42a16-1c43-4c21-9f69-664804d6fac1",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip to ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d77ba8c7-d460-4069-818b-f062c8b5702c",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip this ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "song",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "7559ee2a-8d03-4019-9600-781208b8bfe0",
|
||||
"data": [
|
||||
{
|
||||
"text": "play ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " track",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "c3a6a359-f3c2-45bd-845a-ecf8b34f1e68",
|
||||
"data": [
|
||||
{
|
||||
"text": "play ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "the",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "06afa98e-cd51-45dc-a659-33dbb4f68adf",
|
||||
"data": [
|
||||
{
|
||||
"text": "play the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d7b33d22-3c4b-4226-a4cf-299e53e15fb4",
|
||||
"data": [
|
||||
{
|
||||
"text": "play another ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "one",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "ccfea9da-87d5-4396-abb5-2227d6856c23",
|
||||
"data": [
|
||||
{
|
||||
"text": "the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " please",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "39c4c4a1-c046-49de-b9d0-6589ac53c460",
|
||||
"data": [
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "track",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "69071604-607f-4720-9849-5de4d0b0e6bb",
|
||||
"data": [
|
||||
{
|
||||
"text": "skip ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "forward",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3f4cdaef-35ae-4d9b-8eb1-81f97e751fe4",
|
||||
"data": [
|
||||
{
|
||||
"text": "what\u0027s",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "877b3fef-7517-4891-bcb3-c28fb580c7cc",
|
||||
"data": [
|
||||
{
|
||||
"text": "the",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": " following song",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3e5289fb-0a2b-4e00-a8eb-3f32bc4f581e",
|
||||
"data": [
|
||||
{
|
||||
"text": "go to the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d6e2553f-668b-45f9-9b58-4eb554f3f4ad",
|
||||
"data": [
|
||||
{
|
||||
"text": "next",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " please",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"id": "13727a0e-f535-4e29-9d6f-1c33863a25d7",
|
||||
"name": "music_player_control.stop",
|
||||
"auto": true,
|
||||
"contexts": [
|
||||
"music-player-control"
|
||||
],
|
||||
"responses": [
|
||||
{
|
||||
"resetContexts": false,
|
||||
"action": "music_player_control.stop",
|
||||
"affectedContexts": [
|
||||
{
|
||||
"name": "music-player-control",
|
||||
"parameters": {},
|
||||
"lifespan": 3
|
||||
}
|
||||
],
|
||||
"parameters": [],
|
||||
"messages": [
|
||||
{
|
||||
"type": 0,
|
||||
"lang": "en",
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"defaultResponsePlatforms": {},
|
||||
"speech": []
|
||||
}
|
||||
],
|
||||
"priority": 500000,
|
||||
"webhookUsed": false,
|
||||
"webhookForSlotFilling": false,
|
||||
"lastUpdate": 1496995044566,
|
||||
"fallbackIntent": false,
|
||||
"events": []
|
||||
}
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": "7e5bf1d5-3562-4c8f-a89a-21aa5e244c4e",
|
||||
"data": [
|
||||
{
|
||||
"text": "stop playing",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "f5edf560-d161-406e-9a58-07df60f1e6f8",
|
||||
"data": [
|
||||
{
|
||||
"text": "enough ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "d2914a06-fad6-4880-ba95-c66b0d06e939",
|
||||
"data": [
|
||||
{
|
||||
"text": "enough",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "75c6e6c6-d275-43a8-98c3-797b67fb7d23",
|
||||
"data": [
|
||||
{
|
||||
"text": "stop",
|
||||
"userDefined": false
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "580ccb15-4f99-4796-99f8-487733ec0e74",
|
||||
"data": [
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "off",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "5e8bd1e2-d0f3-499f-b026-bc96fffd2329",
|
||||
"data": [
|
||||
{
|
||||
"text": "can you stop the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "853e3b36-e604-441c-b3e2-adf15dfc0637",
|
||||
"data": [
|
||||
{
|
||||
"text": "stop the ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "3939fb30-219e-436b-97b3-151914b39b37",
|
||||
"data": [
|
||||
{
|
||||
"text": "stop",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "it",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "48c9c678-871d-4075-975b-6a3b6a175d4c",
|
||||
"data": [
|
||||
{
|
||||
"text": "could you ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "stop",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
},
|
||||
{
|
||||
"id": "9b351312-c262-40be-9dc0-732dafb17954",
|
||||
"data": [
|
||||
{
|
||||
"text": "turn off",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
},
|
||||
{
|
||||
"text": " ",
|
||||
"userDefined": false
|
||||
},
|
||||
{
|
||||
"text": "music",
|
||||
"meta": "@sys.ignore",
|
||||
"userDefined": true
|
||||
}
|
||||
],
|
||||
"isTemplate": false,
|
||||
"count": 0,
|
||||
"updated": 0
|
||||
}
|
||||
]
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"version": "1.0.0"
|
||||
}
|
||||
|
|
@ -1,321 +0,0 @@
|
|||
{
|
||||
"rasa_nlu_data": {
|
||||
"regex_features": [
|
||||
{
|
||||
"name": "zipcode",
|
||||
"pattern": "[0-9]{5}"
|
||||
}
|
||||
],
|
||||
"entity_synonyms": [
|
||||
{
|
||||
"value": "chinese",
|
||||
"synonyms": ["Chinese", "Chines", "chines"]
|
||||
},
|
||||
{
|
||||
"value": "vegetarian",
|
||||
"synonyms": ["veggie", "vegg"]
|
||||
}
|
||||
],
|
||||
"common_examples": [
|
||||
{
|
||||
"text": "hey",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "howdy",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "hey there",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "hello",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "hi",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "good morning",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "good evening",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "dear sir",
|
||||
"intent": "greet",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "yes",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "yep",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "yeah",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "indeed",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "that's right",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "ok",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "great",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "right, thank you",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "correct",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "great choice",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "sounds really good",
|
||||
"intent": "affirm",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "i'm looking for a place to eat",
|
||||
"intent": "restaurant_search",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "I want to grab lunch",
|
||||
"intent": "restaurant_search",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "I am searching for a dinner spot",
|
||||
"intent": "restaurant_search",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "i'm looking for a place in the north of town",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 31,
|
||||
"end": 36,
|
||||
"value": "north",
|
||||
"entity": "location"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "show me chinese restaurants",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 8,
|
||||
"end": 15,
|
||||
"value": "chinese",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "show me chines restaurants",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 8,
|
||||
"end": 14,
|
||||
"value": "chinese",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "show me a mexican place in the centre",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 31,
|
||||
"end": 37,
|
||||
"value": "centre",
|
||||
"entity": "location"
|
||||
},
|
||||
{
|
||||
"start": 10,
|
||||
"end": 17,
|
||||
"value": "mexican",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "i am looking for an indian spot called olaolaolaolaolaola",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 20,
|
||||
"end": 26,
|
||||
"value": "indian",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "search for restaurants",
|
||||
"intent": "restaurant_search",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "anywhere in the west",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 16,
|
||||
"end": 20,
|
||||
"value": "west",
|
||||
"entity": "location"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "anywhere near 18328",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 14,
|
||||
"end": 19,
|
||||
"value": "18328",
|
||||
"entity": "location"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "I am looking for asian fusion food",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 17,
|
||||
"end": 29,
|
||||
"value": "asian fusion",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "I am looking a restaurant in 29432",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 29,
|
||||
"end": 34,
|
||||
"value": "29432",
|
||||
"entity": "location"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "I am looking for mexican indian fusion",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 17,
|
||||
"end": 38,
|
||||
"value": "mexican indian fusion",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "central indian restaurant",
|
||||
"intent": "restaurant_search",
|
||||
"entities": [
|
||||
{
|
||||
"start": 0,
|
||||
"end": 7,
|
||||
"value": "central",
|
||||
"entity": "location"
|
||||
},
|
||||
{
|
||||
"start": 8,
|
||||
"end": 14,
|
||||
"value": "indian",
|
||||
"entity": "cuisine"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "bye",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "goodbye",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "good bye",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "stop",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "end",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "farewell",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "Bye bye",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
},
|
||||
{
|
||||
"text": "have a good one",
|
||||
"intent": "goodbye",
|
||||
"entities": []
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"description": "NLU Evaluation Corpora",
|
||||
"language": "en"
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,25 +0,0 @@
|
|||
[
|
||||
{
|
||||
"Id": "6a9fd374-c43d-447a-97f2-f37540d0c725",
|
||||
"Name": "Spotify",
|
||||
"UserId": "8da9e1e0-42dc-420a-8016-79b04c1297d0",
|
||||
"ClientAccessToken": "43a0f48e3f1e41da822092e7e699426b",
|
||||
"DeveloperAccessToken": "cd1e4685c6a04d7db1f59e6853fd597b",
|
||||
"Integrations":
|
||||
[
|
||||
{
|
||||
"Platform": "Facebook Messenger",
|
||||
"VerifyToken": "spotify_music_bot",
|
||||
"AccessToken": "EAAJym8gGQFMBAPnsxTw6rZBE2WVfYtCJeGkCQ2NZC3VbQd45SyUlXjjgUf1gAkCOWq7v0blxTb1xLZAeMAXYhQj3btcMlMO9YbG7StMyx8ussz5TnD1tjjIZCye5u66PZAuFxSyIPXtTCin8GPiJ19cYB8ZCyH3rr5sro7OxUSyAZDZD"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Id": "bff7605c-3db5-44dc-9ba7-1c9be2832318",
|
||||
"Name": "Chatbot",
|
||||
"UserId": "8da9e1e0-42dc-420a-8016-79b04c1297d0",
|
||||
"ClientAccessToken": "6ba8a06865944f14981ce18d229283f5",
|
||||
"DeveloperAccessToken": "f12fbdb0da5a4616b18fa7582d32f6e3",
|
||||
"Integrations": []
|
||||
}
|
||||
]
|
||||
|
|
@ -15,21 +15,33 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="App_Data\AgentArchive\**" />
|
||||
<Compile Remove="App_Data\Corpus\**" />
|
||||
<Compile Remove="App_Data\DbInitializer\**" />
|
||||
<Compile Remove="App_Data\ModelFiles\**" />
|
||||
<Compile Remove="App_Data\NewFolder\**" />
|
||||
<Compile Remove="App_Data\Projects\**" />
|
||||
<Compile Remove="App_Data\TrainingFiles\**" />
|
||||
<Compile Remove="PublishOutput\**" />
|
||||
<Content Remove="App_Data\AgentArchive\**" />
|
||||
<Content Remove="App_Data\Corpus\**" />
|
||||
<Content Remove="App_Data\DbInitializer\**" />
|
||||
<Content Remove="App_Data\ModelFiles\**" />
|
||||
<Content Remove="App_Data\NewFolder\**" />
|
||||
<Content Remove="App_Data\Projects\**" />
|
||||
<Content Remove="App_Data\TrainingFiles\**" />
|
||||
<Content Remove="PublishOutput\**" />
|
||||
<EmbeddedResource Remove="App_Data\AgentArchive\**" />
|
||||
<EmbeddedResource Remove="App_Data\Corpus\**" />
|
||||
<EmbeddedResource Remove="App_Data\DbInitializer\**" />
|
||||
<EmbeddedResource Remove="App_Data\ModelFiles\**" />
|
||||
<EmbeddedResource Remove="App_Data\NewFolder\**" />
|
||||
<EmbeddedResource Remove="App_Data\Projects\**" />
|
||||
<EmbeddedResource Remove="App_Data\TrainingFiles\**" />
|
||||
<EmbeddedResource Remove="PublishOutput\**" />
|
||||
<None Remove="App_Data\AgentArchive\**" />
|
||||
<None Remove="App_Data\Corpus\**" />
|
||||
<None Remove="App_Data\DbInitializer\**" />
|
||||
<None Remove="App_Data\ModelFiles\**" />
|
||||
<None Remove="App_Data\NewFolder\**" />
|
||||
<None Remove="App_Data\Projects\**" />
|
||||
|
|
@ -37,44 +49,6 @@
|
|||
<None Remove="PublishOutput\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="App_Data\DbInitializer\Agents\agents.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\agent.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-album.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-album_entries_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-service.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-service_entries_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-sort.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-sort_entries_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\playlist.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\playlist_entries_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\song.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\song_entries_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music.play.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music.play_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_favorite.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_favorite_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_playlist.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_playlist_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.pause.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.pause_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.play.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.play_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.repeat.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.repeat_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.resume.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.resume_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.shuffle.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.shuffle_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_backward.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_backward_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_forward.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_forward_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.stop.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.stop_usersays_en.json" />
|
||||
<Content Remove="App_Data\DbInitializer\Agents\Dialogflow\Spotify\package.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="App_Data\BotSharp.db" />
|
||||
</ItemGroup>
|
||||
|
|
@ -89,46 +63,8 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="App_Data\DbInitializer\Agents\agents.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\agent.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-album.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-album_entries_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-service.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-service_entries_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-sort.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\music-sort_entries_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\playlist.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\playlist_entries_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\song.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\entities\song_entries_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music.play.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music.play_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_favorite.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_favorite_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_playlist.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.add_playlist_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.pause.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.pause_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.play.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.play_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.repeat.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.repeat_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.resume.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.resume_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.shuffle.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.shuffle_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_backward.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_backward_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_forward.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.skip_forward_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.stop.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\intents\music_player_control.stop_usersays_en.json" />
|
||||
<None Include="App_Data\DbInitializer\Agents\Dialogflow\Spotify\package.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="3.0.0" />
|
||||
|
|
@ -136,4 +72,8 @@
|
|||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="3.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -8,11 +8,10 @@
|
|||
|
||||
"Pipe": {
|
||||
"train": "BotSharpTokenizer, BotSharpTagger, CRFsuiteEntityRecognizer, FasttextClassifier",
|
||||
"predict": "BotSharpTokenizer, CRFsuiteEntityRecognizer, WitAiEntityRecognizer, FasttextClassifier"
|
||||
"predict": "BotSharpTokenizer, BotSharpTagger, CRFsuiteEntityRecognizer, FasttextClassifier"
|
||||
},
|
||||
|
||||
"BotSharpTagger": {
|
||||
"dataDir": "D:\\Projects\\BotSharp.NLP\\Data"
|
||||
},
|
||||
|
||||
"CRFsuiteEntityRecognizer": {
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
language: "zh"
|
||||
|
||||
pipeline:
|
||||
- name: "nlp_mitie"
|
||||
model: "data/total_word_feature_extractor_zh.dat"
|
||||
- name: "tokenizer_jieba"
|
||||
- name: "ner_mitie"
|
||||
- name: "ner_synonyms"
|
||||
- name: "intent_entity_featurizer_regex"
|
||||
- name: "intent_featurizer_mitie"
|
||||
- name: "intent_classifier_sklearn"
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
language: "en"
|
||||
|
||||
pipeline:
|
||||
- name: "nlp_mitie"
|
||||
model: "data/total_word_feature_extractor.dat"
|
||||
- name: "tokenizer_mitie"
|
||||
- name: "ner_mitie"
|
||||
- name: "ner_synonyms"
|
||||
- name: "intent_entity_featurizer_regex"
|
||||
- name: "intent_featurizer_mitie"
|
||||
- name: "intent_classifier_sklearn"
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
language: "en"
|
||||
|
||||
pipeline: "spacy_sklearn"
|
||||
|
|
@ -59,6 +59,7 @@ namespace BotSharp.WebHost
|
|||
|
||||
var filePath = Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "BotSharp.RestApi.xml");
|
||||
c.IncludeXmlComments(filePath);
|
||||
c.OperationFilter<SwaggerFileUploadOperation>();
|
||||
});
|
||||
|
||||
// register platform dependency
|
||||
|
|
|
|||
30
BotSharp.WebHost/SwaggerFileUploadOperation.cs
Normal file
30
BotSharp.WebHost/SwaggerFileUploadOperation.cs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
using Swashbuckle.AspNetCore.Swagger;
|
||||
using Swashbuckle.AspNetCore.SwaggerGen;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace BotSharp.WebHost
|
||||
{
|
||||
public class SwaggerFileUploadOperation : IOperationFilter
|
||||
{
|
||||
public void Apply(Operation operation, OperationFilterContext context)
|
||||
{
|
||||
if (operation.OperationId == "V1AgentRestorePost")
|
||||
{
|
||||
operation.Parameters.Clear();
|
||||
|
||||
operation.Parameters.Add(new NonBodyParameter
|
||||
{
|
||||
Name = "uploadedFile",
|
||||
In = "formData",
|
||||
Description = "Upload Zip File, meta.json is the extra data for customized function.",
|
||||
Required = true,
|
||||
Type = "file"
|
||||
});
|
||||
operation.Consumes.Add("multipart/form-data");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
10
BotSharp.sln
10
BotSharp.sln
|
|
@ -11,8 +11,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.WebHost", "BotShar
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Core.UnitTest", "BotSharp.Core.UnitTest\BotSharp.Core.UnitTest.csproj", "{A31A6853-DFB8-477D-8F09-8E6E3D166102}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.NLP", "..\BotSharp.NLP\BotSharp.NLP\BotSharp.NLP.csproj", "{01388132-B2F0-4760-8893-996B5E1ADCDE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -53,14 +51,6 @@ Global
|
|||
{A31A6853-DFB8-477D-8F09-8E6E3D166102}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A31A6853-DFB8-477D-8F09-8E6E3D166102}.Release|x64.ActiveCfg = Release|x64
|
||||
{A31A6853-DFB8-477D-8F09-8E6E3D166102}.Release|x64.Build.0 = Release|x64
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Debug|x64.Build.0 = Debug|x64
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Release|x64.ActiveCfg = Release|x64
|
||||
{01388132-B2F0-4760-8893-996B5E1ADCDE}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
63
README.rst
63
README.rst
|
|
@ -24,69 +24,10 @@ Some Features
|
|||
|
||||
Documents
|
||||
---------
|
||||
https://botsharp.readthedocs.io/en/latest
|
||||
Read the docs: https://botsharp.readthedocs.io
|
||||
|
||||
https://github.com/Oceania2018/BotSharp/wiki
|
||||
Github Wiki: https://github.com/Oceania2018/BotSharp/wiki
|
||||
|
||||
QUICK START
|
||||
-----------
|
||||
Building BotSharp
|
||||
^^^^^^^^^^^^^^^^^
|
||||
Make sure the `Microsoft .NET Core`_ build environment is installed.
|
||||
Building solution using dotnet CLI (preferred).
|
||||
|
||||
::
|
||||
|
||||
PS D:\> git clone https://github.com/Oceania2018/BotSharp
|
||||
PS D:\> cd BotSharp
|
||||
PS D:\> dotnet build
|
||||
|
||||
Install in docker container
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Make sure you've got `Docker`_ installed:
|
||||
|
||||
::
|
||||
|
||||
PS D:\> git clone https://github.com/Oceania2018/BotSharp
|
||||
PS D:\> cd BotSharp
|
||||
|
||||
Build docker image:
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker build -t botsharp .
|
||||
|
||||
Start a container:
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker run -it -p 3112:3112 botsharp
|
||||
|
||||
|
||||
Install in NuGet
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
PM> Install-Package BotSharp.Core
|
||||
PM> Install-Package BotSharp.RestApi
|
||||
|
||||
Use BotSharp.NLP as a natural language processing toolkit alone.
|
||||
|
||||
::
|
||||
|
||||
PM> Install-Package BotSharp.NLP
|
||||
|
||||
|
||||
|
||||
Tip Jar
|
||||
-------
|
||||
* Ethereum 0x2FdE97210cd14F6020C67BAFA61d4c227FdC268d
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/Haiping-Chen/Etherscan.NetSDK/master/qr_code_eth.jpg
|
||||
:height: 160px
|
||||
|
||||
.. _Rasa UI: https://github.com/paschmann/rasa-ui
|
||||
.. _Articulate UI: https://spg.ai/projects/articulate
|
||||
.. _Microsoft .NET Core: https://www.microsoft.com/net/download
|
||||
.. _Docker: https://www.docker.com
|
||||
35
docker-compose-articulateui.yml
Normal file
35
docker-compose-articulateui.yml
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
version: '3.0'
|
||||
|
||||
services:
|
||||
api:
|
||||
image: samtecspg/articulate-api:repo-head
|
||||
ports: ['0.0.0.0:7500:7500']
|
||||
networks: ['botsharp-network']
|
||||
entrypoint: ['node', 'start.js']
|
||||
environment:
|
||||
- SWAGGER_BASE_PATH
|
||||
|
||||
ui:
|
||||
image: samtecspg/articulate-ui:repo-head
|
||||
ports: ['0.0.0.0:3000:3000']
|
||||
networks: ['botsharp-network']
|
||||
environment:
|
||||
- rasanluendpoint=http://botsharp:5000
|
||||
- API_URL
|
||||
|
||||
botsharp:
|
||||
image: botsharpdocker/botsharp:latest
|
||||
ports: ['0.0.0.0:5000:5000']
|
||||
networks: ['botsharp-network']
|
||||
duckling:
|
||||
image: samtecspg/duckling:0.1.6.0
|
||||
ports: ['0.0.0.0:8000:8000']
|
||||
networks: ['botsharp-network']
|
||||
redis:
|
||||
image: redis:4.0.6-alpine
|
||||
ports: ['0.0.0.0:6379:6379']
|
||||
networks: ['botsharp-network']
|
||||
command: redis-server --appendonly yes
|
||||
|
||||
|
||||
networks: {botsharp-network: {}}
|
||||
17
docker-compose-rasaui.yml
Normal file
17
docker-compose-rasaui.yml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
version: '3.0'
|
||||
|
||||
services:
|
||||
ui:
|
||||
image: botsharpdocker/botsharp-rasaui:latest
|
||||
ports: ['0.0.0.0:5001:5001']
|
||||
networks: ['botsharp-network']
|
||||
environment:
|
||||
- rasanluendpoint=http://botsharp:5000
|
||||
|
||||
botsharp:
|
||||
image: botsharpdocker/botsharp:latest
|
||||
ports: ['0.0.0.0:5000:5000']
|
||||
networks: ['botsharp-network']
|
||||
|
||||
|
||||
networks: {botsharp-network: {}}
|
||||
|
|
@ -6,17 +6,54 @@
|
|||
.. image:: https://raw.githubusercontent.com/Oceania2018/BotSharp/master/BotSharp.WebHost/wwwroot/images/BotSharp.png
|
||||
:height: 30px
|
||||
|
||||
.. include:: ../README.rst
|
||||
The Open Source AI Bot Platform Builder for Enterprise
|
||||
======================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
*"Conversation as a platform (CaaP) is the future, so it's perfect that we're already offering the whole toolkits to our enterprise developers using the BotSharp Bot Platform Builder to build a CaaP. It opens up as much learning power as possible for your enterprise robots and precisely control every step of the AI processing pipeline."*
|
||||
|
||||
**BotSharp** is an open source machine learning framework for AI Bot platform builder. This project involves natural language understanding, computer vision and audio processing technologies, and aims to promote the development and application of intelligent robot assistants in enterprise information systems. Out-of-the-box machine learning algorithms allow ordinary programmers to develop artificial intelligence applications faster and easier.
|
||||
|
||||
It's witten in C# running on .Net Core that is full cross-platform framework. C# is a enterprise grade programming language which is widely used to code business logic in information management related system. More friendly to corporate developers. BotSharp adopts machine learning algrithm in C/C++ interfaces directly which skips the python interfaces. That will facilitate the feature of the typed language C#, and be more easier when refactoring code in system scope.
|
||||
|
||||
Why we do this? because we all know python is not friendly programming language for enterprise developers, it's not only because it's low performance but also it's a type weak language, it will be a disater if you use python to build your bussiness system.
|
||||
|
||||
BotSharp is in accordance with components princple strictly, decouples every part that needed in the platform builder. So you can choose different UI/UX, or pick up a different NLP Tagger, or select a more advanced algrithm to do NER task. They are all modulized based an unfied interfaces.
|
||||
|
||||
Some Features
|
||||
-------------
|
||||
|
||||
* Built-in multi-Agents management, easy to build Bot as a Service platform.
|
||||
* Context In/ Out with lifespan to make conversion flow be controllable.
|
||||
* Use the natural language processing pipeline mechanism and the popular NLP algorithm library to build your own unique robot processing flow.
|
||||
* Support export/ import agent from other bot platforms directly.
|
||||
* Support different UI providers like `Rasa UI`_ and `Articulate UI`_.
|
||||
* Support for multiple data request and response formats such as Rasa NLU and Dialogflow.
|
||||
* Integrate with popular social platforms like Facebook Messenger, Slack and Telegram.
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
The main documentation for the site is organized into a couple sections:
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
* :ref:`User Documentation <user-docs>`
|
||||
* :ref:`Integration Documentation <integration-docs>`
|
||||
* :ref:`search`
|
||||
|
||||
.. _user-docs:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: User Documentation:
|
||||
|
||||
installation
|
||||
|
||||
.. _integration-docs:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Integration Documentation:
|
||||
|
||||
integrations/facebook-messenger
|
||||
|
||||
|
||||
.. _Rasa UI: https://github.com/paschmann/rasa-ui
|
||||
.. _Articulate UI: https://spg.ai/projects/articulate
|
||||
|
|
|
|||
80
docs/installation.rst
Normal file
80
docs/installation.rst
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
Installation
|
||||
============
|
||||
BotSharp strictly follows the modular design principle and adopts a structure in which views and logic are separated.
|
||||
So you can choose the front-end Bot design and management interface.
|
||||
If you want to use the `RASA UI`_ as a front end, you can use the rasaui-specific compose file to quickly experience BotSharp.
|
||||
|
||||
Docker Composer
|
||||
^^^^^^^^^^^^^^^
|
||||
Integrate with `Rasa UI`_, you can use docker compose to run.
|
||||
Make sure you've got `Docker`_ installed.
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker-compose -f docker-compose-rasaui.yml up
|
||||
|
||||
Point your web browser at http://localhost:5001 and enjoy Rasa-UI with BotSharp.
|
||||
|
||||
Integrate with `Articulate UI`_, you can use docker compose to run.
|
||||
Make sure you've got `Docker`_ installed.
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker-compose -f docker-compose-articulateui.yml up
|
||||
|
||||
Point your web browser at http://localhost:3000 and enjoy Rasa-UI with BotSharp.
|
||||
|
||||
Building BotSharp
|
||||
^^^^^^^^^^^^^^^^^
|
||||
Make sure the `Microsoft .NET Core`_ build environment is installed.
|
||||
Building solution using dotnet CLI (preferred).
|
||||
|
||||
::
|
||||
|
||||
PS D:\> git clone https://github.com/Oceania2018/BotSharp
|
||||
PS D:\> cd BotSharp
|
||||
PS D:\> dotnet build
|
||||
|
||||
Install in docker container
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
PS D:\> git clone https://github.com/Oceania2018/BotSharp
|
||||
PS D:\> cd BotSharp
|
||||
|
||||
Build docker image:
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker build -t botsharp .
|
||||
|
||||
Start a container:
|
||||
|
||||
::
|
||||
|
||||
PS D:\BotSharp\> docker run -it -p 5000:5000 botsharp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Install in NuGet
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
PM> Install-Package BotSharp.Core
|
||||
PM> Install-Package BotSharp.RestApi
|
||||
|
||||
Use BotSharp.NLP as a natural language processing toolkit alone.
|
||||
|
||||
::
|
||||
|
||||
PM> Install-Package BotSharp.NLP
|
||||
|
||||
|
||||
.. _Rasa UI: https://github.com/paschmann/rasa-ui
|
||||
.. _Articulate UI: https://spg.ai/projects/articulate
|
||||
.. _Microsoft .NET Core: https://www.microsoft.com/net/download
|
||||
.. _Docker: https://www.docker.com
|
||||
56
docs/integrations/facebook-messenger.rst
Normal file
56
docs/integrations/facebook-messenger.rst
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
Facebook Messenger
|
||||
==================
|
||||
|
||||
The BotSharp Facebook integration allows you to easily create a Facebook Messenger bot with natural language understanding, based on the BotSharp technology.
|
||||
|
||||
**Setting Up Facebook**
|
||||
|
||||
In order to set up the Facebook integration for your agent, you'll need the following:
|
||||
|
||||
* A Facebook account
|
||||
|
||||
* A Facebook page to add your agent to
|
||||
|
||||
When a user visits your page and sends you a message, they'll be talking to your agent.
|
||||
|
||||
**Create a Facebook App**
|
||||
|
||||
1. Log into the `Facebook Developer Console`_.
|
||||
2. Click on **My Apps** in the upper right hand corner.
|
||||
3. Click on **Add a New App** and enter a display name and contact email.
|
||||
4. Click **Create App ID**.
|
||||
5. On the next page, click the **Set up** button for the **Messenger** option.
|
||||
6. Under the **Token Generation** section, choose one of your Facebook pages (**Create a new page** if not exist).
|
||||
|
||||
This will generate a **Page Access Token**. Keep this token handy, as you'll need to enter it in BotSharp.
|
||||
|
||||
**Setting Up BotSharp**
|
||||
|
||||
1. Click on the Integrations option in the left menu and switch on Facebook Messenger. In the dialog that opens, enter the following information:
|
||||
* **Verify Token** - This can be any string and is solely for your purposes
|
||||
* **Page Access Token** - Enter the token generated in the Facebook Developer Console
|
||||
2. Or edit agents.json under App_Data\DbInitializer\Agents, update **Page Access Token** and **Verify Token**.
|
||||
3. Click the **Start** button.
|
||||
|
||||
**Webhook Configuration**
|
||||
|
||||
To configure your agent's webhook, return to the Facebook Developer Console:
|
||||
|
||||
1. Click the Setup Webhooks button under the Webhooks section and enter the following information:
|
||||
* **Callback URL** - This is the URL provided on the Facebook Messenger integration page
|
||||
* **Verify Token** - This is the token you created
|
||||
* Check the **messages** and **messaging_postbacks** options under Subscription Fields
|
||||
2. Click the **Verify and Save** button.
|
||||
|
||||
**Testing**
|
||||
|
||||
In order to make your agent available for testing, you'll need to make your app public:
|
||||
|
||||
1. Click on **App Review** in the left menu of the Facebook Developer Console.
|
||||
2. Click on the switch under **Make APP_NAME public**? You'll be prompted to choose a category for your app.
|
||||
3. Choose **Apps for Messenger** from the list
|
||||
4. Click the **Confirm** button.
|
||||
|
||||
You will also need to set a username for your page. This is the username users will chat with when using your agent. To set the username, click the **Create Page @Username** link under your page's profile picture and title.
|
||||
|
||||
.. _Facebook Developer Console: https://developers.facebook.com
|
||||
Loading…
Reference in a new issue