prompts-core

This commit is contained in:
2026-05-12 13:59:15 +08:00
parent 9080d2cebe
commit b179fab2a1
34 changed files with 3892 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
package service
import (
"encoding/json"
"fmt"
"strings"
)
// ============================================
// 消息解析
// ============================================
func parseModelOutput(text string) (map[string]any, error) {
var result map[string]any
if err := json.Unmarshal([]byte(text), &result); err != nil {
return nil, fmt.Errorf("解析模型输出失败: %w", err)
}
return result, nil
}
// cleanJSONString 清理字符串中可能导致JSON解析失败的字符
func cleanJSONString(s string) string {
s = strings.ReplaceAll(s, "\u2018", "'") // 左单引号
s = strings.ReplaceAll(s, "\u2019", "'") // 右单引号
s = strings.ReplaceAll(s, "\u201c", "\"") // 左双引号 “
s = strings.ReplaceAll(s, "\u201d", "\"") // 右双引号 ”
return s
}
func truncateStr(s string, maxLen int) string {
if len(s) <= maxLen {
return s
}
return s[:maxLen]
}
// sessionParseModelOutput 解析会话模型输出
func sessionParseModelOutput(text string) (map[string]any, error) {
var result map[string]any
if err := json.Unmarshal([]byte(text), &result); err != nil {
return nil, fmt.Errorf("解析模型输出失败: %w", err)
}
return result, nil
}