package llm import ( "context" ) // ChatCompletion is the interface for chat completion. type ChatCompletion interface { ChatComplete(ctx context.Context, req Request) (Response, error) } // LLM is the interface for language model providers. type LLM interface { ModelVersion(modelVersion string) (ChatCompletion, error) } // OpenAI creates a new OpenAI LLM provider with the given API key. func OpenAI(key string) LLM { return openaiImpl{key: key} } // Anthropic creates a new Anthropic LLM provider with the given API key. func Anthropic(key string) LLM { return anthropicImpl{key: key} } // Google creates a new Google LLM provider with the given API key. func Google(key string) LLM { return googleImpl{key: key} }