Documentation
¶
Overview ¶
Package llmkit provides three public entry points for LLM access: construct protocol-neutral Request and Event IR directly, use Codec to translate raw protocol payloads, or use Client for end-to-end HTTP calls. Stream failures that happen after Client.Call returns are delivered as an EventError followed by channel close. ErrorStageStream is available for stream-stage failures surfaced before a channel is returned; it does not introduce a second error channel.
Package llmkit provides the public LLM access API.
Index ¶
- Constants
- Variables
- type BuiltinToolFallbackPolicy
- type CallOptions
- type Client
- type ClientOptions
- type Codec
- type ContentBlock
- type ContentType
- type ConversionOptions
- type ConversionState
- type DecodeRequestInput
- type DecodeResponseInput
- type DecodedRequest
- type DeltaPayload
- type DroppedTool
- type EncodeRequestInput
- type EncodeResponseInput
- type EncodedChunk
- type EncodedRequest
- type Error
- type ErrorPayload
- type ErrorStage
- type Event
- type EventType
- type HTTPDoer
- type Message
- type Protocol
- type RawSSEEvent
- type Request
- type RequestFieldPermissions
- type Role
- type StreamingToolCall
- type Target
- type Tool
- type ToolCall
- type ToolCallDelta
- type ToolChoice
- type Usage
Constants ¶
View Source
const ( BuiltinToolFallbackDrop = convert.BuiltinToolFallbackDrop BuiltinToolFallbackError = convert.BuiltinToolFallbackError BuiltinToolFallbackPassthrough = convert.BuiltinToolFallbackPassthrough BuiltinToolFallbackFunction = convert.BuiltinToolFallbackFunction )
View Source
const ( DroppedToolReasonCrossProtocolIncompatible = convert.DroppedToolReasonCrossProtocolIncompatible DroppedToolReasonFunctionFallbackUnsupported = convert.DroppedToolReasonFunctionFallbackUnsupported )
View Source
const ( ProtocolOpenAIChat = ir.ProtocolOpenAIChat ProtocolOpenAIResponses = ir.ProtocolOpenAIResponses ProtocolClaudeMessages = ir.ProtocolClaudeMessages ProtocolClaude = ir.ProtocolClaude ProtocolGemini = ir.ProtocolGemini ProtocolUnknown = ir.ProtocolUnknown RoleSystem = ir.RoleSystem RoleUser = ir.RoleUser RoleAssistant = ir.RoleAssistant RoleTool = ir.RoleTool RoleDeveloper = ir.RoleDeveloper ContentTypeText = ir.ContentTypeText ContentTypeImage = ir.ContentTypeImage ContentTypeAudio = ir.ContentTypeAudio ContentTypeToolUse = ir.ContentTypeToolUse ContentTypeToolResult = ir.ContentTypeToolResult ContentTypeThinking = ir.ContentTypeThinking ContentTypeInputText = ir.ContentTypeInputText ContentTypeOutputText = ir.ContentTypeOutputText ContentTypeImageURL = ir.ContentTypeImageURL ContentTypeFunction = ir.ContentTypeFunction ImageSourceBase64 = ir.ImageSourceBase64 ImageSourceURL = ir.ImageSourceURL EventStreamStart = ir.EventStreamStart EventContentDelta = ir.EventContentDelta EventToolCallDelta = ir.EventToolCallDelta EventThinkingDelta = ir.EventThinkingDelta EventUsage = ir.EventUsage EventDone = ir.EventDone EventError = ir.EventError EventRawPassthrough = ir.EventRawPassthrough EventContentBlockStop = ir.EventContentBlockStop EventSignatureDelta = ir.EventSignatureDelta EventToolCallStart = ir.EventToolCallStart EventToolCallArgumentsDelta = ir.EventToolCallArgumentsDelta EventToolCallEnd = ir.EventToolCallEnd )
Variables ¶
View Source
var ( ErrUnsupportedEndpoint = errors.New("llmkit: unsupported endpoint") ErrUnsupportedProtocol = errors.New("llmkit: unsupported protocol") ErrNilDecodedRequest = errors.New("llmkit: protocol handler returned a nil request") )
View Source
var ( ErrFunctionToolMissingName = convert.ErrFunctionToolMissingName ErrBuiltinToolUnsupported = convert.ErrBuiltinToolUnsupported ErrNamespacedFunctionMissingNamespace = convert.ErrNamespacedFunctionMissingNamespace ErrNamespacedFunctionMissingName = convert.ErrNamespacedFunctionMissingName ErrNamespacedFunctionNotFunction = convert.ErrNamespacedFunctionNotFunction ErrNamespacedFunctionNameCollision = convert.ErrNamespacedFunctionNameCollision )
Functions ¶
This section is empty.
Types ¶
type BuiltinToolFallbackPolicy ¶
type BuiltinToolFallbackPolicy = convert.BuiltinToolFallbackPolicy
func NormalizeBuiltinToolFallback ¶
func NormalizeBuiltinToolFallback(value string) BuiltinToolFallbackPolicy
type CallOptions ¶
type CallOptions struct {
HTTPClient HTTPDoer
Conversion ConversionOptions
}
type ClientOptions ¶
type Codec ¶
type Codec interface {
DecodeRequest(DecodeRequestInput) (DecodedRequest, error)
EncodeRequest(EncodeRequestInput) (EncodedRequest, error)
DecodeResponse(context.Context, DecodeResponseInput) (<-chan Event, error)
EncodeResponse(context.Context, EncodeResponseInput) (<-chan EncodedChunk, error)
}
type ContentBlock ¶
type ContentBlock = ir.ContentBlock
type ContentType ¶
type ContentType = ir.ContentType
type ConversionOptions ¶
type ConversionOptions struct {
BuiltinToolFallback BuiltinToolFallbackPolicy
RequestFields RequestFieldPermissions
OnDroppedTools func([]DroppedTool)
}
type ConversionState ¶
type ConversionState struct {
// contains filtered or unexported fields
}
type DecodeRequestInput ¶
type DecodeResponseInput ¶
type DecodedRequest ¶
type DeltaPayload ¶
type DeltaPayload = ir.DeltaPayload
type DroppedTool ¶
type DroppedTool = convert.DroppedTool
type EncodeRequestInput ¶
type EncodeRequestInput struct {
Request Request
Target Target
Options ConversionOptions
}
type EncodeResponseInput ¶
type EncodedChunk ¶
type EncodedRequest ¶
type Error ¶
type Error struct {
Stage ErrorStage
StatusCode int
Retryable bool
Cause error
// contains filtered or unexported fields
}
type ErrorPayload ¶
type ErrorPayload = ir.ErrorPayload
type ErrorStage ¶
type ErrorStage string
const ( ErrorStageEncode ErrorStage = "encode" ErrorStageConnect ErrorStage = "connect" ErrorStageUpstream ErrorStage = "upstream" ErrorStageDecode ErrorStage = "decode" // ErrorStageStream is available to callers that surface a stream failure // before returning an event channel. Once a channel exists, stream failures // remain EventError followed by channel close. ErrorStageStream ErrorStage = "stream" )
type RawSSEEvent ¶
type RawSSEEvent = ir.RawSSEEvent
type RequestFieldPermissions ¶
type RequestFieldPermissions = convert.RequestFieldPermissions
func DefaultRequestFieldPermissions ¶
func DefaultRequestFieldPermissions() RequestFieldPermissions
type StreamingToolCall ¶
type StreamingToolCall = ir.StreamingToolCall
type ToolCallDelta ¶
type ToolCallDelta = ir.ToolCallDelta
type ToolChoice ¶
type ToolChoice = ir.ToolChoice
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
protocol/claude
Package claude implements the Anthropic Claude Messages API protocol codec.
|
Package claude implements the Anthropic Claude Messages API protocol codec. |
|
protocol/openai/chat
Package chat implements the OpenAI Chat Completions protocol codec.
|
Package chat implements the OpenAI Chat Completions protocol codec. |
|
protocol/openai/responses
Package responses implements the OpenAI Responses API protocol codec.
|
Package responses implements the OpenAI Responses API protocol codec. |
|
Package ir defines the protocol-agnostic intermediate representation used by LLM protocol codecs.
|
Package ir defines the protocol-agnostic intermediate representation used by LLM protocol codecs. |
Click to show internal directories.
Click to hide internal directories.