43 lines
861 B
Go
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"}
|
|
}
|