Skip to main content

Overview

The OpenAI provider integrates OpenAI’s GPT models and embedding models with LlamaIndex.TS.

Installation

OpenAI LLM

Basic Usage

Constructor Options

string
default:"gpt-4o"
OpenAI model name. Supports GPT-4, GPT-3.5, O1, and more
number
Sampling temperature (0-2). Higher values mean more random outputs
number
default:1
Nucleus sampling parameter
number
Maximum tokens in the response
string
OpenAI API key (defaults to OPENAI_API_KEY env variable)
string
Custom API base URL (defaults to OPENAI_BASE_URL env variable)
number
default:10
Maximum number of retries for failed requests
number
default:60000
Request timeout in milliseconds
'low' | 'medium' | 'high' | 'minimal'
Reasoning effort for O1 models
object
Additional OpenAI API parameters

Supported Models

  • GPT-4 Series: gpt-4o, gpt-4-turbo, gpt-4
  • GPT-3.5: gpt-3.5-turbo
  • O1 Series: o1-preview, o1-mini (reasoning models)

Streaming

Function Calling

Structured Output

Multi-modal Input

PDF Support

Audio/Video (Realtime API)

OpenAI Live for realtime audio/video:

OpenAI Embedding

Basic Usage

Constructor Options

string
default:"text-embedding-3-small"
Embedding model name
number
Output dimensions (text-embedding-3 models only)
string
OpenAI API key
number
default:10
Batch size for embedding requests

Supported Models

  • text-embedding-3-small: 1536 dimensions (default), up to 512
  • text-embedding-3-large: 3072 dimensions (default), up to 256
  • text-embedding-ada-002: 1536 dimensions (legacy)

Batch Embedding

Custom Dimensions

Configuration

Environment Variables

Global Settings

Custom Base URL

O1 Reasoning Models

Note: O1 models don’t support temperature or streaming.

Error Handling

Best Practices

  1. Set appropriate temperature: Lower (0-0.3) for factual tasks, higher (0.7-1.0) for creative tasks
  2. Use function calling: Better than prompt engineering for structured outputs
  3. Stream long responses: Improves user experience
  4. Batch embeddings: More efficient than individual calls
  5. Monitor costs: Track token usage with response.raw.usage
  6. Use correct model: GPT-4 for complex tasks, GPT-3.5 for simple ones

See Also