openai

package
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvOpenAIAPIKey = "OPENAI_API_KEY"
	EnvOpenAIKey    = "OPENAI_KEY" // Alternative env var name
)

Environment variable names for OpenAI configuration.

View Source
const (

	// DefaultModel is the recommended default model (fast and capable)
	DefaultModel = "gpt-4o-mini"
)

Variables

View Source
var ErrUnknownModel = fmt.Errorf("unknown model")

ErrUnknownModel is returned when a model ID is not in the registry.

Functions

func DefaultOptions added in v0.12.0

func DefaultOptions() []llm.Option

DefaultOptions returns the default options for OpenAI. API key is read from OPENAI_API_KEY or OPENAI_KEY environment variables.

func MaybeRegister added in v0.13.0

func MaybeRegister(reg *llm.Registry)

MaybeRegister registers the OpenAI provider if an API key is available. Checks OPENAI_API_KEY and OPENAI_KEY environment variables.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider implements the OpenAI LLM backend.

func New

func New(opts ...llm.Option) *Provider

New creates a new OpenAI provider. Options are applied on top of DefaultOptions().

Example usage:

// Use defaults (reads from OPENAI_API_KEY or OPENAI_KEY env)
p := openai.New()

// Explicit static key
p := openai.New(llm.WithAPIKey("sk-..."))

// Custom env var
p := openai.New(llm.APIKeyFromEnv("MY_OPENAI_KEY"))

// Dynamic key (e.g., from secret manager)
p := openai.New(llm.WithAPIKeyFunc(func(ctx context.Context) (string, error) {
    return secretManager.Get(ctx, "openai-key")
}))

func (*Provider) CreateStream

func (p *Provider) CreateStream(ctx context.Context, opts llm.StreamOptions) (<-chan llm.StreamEvent, error)

func (*Provider) DefaultModel

func (p *Provider) DefaultModel() string

DefaultModel returns the configured default model ID.

func (*Provider) Models

func (p *Provider) Models() []llm.Model

Models returns a curated list of popular OpenAI models.

func (*Provider) Name

func (p *Provider) Name() string

func (*Provider) WithDefaultModel

func (p *Provider) WithDefaultModel(modelID string) *Provider

WithDefaultModel sets the default model to use.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL