Struct rust_bert::pipelines::conversation::ConversationManager[][src]

pub struct ConversationManager { /* fields omitted */ }

Data structure allowing the management of conversations and main input to the dialogue model. It contains a HashMap of conversations with UUID keys

Implementations

impl ConversationManager[src]

pub fn new() -> ConversationManager[src]

Build a new ConversationManager

Example

use rust_bert::pipelines::conversation::ConversationManager;

let conversation_manager = ConversationManager::new();

pub fn get_active_conversations(
    &mut self
) -> (Vec<&Uuid>, Vec<&mut Conversation>)
[src]

Returns a list of the active conversations (containing new inputs to be processed by the model)

Returns

  • (Vec<&Uuid>, Vec<&mut Conversation>) Tuple of vectors with the active UUID and Conversations

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation = Conversation::new("Hi there!");
let empty_conversation = Conversation::new_empty();
let conversation_id = conversation_manager.add(conversation);
let empty_conversation_id = conversation_manager.add(empty_conversation);

let active_conversations = conversation_manager.get_active_conversations();
assert_eq!(active_conversations.0.len(), 1usize);

pub fn get(&mut self, uuid: &Uuid) -> Option<&mut Conversation>[src]

Returns a mutable reference to the conversation wih the provided UUID

Arguments

  • uuid - &Uuid of the conversation to retrieve

Returns

  • Option<&mut Conversation> Optional mutable reference to the conversation matching the UUID provided

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation = Conversation::new("Hi there!");
let conversation_id = conversation_manager.add(conversation);

let conversation_ref = conversation_manager.get(&conversation_id);

pub fn get_all(&mut self) -> HashMap<&Uuid, &Conversation>[src]

Returns a HashMap containing references to all conversations stored in the manager

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation = Conversation::new("Hi there!");
let conversation_id = conversation_manager.add(conversation);

let all_conversations = conversation_manager.get_all();

pub fn create(&mut self, text: &str) -> Uuid[src]

Creates a conversation and add it to the conversation manager

Arguments

  • text - &str string slice with an original user input

Returns

  • Uuid for the conversation created

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation_id = conversation_manager.create("Hi there!");

pub fn create_empty(&mut self) -> Uuid[src]

Creates an empty conversation and add it to the conversation manager

Returns

  • Uuid for the conversation created

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation_id = conversation_manager.create_empty();

pub fn add(&mut self, conversation: Conversation) -> Uuid[src]

Adds an existing conversation to the conversation manager

Arguments

  • conversation - Conversation to be added to the conversation manager

Returns

  • Uuid for the conversation created

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation = Conversation::new("Hi there!");
let conversation_id = conversation_manager.add(conversation);

pub fn remove(&mut self, uuid: &Uuid) -> Option<Conversation>[src]

Deregister a conversation from the conversation manager

Arguments

  • uuid - &Uuid of the conversation to deregister from the conversation manager

Returns

  • Option<Conversation> deregistered conversation

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation_id = conversation_manager.create("Hi there!");
conversation_manager.remove(&conversation_id);

pub fn clear(&mut self) -> HashMap<Uuid, Conversation>[src]

Clear all conversations from the conversation manager, and returns the conversations and their former UUID.

Returns

  • HashMap<Uuid, Conversation> deregistered conversations

Example

use rust_bert::pipelines::conversation::{Conversation, ConversationManager};

let mut conversation_manager = ConversationManager::new();

let conversation_id = conversation_manager.create("Hi there!");
let conversations = conversation_manager.clear();

Trait Implementations

impl Debug for ConversationManager[src]

impl Default for ConversationManager[src]

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> Instrument for T[src]

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

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,