ai_baidu.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package ai
  2. import (
  3. "context"
  4. "data_ai/ul"
  5. "encoding/json"
  6. "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
  7. log "github.com/donnie4w/go-logger/logger"
  8. "os"
  9. )
  10. // 百度千帆
  11. func PostBaiDuAI(content string) map[string]interface{} {
  12. // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
  13. os.Setenv("QIANFAN_ACCESS_KEY", "d60a9d42ca744a4a9d0e721666c8d3cc")
  14. os.Setenv("QIANFAN_SECRET_KEY", "2736bdc60aa14b3eaaf02597fc88a0e5")
  15. // 指定特定模型
  16. chat := qianfan.NewChatCompletion(
  17. qianfan.WithModel("ERNIE-Speed-128K"),
  18. )
  19. resp, err := chat.Do(
  20. context.TODO(),
  21. &qianfan.ChatCompletionRequest{
  22. Messages: []qianfan.ChatCompletionMessage{
  23. qianfan.ChatCompletionUserMessage(content),
  24. },
  25. },
  26. )
  27. if err != nil {
  28. log.Debug(err)
  29. return map[string]interface{}{}
  30. }
  31. res := make(map[string]interface{})
  32. result := resp.Result
  33. result = ul.Escape.ReplaceAllString(result, "")
  34. if new_result := ul.SaveResultReg.FindString(result); new_result != "" {
  35. result = new_result
  36. }
  37. json.Unmarshal([]byte(result), &res)
  38. return res
  39. }