registry

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package registry provides a provider registry for managing multiple AI model providers (chat, embedding, image, speech, transcription) through a single, unified interface.

This is the Go equivalent of the AI SDK's createProviderRegistry function.

Usage:

reg := registry.New()
reg.RegisterChat("openai", openaiProvider)
reg.RegisterEmbed("openai", openaiEmbedProvider)

chatClient := reg.Chat("openai")
embedClient := reg.Embed("openai")

Index

Constants

This section is empty.

Variables

View Source
var ErrProviderNotFound = errors.New("registry: provider not found")

ProviderNotFound is returned when a requested provider is not registered.

Functions

This section is empty.

Types

type Registry

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

Registry manages provider registration and retrieval across all model domains (chat, embed, image, rerank, speech, transcription).

func New

func New() *Registry

New creates an empty Registry.

func (*Registry) Chat

func (r *Registry) Chat(name string) (*chat.Client, error)

Chat returns a chat.Client backed by the named provider, or an error if not registered.

func (*Registry) Embed

func (r *Registry) Embed(name string) (*embed.Client, error)

Embed returns an embed.Client backed by the named provider, or an error if not registered.

func (*Registry) Image

func (r *Registry) Image(name string) (*image.Client, error)

Image returns an image.Client backed by the named provider, or an error if not registered.

func (*Registry) Object

func (r *Registry) Object(name string) (*object.Client, error)

Object returns an object.Client backed by the named provider, or an error if not registered.

func (*Registry) RegisterChat

func (r *Registry) RegisterChat(name string, p chat.Provider)

RegisterChat registers a chat provider under the given name.

func (*Registry) RegisterEmbed

func (r *Registry) RegisterEmbed(name string, p embed.Provider)

RegisterEmbed registers an embedding provider under the given name.

func (*Registry) RegisterImage

func (r *Registry) RegisterImage(name string, p image.Provider)

RegisterImage registers an image provider under the given name.

func (*Registry) RegisterObject

func (r *Registry) RegisterObject(name string, p object.Provider)

RegisterObject registers an object generation provider under the given name.

func (*Registry) RegisterRerank

func (r *Registry) RegisterRerank(name string, p rerank.Provider)

RegisterRerank registers a reranking provider under the given name.

func (*Registry) RegisterSpeech

func (r *Registry) RegisterSpeech(name string, p speech.Provider)

RegisterSpeech registers a speech provider under the given name.

func (*Registry) RegisterTranscribe

func (r *Registry) RegisterTranscribe(name string, p transcribe.Provider)

RegisterTranscribe registers a transcription provider under the given name.

func (*Registry) RegisterVideo

func (r *Registry) RegisterVideo(name string, p video.Provider)

RegisterVideo registers a video generation provider under the given name.

func (*Registry) Rerank

func (r *Registry) Rerank(name string) (*rerank.Client, error)

Rerank returns a rerank.Client backed by the named provider, or an error if not registered.

func (*Registry) Speech

func (r *Registry) Speech(name string) (*speech.Client, error)

Speech returns a speech.Client backed by the named provider, or an error if not registered.

func (*Registry) Transcribe

func (r *Registry) Transcribe(name string) (*transcribe.Client, error)

Transcribe returns a transcribe.Client backed by the named provider, or an error if not registered.

func (*Registry) Video

func (r *Registry) Video(name string) (*video.Client, error)

Video returns a video.Client backed by the named provider, or an error if not registered.

Jump to

Keyboard shortcuts

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