package remote_http

import (
	"context"
	"errors"
	"fmt"
	"mylomen_server/common/dto"
	"mylomen_server/common/utils"
)

type aiApiImpl struct {
}

func (aiApiImpl) Completions(ctx context.Context, prompt, groupId string) (*dto.AiRes, error) {
	logger := utils.NewLog("")

	url := "http://ai-service.service.consul:8080/text/v3/completions"

	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))
		return nil, errors.New("接口异常")
	}

	return &aiResult.Data, nil
}