[][src]Struct rust_bert::pipelines::question_answering::QuestionAnsweringModel

pub struct QuestionAnsweringModel { /* fields omitted */ }

Methods

impl QuestionAnsweringModel[src]

pub fn new(
    question_answering_config: QuestionAnsweringConfig
) -> Fallible<QuestionAnsweringModel>
[src]

Build a new QuestionAnsweringModel

Arguments

  • question_answering_config - QuestionAnsweringConfig object containing the resource references (model, vocabulary, configuration) and device placement (CPU/GPU)

Example

use rust_bert::pipelines::question_answering::QuestionAnsweringModel;

let qa_model =  QuestionAnsweringModel::new(Default::default())?;

pub fn predict(
    &self,
    qa_inputs: &[QaInput],
    top_k: i64,
    batch_size: usize
) -> Vec<Vec<Answer>>
[src]

Perform extractive question answering given a list of QaInputs

Arguments

  • qa_inputs - &[QaInput] Array of Question Answering inputs (context and question pairs)
  • top_k - return the top-k answers for each QaInput. Set to 1 to return only the best answer.
  • batch_size - maximum batch size for the model forward pass.

Returns

  • Vec<Vec<Answer>> Vector (same length as qa_inputs) of vectors (each of length top_k) containing the extracted answers.

Example

use rust_bert::pipelines::question_answering::{QuestionAnsweringModel, QaInput};

let qa_model =  QuestionAnsweringModel::new(Default::default())?;

let question_1 = String::from("Where does Amy live ?");
let context_1 = String::from("Amy lives in Amsterdam");
let question_2 = String::from("Where does Eric live");
let context_2 = String::from("While Amy lives in Amsterdam, Eric is in The Hague.");

let qa_input_1 = QaInput { question: question_1, context: context_1 };
let qa_input_2 = QaInput { question: question_2, context: context_2 };
let answers = qa_model.predict(&[qa_input_1, qa_input_2], 1, 32);

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.