AntiScamAI/go/text.go

46 lines
1.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package main
import (
"fmt"
"github.com/ssgo/log"
)
func checkText(text string) error {
log.DefaultLogger.Info("checkText", "text", text)
score, err := parseRiskScore(ask(buildTextDetectionPrompt(text)))
if err != nil {
log.DefaultLogger.Error("parseTextResp error", "err", err)
return err
}
err = conn.WriteJSON(map[string]any{
"type": "textResult",
"result": map[string]any{
"score": score,
"isSuspicious": score >= 50,
},
})
if err != nil {
log.DefaultLogger.Error("sendTextScore Error", "err", err)
return err
}
log.DefaultLogger.Info("sendTextScore")
return nil
}
func buildTextDetectionPrompt(content string) string {
return fmt.Sprintf(`你是一名反诈骗专家,专门分析聊天记录,判断其中是否涉及诈骗信息。请仔细阅读以下文字,并回答以下问题:
1. 这段内容是否包含诈骗信息?如果是,请给出具体的诈骗类型(如刷单、冒充客服、杀猪盘等)。
2. 请分析这段内容是否具有诈骗话术,例如使用了“限时优惠”“保证赚钱”“不透露给别人”等常见诈骗用语。
3. 诈骗信息通常会使用哪些伎俩欺骗受害者?请指出可能的欺诈手法。
4. 请用简洁的语言不超过100字总结你的分析结果并给出风险等级低、中、高
5. 如果有必要,请建议用户如何避免被骗。
请返回JSON格式
{
"risk_score": 0-100
"risk_reason": "主要风险点"
}
待分析的文本如下:%s`, content)
}