Files
hyprvoice/internal/provider/openai.go
T

43 lines
861 B
Go

package provider
import "strings"
// OpenAIProvider implements Provider for OpenAI services
type OpenAIProvider struct{}
func (p *OpenAIProvider) Name() string {
return "openai"
}
func (p *OpenAIProvider) RequiresAPIKey() bool {
return true
}
func (p *OpenAIProvider) ValidateAPIKey(key string) bool {
return strings.HasPrefix(key, "sk-")
}
func (p *OpenAIProvider) SupportsTranscription() bool {
return true
}
func (p *OpenAIProvider) SupportsLLM() bool {
return true
}
func (p *OpenAIProvider) DefaultTranscriptionModel() string {
return "whisper-1"
}
func (p *OpenAIProvider) DefaultLLMModel() string {
return "gpt-4o-mini"
}
func (p *OpenAIProvider) TranscriptionModels() []string {
return []string{"whisper-1"}
}
func (p *OpenAIProvider) LLMModels() []string {
return []string{"gpt-4o-mini", "gpt-4o", "gpt-4-turbo", "gpt-3.5-turbo"}
}