IronFlowDocs

ai_embed

Generate text embeddings via OpenAI, Ollama, or OAuth-authenticated providers.

Parameters

providerstringdefault "openai"
Embedding provider: "openai", "ollama", "oauth"
modelstringdefault per provider
Model name (see defaults below)
input_keystringrequired
Context key holding text (string or array of strings)
output_keystringdefault "embed"
Prefix for output context keys
timeoutnumberdefault 120
HTTP request timeout in seconds
api_keystring*
API key (OpenAI)
base_urlstring*
Base URL for OpenAI or OAuth endpoint
ollama_hoststring
Ollama server URL
token_urlstring*
OAuth token endpoint
client_idstring*
OAuth client ID
client_secretstring*
OAuth client secret
scopestring
OAuth scope

*Required for the respective provider; falls back to environment variables.

Default Models

ProviderDefault Model
openaitext-embedding-3-small
ollamanomic-embed-text
oauthopenai-text-embedding-3-small

Environment Variable Fallbacks

Config KeyEnvironment VariableProvider
api_keyOPENAI_API_KEYopenai
base_urlOPENAI_BASE_URLopenai
ollama_hostOLLAMA_HOSTollama
token_urlOAUTH_TOKEN_URLoauth
client_idOAUTH_CLIENT_IDoauth
client_secretOAUTH_CLIENT_SECREToauth
scopeOAUTH_SCOPEoauth
base_urlOAUTH_BASE_URLoauth

Context Output

KeyTypeDescription
{output_key}_embeddingsarrayArray of embedding vectors (each is array of f64)
{output_key}_countnumberNumber of embeddings returned
{output_key}_dimensionnumberDimension of each embedding vector
{output_key}_modelstringModel name used
{output_key}_successbooleantrue on success

Input

The input_key context value can be:

  • A string — embedded as a single text, returns one embedding
  • An array of strings — batch embedded, returns one embedding per text

Examples

OpenAI embeddings

flow:step("embed", nodes.ai_embed({
    provider = "openai",
    model = "text-embedding-3-small",
    input_key = "text",
    output_key = "result"
}))

Ollama (local)

flow:step("embed", nodes.ai_embed({
    provider = "ollama",
    model = "nomic-embed-text",
    input_key = "text",
    output_key = "result"
}))

OAuth-authenticated endpoint

flow:step("embed", nodes.ai_embed({
    provider = "oauth",
    model = "openai-text-embedding-3-small",
    input_key = "text",
    output_key = "result"
}))

Batch embedding

flow:step("prepare", function(ctx)
    return {
        sentences = {
            "The quick brown fox",
            "jumped over the lazy dog",
            "and ran into the forest"
        }
    }
end)

flow:step("embed", nodes.ai_embed({
    provider = "openai",
    input_key = "sentences",
    output_key = "vectors"
})):depends_on("prepare")

IronFlow documentation

Find the next step

Type a keyword to search the documentation.

to move · Enter to open · Esc to close