From 4cd5499d60a851a59723067e74a4a92f7254b8e9 Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Sun, 26 Jul 2026 23:16:32 +0800
Subject: [PATCH] feat: 新增classify和reorg命令,修复help格式
---
internal/llm/client.go | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/internal/llm/client.go b/internal/llm/client.go
index 5ffd7e2..a4a52bf 100644
--- a/internal/llm/client.go
+++ b/internal/llm/client.go
@@ -249,6 +249,37 @@
return &result, nil
}
+// ClassifyDocuments 分类文档
+func (c *Client) ClassifyDocuments(prompt string) (string, error) {
+ response, err := c.callLLMWithRetry(prompt)
+ if err != nil {
+ return "", err
+ }
+
+ // 解析 JSON
+ var result []struct {
+ Path string `json:"path"`
+ Platform string `json:"platform"`
+ Device string `json:"device"`
+ ContentType string `json:"content_type"`
+ Confidence float64 `json:"confidence"`
+ }
+
+ if err := parseJSON(response, &result); err != nil {
+ return "", fmt.Errorf("解析 LLM 响应失败: %w", err)
+ }
+
+ // 转换回 JSON 字符串
+ jsonBytes, err := json.Marshal(result)
+ if err != nil {
+ return "", err
+ }
+
+ return string(jsonBytes), nil
+}
+
+// ClassifyDocuments 分类文档
+
// callLLMWithRetry 带重试的 LLM 调用
func (c *Client) callLLMWithRetry(prompt string) (string, error) {
// 第一次尝试
--
Gitblit v1.9.1