gateway

package
v1.4.6 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AudioInput

type AudioInput struct {
	Provider   string
	Synthesize *speech.TTSRequest
	Transcribe *speech.STTRequest
}

AudioInput 是 audio 能力统一 payload(TTS/STT)。

type AvatarInput

type AvatarInput struct {
	Provider string
	Generate *avatar.GenerateRequest
}

AvatarInput 是 avatar 能力统一 payload。

type ChatProviderAdapter

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

ChatProviderAdapter 将 gateway 暴露为 llm.Provider,便于复用既有上层组件。

func NewChatProviderAdapter

func NewChatProviderAdapter(gw llmcore.Gateway, fallback llm.Provider) *ChatProviderAdapter

NewChatProviderAdapter 创建适配器。

func (*ChatProviderAdapter) Completion

func (a *ChatProviderAdapter) Completion(ctx context.Context, req *llm.ChatRequest) (*llm.ChatResponse, error)

func (*ChatProviderAdapter) Endpoints

func (a *ChatProviderAdapter) Endpoints() llm.ProviderEndpoints

func (*ChatProviderAdapter) HealthCheck

func (a *ChatProviderAdapter) HealthCheck(ctx context.Context) (*llm.HealthStatus, error)

func (*ChatProviderAdapter) ListModels

func (a *ChatProviderAdapter) ListModels(ctx context.Context) ([]llm.Model, error)

func (*ChatProviderAdapter) Name

func (a *ChatProviderAdapter) Name() string

func (*ChatProviderAdapter) Stream

func (a *ChatProviderAdapter) Stream(ctx context.Context, req *llm.ChatRequest) (<-chan llm.StreamChunk, error)

func (*ChatProviderAdapter) SupportsNativeFunctionCalling

func (a *ChatProviderAdapter) SupportsNativeFunctionCalling() bool

func (*ChatProviderAdapter) SupportsStructuredOutput

func (a *ChatProviderAdapter) SupportsStructuredOutput() bool

SupportsStructuredOutput 让 structured 包可保留对原生结构化输出探测。

type Config

type Config struct {
	ChatProvider      llm.Provider
	Capabilities      *capabilities.Entry
	CostCalculator    *observability.CostCalculator
	Ledger            observability.Ledger
	PolicyManager     *llmpolicy.Manager
	TokenizerResolver func(model string) llmtokenizer.Tokenizer
	Logger            *zap.Logger
}

Config 定义 gateway 运行依赖。

type EmbeddingInput

type EmbeddingInput struct {
	Provider string
	Request  *embedding.EmbeddingRequest
}

EmbeddingInput 是 embedding 能力统一 payload。

type ImageInput

type ImageInput struct {
	Provider string
	Generate *image.GenerateRequest
	Edit     *image.EditRequest
}

ImageInput 是 image 能力统一 payload。

type ModerationInput

type ModerationInput struct {
	Provider string
	Request  *moderation.ModerationRequest
}

ModerationInput 是 moderation 能力统一 payload。

type MusicInput

type MusicInput struct {
	Provider string
	Generate *music.GenerateRequest
}

MusicInput 是 music 能力统一 payload。

type RequestState

type RequestState string

RequestState 定义统一请求执行状态。

const (
	StatePlanned   RequestState = "planned"
	StateValidated RequestState = "validated"
	StateRouted    RequestState = "routed"
	StateExecuting RequestState = "executing"
	StateStreaming RequestState = "streaming"
	StateCompleted RequestState = "completed"
	StateFailed    RequestState = "failed"
	StateRetried   RequestState = "retried"
	StateDegraded  RequestState = "degraded"
)

type RerankInput

type RerankInput struct {
	Provider string
	Request  *rerank.RerankRequest
}

RerankInput 是 rerank 能力统一 payload。

type Service

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

Service 是统一入口 gateway 实现。

func New

func New(cfg Config) *Service

New 创建 gateway。

func (*Service) Invoke

Invoke 执行统一同步调用。

func (*Service) Stream

func (s *Service) Stream(ctx context.Context, req *llmcore.UnifiedRequest) (<-chan llmcore.UnifiedChunk, error)

Stream 执行统一流式调用。

type StateMachine

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

StateMachine 维护请求状态机。

func NewStateMachine

func NewStateMachine() *StateMachine

NewStateMachine 创建默认状态机。

func (*StateMachine) Current

func (sm *StateMachine) Current() RequestState

Current 返回当前状态。

func (*StateMachine) Transition

func (sm *StateMachine) Transition(next RequestState) error

Transition 执行状态迁移。

type ThreeDInput

type ThreeDInput struct {
	Provider string
	Generate *threed.GenerateRequest
}

ThreeDInput 是 threed 能力统一 payload。

type ToolsInput

type ToolsInput struct {
	Calls []types.ToolCall
}

ToolsInput 是 tools 能力统一 payload。

type VideoInput

type VideoInput struct {
	Provider string
	Generate *video.GenerateRequest
}

VideoInput 是 video 能力统一 payload。

Jump to

Keyboard shortcuts

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