Documentation
¶
Index ¶
Constants ¶
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 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) 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.)