MCPcopy Index your code
hub / github.com/apache/answer / createOpenAIClient

Method createOpenAIClient

internal/controller/ai_controller.go:278–301  ·  view source on GitHub ↗

createOpenAIClient

()

Source from the content-addressed store, hash-verified

276
277// createOpenAIClient
278func (c *AIController) createOpenAIClient() *openai.Client {
279 config := openai.DefaultConfig("")
280 config.BaseURL = ""
281
282 aiConfig, err := c.siteInfoService.GetSiteAI(context.Background())
283 if err != nil {
284 log.Errorf("Failed to get AI config: %v", err)
285 return openai.NewClientWithConfig(config)
286 }
287
288 if !aiConfig.Enabled {
289 log.Warn("AI feature is disabled")
290 return openai.NewClientWithConfig(config)
291 }
292
293 aiProvider := aiConfig.GetProvider()
294
295 config = openai.DefaultConfig(aiProvider.APIKey)
296 config.BaseURL = aiProvider.APIHost
297 if !strings.HasSuffix(config.BaseURL, "/v1") {
298 config.BaseURL += "/v1"
299 }
300 return openai.NewClientWithConfig(config)
301}
302
303// getPromptByLanguage
304func (c *AIController) getPromptByLanguage(language i18n.Language, question string) string {

Callers 1

redirectRequestToAIMethod · 0.95

Calls 2

GetProviderMethod · 0.80
GetSiteAIMethod · 0.65

Tested by

no test coverage detected