5 releases (breaking)
Uses old Rust 2015
0.5.0 | Apr 7, 2018 |
---|---|
0.4.0 | Mar 2, 2018 |
0.3.0 | Feb 13, 2018 |
0.2.0 | Feb 9, 2018 |
0.1.0 | Feb 7, 2018 |
#1047 in Machine learning
84KB
2K
SLoC
Machine Box Client
machinebox is a Rust client for the machinebox.io suite of machines. It provides a simple means of accessing the machines, exposing common functionality to all machines as well as box-specific functionality. Each "box" or "box type" is separated into its own module and struct.
Modules
The following is a list of the modules corresponding to machinebox types and which ones have been implemented so far:
- Textbox
- Facebox
- Tagbox
- Videobox
- Nudebox
- Suggestionbox
- Fakebox
Usage
To use features, simply call the appropriate function on the corresponding box:
extern crate machinebox;
use machinebox::textbox::Textbox;
use machinebox::BoxClient;
// Make sure you actually have a textbox running here...
let tb = Textbox::new("http://localhost:8080");
let analysis = tb.check("Pay William $200 tomorrow");
if let Ok(res) = analysis {
let money = res.sentences[0].entities.iter().find(|e| e.entity_type == "money");
match money {
Some(val) => println!("You specified {}", val.text),
None => println!("You didn't indicate money"),
}
}
The above code will analyse the phrase Pay William $200 tomorrow
, flagging
tomorrow
as a date and 200
as an entity of type money
.
Notes
If you run the tests locally, you'll need RUST_TEST_THREADS=1
because the mock HTTP server
persists throughout the lifetime of the test run.
Dependencies
~15–25MB
~424K SLoC