aioptimize.go 827 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package fastgpt
  2. import (
  3. "context"
  4. "github.com/sashabaranov/go-openai"
  5. )
  6. func ChatWithCustomConfig(baseURL, apiKey, prompt, systemPrompt string) (string, error) {
  7. // 创建OpenAI客户端配置
  8. config := openai.DefaultConfig(apiKey)
  9. config.BaseURL = baseURL
  10. // 创建OpenAI客户端
  11. openaiClient := openai.NewClientWithConfig(config)
  12. // 构建请求
  13. request := openai.ChatCompletionRequest{
  14. Model: openai.GPT4o,
  15. Messages: []openai.ChatCompletionMessage{
  16. {
  17. Role: "user",
  18. Content: prompt,
  19. },
  20. {
  21. Role: "system",
  22. Content: systemPrompt,
  23. },
  24. },
  25. Stream: false,
  26. }
  27. // 调用Chat接口
  28. response, err := openaiClient.CreateChatCompletion(context.Background(), request)
  29. if err != nil {
  30. return "", err
  31. }
  32. // 返回响应内容
  33. return response.Choices[0].Message.Content, nil
  34. }