View Source Rag.Ai.Provider behaviour (rag v0.2.1)

Behaviour for providers of AI capabilities.

Summary

Callbacks

Generates embeddings for texts.

Generates a text for prompt.

Creates a new provider struct.

Types

embedding()

@type embedding() :: [number()]

Callbacks

generate_embeddings(provider, texts, opts)

@callback generate_embeddings(
  provider :: struct(),
  texts :: [String.t()],
  opts :: keyword()
) :: {:ok, [embedding()]} | {:error, any()}

Generates embeddings for texts.

generate_text(provider, prompt, opts)

@callback generate_text(provider :: struct(), prompt :: String.t(), opts :: keyword()) ::
  {:ok, String.t()} | {:error, any()}

Generates a text for prompt.

new(attrs)

@callback new(attrs :: map()) :: struct()

Creates a new provider struct.