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

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()]

response()

@type response() :: String.t() | Enumerable.t()

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, response()} | {:error, any()}

Generates a text for prompt.

new(attrs)

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

Creates a new provider struct.