1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package main
- import (
- "errors"
- "fmt"
- //"log"
- "strings"
- zhipu "github.com/itcwc/go-zhipu/model_api"
- )
- const (
- MODEL_NAME = "glm-4-flash" //"glm-4-air"
- )
- var (
- expireAtTime = int64(1719803252) // token 过期时间
- apiKey = "5343038d9d934536456f281f8487866a.YUmO7HK9xNb990j9"
- )
- // UpdateResultDateStr
- func UpdateResultDateStr(rs ResultItems) (err error) {
- tmp := make([]string, len(rs))
- for i, v := range rs {
- tmp[i] = v.ListPubTime
- }
- prompt := fmt.Sprintf(`根据我提供的内容,识别每行文本中的日期,按照YYYY-MM-DD形式输出,如:2024-01-01;找不到日期数据,输出NULL。不要联网,不要解释,不要说明,直接输出结果。
- ---------------------------
- %s
- `, strings.Join(tmp, "\n"))
- mssage := zhipu.PostParams{
- Model: MODEL_NAME,
- Messages: []zhipu.Message{
- {
- Role: "user", // 消息的角色信息 详见文档
- Content: prompt, // 消息内容
- },
- },
- }
- postResponse, err := zhipu.BeCommonModel(expireAtTime, mssage, apiKey)
- if err != nil {
- return err
- }
- //解析数据
- choices, _ := postResponse["choices"].([]interface{})
- obj, _ := choices[0].(map[string]interface{})
- message, _ := obj["message"].(map[string]interface{})
- value, _ := message["content"].(string)
- // log.Println("提示语", prompt)
- // log.Println("AI调用结果", value)
- results := strings.Split(value, "\n")
- if len(results) < len(rs) {
- err = errors.New("调用大模型失败")
- return
- }
- //更新
- for i, v := range rs {
- if results[i] != "NULL" {
- v.ListPubTime = results[i]
- } else {
- v.ListPubTime = ""
- }
- }
- return nil
- }
|