// Package moonshot implements the go-llm v2 provider interface for Moonshot // AI (Kimi, https://platform.moonshot.ai). Moonshot speaks OpenAI Chat // Completions, so this package is a thin wrapper over openaicompat with its // own defaults and per-model Rules. package moonshot import ( "strings" "gitea.stevedudenhoeffer.com/steve/go-llm/v2/openaicompat" ) // DefaultBaseURL is the public Moonshot API endpoint (international). const DefaultBaseURL = "https://api.moonshot.ai/v1" // Provider is a type alias over openaicompat.Provider. type Provider = openaicompat.Provider // New creates a new Moonshot provider. An empty baseURL uses DefaultBaseURL. func New(apiKey, baseURL string) *Provider { if baseURL == "" { baseURL = DefaultBaseURL } return openaicompat.New(apiKey, baseURL, openaicompat.Rules{ // Only Moonshot models whose name contains "vision" accept images. SupportsVision: func(m string) bool { return strings.Contains(m, "vision") }, }) }