40 lines
846 B
Go
Raw Normal View History

2023-06-04 22:54:54 +08:00
package remote_http
import (
2024-02-21 12:04:40 +08:00
"context"
2024-02-21 12:37:24 +08:00
"errors"
2023-06-04 22:54:54 +08:00
"fmt"
2024-09-29 14:08:55 +08:00
"mylomen_server/common/dto"
"mylomen_server/common/utils"
2023-06-04 22:54:54 +08:00
)
type aiApiImpl struct {
}
2024-02-21 12:04:40 +08:00
func (aiApiImpl) Completions(ctx context.Context, prompt, groupId string) (*dto.AiRes, error) {
2023-06-04 22:54:54 +08:00
logger := utils.NewLog("")
2024-05-15 14:07:52 +08:00
url := "http://ai-service.service.consul:8080/text/v3/completions"
2023-06-04 22:54:54 +08:00
var aiResult Result[dto.AiRes]
resp, err := httpClient.R().
SetBody(map[string]interface{}{
"prompt": prompt,
"maxTokens": 500,
"groupId": groupId,
}).
SetSuccessResult(&aiResult).
Post(url)
if err != nil {
logger.Error(fmt.Sprintf("remote_http_wx_SendMsg error: %s", err.Error()))
return nil, err
}
if !resp.IsSuccessState() {
logger.Error(fmt.Sprintf("remote_http_wx_SendMsg resp:%+v", resp))
2024-02-21 12:37:24 +08:00
return nil, errors.New("接口异常")
2023-06-04 22:54:54 +08:00
}
return &aiResult.Data, nil
}