class Memo::Providers::Arcana

Overview

Arcana embedding provider

Wraps Arcana::Embed::Provider to implement the Memo provider interface. Supports any provider Arcana supports (OpenAI, Voyage AI, etc.) with built-in batching and retry.

Included Modules

Defined in:

memo/providers/arcana.cr

Constructors

Instance Method Summary

Instance methods inherited from module Memo::Providers::Base

embed_text(text : String, input_type : String | Nil = nil) : Tuple(Array(Float64), Int32) embed_text, embed_texts(texts : Array(String), input_type : String | Nil = nil) : EmbedResult embed_texts

Constructor Detail

def self.new(provider : ::Arcana::Embed::Provider, model : String = "", dimensions : Int32 | Nil = nil, batch_size : Int32 = 100, max_retries : Int32 = 3) #

[View source]

Instance Method Detail

def batch_size : Int32 #

[View source]
def dimensions : Int32 | Nil #

[View source]
def embed_text(text : String, input_type : String | Nil = nil) : Tuple(Array(Float64), Int32) #
Description copied from module Memo::Providers::Base

Embed a single text

Returns tuple of (embedding vector, token count) input_type: "query" or "document" (used by Voyage AI for optimized embeddings)


[View source]
def embed_texts(texts : Array(String), input_type : String | Nil = nil) : EmbedResult #
Description copied from module Memo::Providers::Base

Embed multiple texts in a batch

Returns EmbedResult with embeddings and token counts input_type: "query" or "document" (used by Voyage AI for optimized embeddings)


[View source]
def max_retries : Int32 #

[View source]
def model : String #

[View source]
def provider : ::Arcana::Embed::Provider #

[View source]