extern crate failure;
use std::path::PathBuf;
use std::env;
use rust_bert::pipelines::question_answering::{QuestionAnsweringModel, squad_processor};
fn main() -> failure::Fallible<()> {
let qa_model = QuestionAnsweringModel::new(Default::default())?;
let mut squad_path = PathBuf::from(env::var("squad_dataset")
.expect("Please set the \"squad_dataset\" environment variable pointing to the SQuAD dataset folder"));
squad_path.push("dev-v2.0.json");
let qa_inputs = squad_processor(squad_path);
let answers = qa_model.predict(&qa_inputs, 1, 64);
println!("Sample answer: {:?}", answers.first().unwrap());
println!("{}", answers.len());
Ok(())
}