#非阻塞 #微软 #Hyper #客户端 #API 客户端 #认知服务

bin+lib cogs

Microsoft Cognition API 的非阻塞客户端

4 个版本

使用旧的 Rust 2015

0.1.1 2017年6月15日
0.1.0 2017年4月1日
0.0.4 2017年6月15日
0.0.1 2017年4月1日

#75 in #微软

MIT 许可证

27KB
521

Cogs 构建状态

Rust 的非阻塞 Microsoft Cognition API 客户端。

工作进度

注意:由于基于 Tokio 的 Hyper 尚未发布到 Crates.io,因此此库也尚未发布。

用法

您需要克隆此仓库并指定路径。

cogs = { path = "$cloned_path" }

命令行

克隆此仓库,进入目录,然后运行

cargo install

然后您可以在环境中设置一个 AZURE_SUBSCRIPTION_KEY,或者通过命令行传递。

cogs --from=en --to=de --repl


**************************** Cogs ****************************

Enter text and get back a translation. Ctrl+C to exit.


Hi, my name is Lloyd.
Hallo, ist mein Name Lloyd.
  1. 翻译 API 文档 在此

lib.rs:

Cogs 是 Microsoft 认知服务的非阻塞客户端

尽管它还在开发中,并非所有 API 都已实现,但它包含了足够的架构,让您开始使用。要添加对新端点的支持,您只需为您自己的端点实现 Cog(见 cogs 模块)。要查看示例,请检查翻译模块。

示例用法

let mut core = tokio_core::reactor::Core::new().unwrap();
let handle = core.handle();
let client = hyper::Client::configure()
    .connector(hyper_tls::HttpsConnector::new(4, &handle).unwrap())
    .keep_alive(true)
    .build(&handle);
let credentials = Credentials::new(sub_key);
let engine = Engine::new(credentials, client);
let translate_req = TranslateRequest {
    text: "Hello",
    from: Some("en"),
    to: "de",
    content_type: None,
    category: None,
};
let work = engine.run(translate_req);
// TODO: get a sandbox key so this actually comes back as "Hallo"
assert_eq!(core.run(work).unwrap(), "")

依赖项

~10–19MB
~261K SLoC