feat(llm): support OpenAI Responses API via per-provider api_type
This commit is contained in:
+8
-1
@@ -91,10 +91,17 @@ func loadConfig(configPath string) (*config.Config, error) {
|
||||
func defaultProvider(cfg *config.Config, httpClient *http.Client) (string, config.ProviderConfig, llm.Provider) {
|
||||
providerName := cfg.DefaultProviderName()
|
||||
providerConfig := cfg.Providers[providerName]
|
||||
provider := llm.NewOpenAICompatibleClient(providerConfig.BaseURL, providerConfig.APIKey, httpClient)
|
||||
provider := newProviderClient(providerConfig, httpClient)
|
||||
return providerName, providerConfig, provider
|
||||
}
|
||||
|
||||
func newProviderClient(providerConfig config.ProviderConfig, httpClient *http.Client) llm.Provider {
|
||||
if providerConfig.APIType == config.APITypeResponses {
|
||||
return llm.NewOpenAIResponsesClient(providerConfig.BaseURL, providerConfig.APIKey, httpClient)
|
||||
}
|
||||
return llm.NewOpenAICompatibleClient(providerConfig.BaseURL, providerConfig.APIKey, httpClient)
|
||||
}
|
||||
|
||||
func newAssistant(cfg *config.Config, providerName string, providerConfig config.ProviderConfig, provider llm.Provider, yolo bool, httpClient *http.Client) *agent.Agent {
|
||||
return agent.New(agent.Options{
|
||||
Provider: provider,
|
||||
|
||||
Reference in New Issue
Block a user