package compapi

//
//import (
//	"time"
//	"wechat-api/internal/types"
//
//	"github.com/openai/openai-go"
//)
//
//type FormClient struct {
//	StdClient
//}
//
//// Generate the JSON schema at initialization time
//var FormResponseSchema = GenerateSchema[FormList]()
//
//type FormResponse struct {
//	DataIndex string   `json:"dataIndex" jsonschema_description:"表单 id"`
//	Value     []string `json:"value" jsonschema_description:" 值列表"`
//}
//
//type FormList struct {
//	Values []FormResponse `json:"values" jsonschema_description:"表单列表"`
//}
//
///*
//
//"response_format":{"type":"json_object"}}
//
//{"type":"json_schema",
//	"json_schema":{
//		"description":"从通话记录中提取表单","name":"keyword_schema","schema":{
//			"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{
//			"keywords":{
//				"description":"关键词库","items":{"type":"string"},"type":"array"},"regular":{"description":"正则表达式","items":{"type":"string"},"type":"array"},"similar_reply":{"description":"类似回复","items":{"type":"string"},"type":"array"},"swear_words":{"description":"脏话列表","items":{"type":"string"},"type":"array"},"user_intent":{"description":"用户意图","type":"string"},"user_mood":{"description":"用户情绪","type":"string"}},"required":["user_intent","similar_reply","keywords","regular","user_mood","swear_words"],"type":"object"},"strict":true}}
//*/
//
//func (me *FormClient) BuildRequest(req *types.CompApiReq) error {
//	nowTime := time.Now().Format("2006-01-02 15:04:05")
//	weekday := time.Now().Weekday().String()
//	//bytes, err := json.Marshal(req.Variables["form_data"])
//	//if err != nil {
//	//	return err
//	//}
//	//form_data := string(bytes)
//
//	//先重构message
//	newMessSlice := make([]types.StdCompMessage, 2)
//	newMessSlice[0] = types.StdCompMessage{Role: "system", Content: `# 任务
//请帮助user从聊天记录中提取表单值，并返回一个JSON格式的表单值。
//
//# 背景信息
//当前时间是：` + nowTime + `
//当前星期是：` + weekday + `
//
//# 返回值示例
//* 如表单类型为 input、autoComplete、textarea，返回示例：["表单值"]
//* 如表单类型为 radio、select，返回示例：["值1"]
//* 如表单类型为 checkbox，返回示例：["值1", "值2"]
//* 如表单类型为 cascader，返回示例：["一级值1", "二级值3"]
//* 如表单类型为 date，返回示例：["2025-01-01"]
//* 如没有找到某个表单相关的值，请不要返回该表单`}
//
//	newMessSlice[1] = types.StdCompMessage{Role: "user", Content: `# 待提取表单
//` + req.Variables["form_data"] + `
//
//# 聊天记录
//` + req.Variables["chat_history"]}
//
//	//再构造ResponseFormat
//	if !IsOpenaiModel(req.Model) {
//		newMessSlice[1].Content = newMessSlice[1].Content.(string) + `
//# 请以下方的json结构输出
//[{
//    "dataIndex": str, # 表单ID
//    "value": list[str] # 表单值列表
//}]`
//		req.ResponseFormat = openai.ResponseFormatJSONObjectParam{Type: "json_object"}
//	} else {
//		schemaParam := openai.ResponseFormatJSONSchemaJSONSchemaParam{
//			Name:        "keyword_schema",
//			Description: openai.String("从通话记录中提取表单"),
//			Schema:      FormResponseSchema,
//			Strict:      openai.Bool(true),
//		}
//		req.ResponseFormat = openai.ResponseFormatJSONSchemaParam{JSONSchema: schemaParam}
//	}
//	//req.Model = oldModel
//	req.Messages = newMessSlice
//
//	return nil
//}
