#chat-bot #csml #interpreter #experience #language #third-party

csmlinterpreter

CSML(对话标准元语言)是一种专为轻松创建对话体验而开发的领域特定语言。

9个版本

0.4.0 2020年5月28日
0.3.2 2020年5月4日
0.3.1 2020年4月24日
0.2.3 2020年4月16日
0.1.1 2020年3月19日

#1218 in 文本处理

30 每月下载次数

Apache-2.0

365KB
10K SLoC

CSML 语言

CSML logo

简介

CSML(对话标准元语言)是一种专为轻松创建对话体验而开发的领域特定语言。

该语言的目的在于简化人类与机器之间丰富对话交互的创建和维护。CSML流程采用非常表达性和纯文本的语法,易于理解,便于部署和维护对话代理。借助其强大的运行时API,CSML处理短期和长期内存槽、元数据注入以及连接到任何第三方API或在任何编程语言中注入任意代码。

通过使用CSML语言,任何开发者都可以在任何渠道(Facebook Messenger、Slack、Facebook Workplace、Microsoft Teams、自定义Web应用等)上集成任意复杂的对话代理,并使任何机器人对任何最终用户可用。CSML平台附带大量开箱即用的渠道集成,但开发者可以使用CSML接口自由添加新的自定义集成。

功能图

diagram

示例

你好世界

cargo run --example hello_world

事件

cargo run --example event

元数据

cargo run --example metadata

内存

cargo run --example memory

快速入门:自行运行

需要Rust版本1.41。


use std::fs;
use csmlinterpreter::{data::ContextJson, interpret};

fn interpret_flow(flow: &str, step_name: &str) {
    let event = Event::text("hello");
    let context = ContextJson::new();

    dbg!(interpret(
        flow, step_name, context, &event, None
    ));
}

fn main() {
    // add a valid path to a csml file
    let flow = fs::read_to_string("./hello_world.csml").unwrap();

    interpret_flow(&flow, "start");
}

附加信息

获取帮助

  • Slack - 直接提问关于使用该语言的问题。
  • CSML 文档 - 入门指南。

信息

与该语言互动

  • Studio - 在几分钟内创建和部署您的聊天机器人。

依赖关系

~13–23MB
~383K SLoC