Skip to main content

Embed

Trait Embed 

Source
pub trait Embed {
    // Required method
    fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>;
}
Expand description

Extracts text fragments for vector embedding in append order. Implementations report extraction failures through EmbedError.

use rig_core::{Embed, embeddings::{EmbedError, TextEmbedder, to_texts}};

struct Definitions(String);
impl Embed for Definitions {
    fn embed(&self, out: &mut TextEmbedder) -> Result<(), EmbedError> {
        for definition in self.0.split(',') {
            out.embed(definition.trim().to_owned());
        }
        Ok(())
    }
}
assert_eq!(to_texts(Definitions("fruit, company".into()))?, vec!["fruit", "company"]);

Required Methods§

Source

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Append all text fragments that should be embedded for this value.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Embed for &str

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for String

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for Value

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for bool

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for char

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for f32

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for f64

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for i8

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for i16

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for i32

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for i64

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl Embed for i128

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl<T: Embed> Embed for &T

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Source§

impl<T: Embed> Embed for Vec<T>

Source§

fn embed(&self, embedder: &mut TextEmbedder) -> Result<(), EmbedError>

Implementors§

Source§

impl Embed for MockMultiTextDocument

Available on crate feature test-utils only.
Source§

impl Embed for MockTextDocument

Available on crate feature test-utils only.
Source§

impl Embed for ToolSchema