provider

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RoleUser      = "user"
	RoleAssistant = "assistant"
	RoleSystem    = "system"
)

Role constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AnthropicProvider

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

AnthropicProvider implements Provider using Anthropic's API

func NewAnthropicProvider

func NewAnthropicProvider(apiKey string) (*AnthropicProvider, error)

NewAnthropicProvider creates a new Anthropic provider

func (*AnthropicProvider) Chat

func (p *AnthropicProvider) Chat(ctx context.Context, model string, messages []Message) (string, error)

Chat performs a non-streaming chat completion

func (*AnthropicProvider) StreamChat

func (p *AnthropicProvider) StreamChat(ctx context.Context, model string, messages []Message, onChunk func(string)) error

StreamChat streams a chat completion response

type Message

type Message struct {
	Role    string
	Content string
}

Message represents a chat message

type MockProvider

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

MockProvider is a simple mock provider for testing

func NewMockProvider

func NewMockProvider() *MockProvider

NewMockProvider creates a new mock provider

func (*MockProvider) Chat

func (m *MockProvider) Chat(ctx context.Context, model string, messages []Message) (string, error)

Chat performs a non-streaming chat completion

func (*MockProvider) SetResponse

func (m *MockProvider) SetResponse(prompt, response string)

SetResponse sets a mock response for a given prompt

func (*MockProvider) StreamChat

func (m *MockProvider) StreamChat(ctx context.Context, model string, messages []Message, onChunk func(string)) error

StreamChat streams a chat completion response

type OpenAIProvider

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

OpenAIProvider implements Provider using OpenAI's API

func NewOpenAIProvider

func NewOpenAIProvider(apiKey string) (*OpenAIProvider, error)

NewOpenAIProvider creates a new OpenAI provider

func (*OpenAIProvider) Chat

func (p *OpenAIProvider) Chat(ctx context.Context, model string, messages []Message) (string, error)

Chat performs a non-streaming chat completion

func (*OpenAIProvider) StreamChat

func (p *OpenAIProvider) StreamChat(ctx context.Context, model string, messages []Message, onChunk func(string)) error

StreamChat streams a chat completion response

type Provider

type Provider interface {
	// StreamChat streams a chat completion response
	StreamChat(ctx context.Context, model string, messages []Message, onChunk func(string)) error

	// Chat performs a non-streaming chat completion
	Chat(ctx context.Context, model string, messages []Message) (string, error)
}

Provider defines the interface for AI providers (OpenAI, Anthropic, etc.)

Jump to

Keyboard shortcuts

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