Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/agermel_newspeck-chatroom.json
T

1 line
8.8 KiB
JSON

{"repo": "agermel/newspeck-chatroom", "files": {"internal/logic/filtermessagelogic.go": {"9dbc50b475cc54859d2f57778b6b180dea9377e5": {"t": 1785746088.440466, "n": 2586, "h": "43ed0a2aedd66764", "c": "package logic\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"regexp\"\n\n\t\"newspeak-chat/internal/svc\"\n\t\"newspeak-chat/internal/types\"\n\t\"newspeak-chat/internal/ws\"\n\n\t\"github.com/tmc/langchaingo/llms\"\n\t\"github.com/tmc/langchaingo/llms/openai\"\n\t\"github.com/zeromicro/go-zero/core/logx\"\n)\n\ntype FilterMessageLogic struct {\n\tlogx.Logger\n\tctx context.Context\n\tsvcCtx *svc.ServiceContext\n}\n\nfunc NewFilterMessageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FilterMessageLogic {\n\treturn &FilterMessageLogic{\n\t\tLogger: logx.WithContext(ctx),\n\t\tctx: ctx,\n\t\tsvcCtx: svcCtx,\n\t}\n}\n\nfunc (l *FilterMessageLogic) FilterMessage(req *types.FilterRequest) (resp *types.FilterResponse, err error) {\n\t// 大模型定义\n\tllm, err := openai.New(\n\t\topenai.WithBaseURL(\"https://api.deepseek.com/v1\"),\n\t\topenai.WithModel(\"deepseek-chat\"),\n\t)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tprompt := fmt.Sprintf(`\n\t\tYou are a language censorship AI from George Orwell's *1984*. Your job is to review a sentence and return a strict JSON response.\n\n\t\tRules:\n\t\t- Rewrite the sentence using Newspeak or equivalent Orwellian terms.\n\t\t- Determine if the message contains thoughtcrime (ideas against the Party).\n\t\t- Identify dangerous words or phrases (\"triggers\").\n\t\t- Set the danger level: \"low\", \"medium\", or \"high\".\n\t\t- The notes is Big Brother's warning.\n\t\t- Return a short note.\n\t\t- \n\n\t\tRespond ONLY in this exact JSON format and NOT IN Markdown Format and WITHOUT any explanations or code blocks:\n\n\t\t{\n\t\t\"original\": \"<original sentence>\",\n\t\t\"filtered\": \"<rewritten sentence>\",\n\t\t\"danger_level\": \"<none|low|medium|high>\",\n\t\t\"triggers\": [\"<list of flagged words>\"],\n\t\t\"note\": \"<short explanation>\"\n\t\t}\n\n\t\tSentence to review: \"%s\"\n\t`, req.Message)\n\n\t// 使用 LLM 处理消息\n\toutput, err := llm.Call(l.ctx, prompt, llms.WithTemperature(0.2))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar result types.FilterResponse\n\n\tfmt.Println(output)\n\n\tre := regexp.MustCompile(\"(?s)^```(?:json)?\\\\s*(.*?)\\\\s*```$\")\n\tclean := re.ReplaceAllString(output, \"$1\")\n\n\terr = json.Unmarshal([]byte(clean), &result)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tresult.Note = generateNote(result.DangerLevel)\n\tws.BroadcastFilteredMessage([]byte(result.Filtered))\n\n\treturn &result, err\n}\n\nfunc generateNote(level string) string {\n\tswitch level {\n\tcase \"high\":\n\t\treturn \"Thoughtcrime detected. Subject requires re-education.\"\n\tcase \"medium\":\n\t\treturn \"Warning: borderline thoughtcrime. Vocabulary purification advised.\"\n\tcase \"low\":\n\t\treturn \"Expression optimized for clarity and obedience.\"\n\tdefault:\n\t\treturn \"Message reviewed. Stay vigilant. Obey.\"\n\t}\n}\n"}, "2673b4093f956835beb7ec9e078004a21db683d6": {"t": 1785759782.6607525, "n": 2586, "h": "43ed0a2aedd66764", "c": "package logic\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"regexp\"\n\n\t\"newspeak-chat/internal/svc\"\n\t\"newspeak-chat/internal/types\"\n\t\"newspeak-chat/internal/ws\"\n\n\t\"github.com/tmc/langchaingo/llms\"\n\t\"github.com/tmc/langchaingo/llms/openai\"\n\t\"github.com/zeromicro/go-zero/core/logx\"\n)\n\ntype FilterMessageLogic struct {\n\tlogx.Logger\n\tctx context.Context\n\tsvcCtx *svc.ServiceContext\n}\n\nfunc NewFilterMessageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FilterMessageLogic {\n\treturn &FilterMessageLogic{\n\t\tLogger: logx.WithContext(ctx),\n\t\tctx: ctx,\n\t\tsvcCtx: svcCtx,\n\t}\n}\n\nfunc (l *FilterMessageLogic) FilterMessage(req *types.FilterRequest) (resp *types.FilterResponse, err error) {\n\t// 大模型定义\n\tllm, err := openai.New(\n\t\topenai.WithBaseURL(\"https://api.deepseek.com/v1\"),\n\t\topenai.WithModel(\"deepseek-chat\"),\n\t)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tprompt := fmt.Sprintf(`\n\t\tYou are a language censorship AI from George Orwell's *1984*. Your job is to review a sentence and return a strict JSON response.\n\n\t\tRules:\n\t\t- Rewrite the sentence using Newspeak or equivalent Orwellian terms.\n\t\t- Determine if the message contains thoughtcrime (ideas against the Party).\n\t\t- Identify dangerous words or phrases (\"triggers\").\n\t\t- Set the danger level: \"low\", \"medium\", or \"high\".\n\t\t- The notes is Big Brother's warning.\n\t\t- Return a short note.\n\t\t- \n\n\t\tRespond ONLY in this exact JSON format and NOT IN Markdown Format and WITHOUT any explanations or code blocks:\n\n\t\t{\n\t\t\"original\": \"<original sentence>\",\n\t\t\"filtered\": \"<rewritten sentence>\",\n\t\t\"danger_level\": \"<none|low|medium|high>\",\n\t\t\"triggers\": [\"<list of flagged words>\"],\n\t\t\"note\": \"<short explanation>\"\n\t\t}\n\n\t\tSentence to review: \"%s\"\n\t`, req.Message)\n\n\t// 使用 LLM 处理消息\n\toutput, err := llm.Call(l.ctx, prompt, llms.WithTemperature(0.2))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar result types.FilterResponse\n\n\tfmt.Println(output)\n\n\tre := regexp.MustCompile(\"(?s)^```(?:json)?\\\\s*(.*?)\\\\s*```$\")\n\tclean := re.ReplaceAllString(output, \"$1\")\n\n\terr = json.Unmarshal([]byte(clean), &result)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tresult.Note = generateNote(result.DangerLevel)\n\tws.BroadcastFilteredMessage([]byte(result.Filtered))\n\n\treturn &result, err\n}\n\nfunc generateNote(level string) string {\n\tswitch level {\n\tcase \"high\":\n\t\treturn \"Thoughtcrime detected. Subject requires re-education.\"\n\tcase \"medium\":\n\t\treturn \"Warning: borderline thoughtcrime. Vocabulary purification advised.\"\n\tcase \"low\":\n\t\treturn \"Expression optimized for clarity and obedience.\"\n\tdefault:\n\t\treturn \"Message reviewed. Stay vigilant. Obey.\"\n\t}\n}\n"}, "107f7cedaa87da4700bbf87a07c11922035f602c": {"t": 1785759784.1421134, "n": 1772, "h": "860e51f96bf4727f", "c": "package logic\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"newspeak-chat/internal/svc\"\n\t\"newspeak-chat/internal/types\"\n\n\t\"github.com/tmc/langchaingo/llms\"\n\t\"github.com/tmc/langchaingo/llms/openai\"\n\t\"github.com/zeromicro/go-zero/core/logx\"\n)\n\ntype FilterMessageLogic struct {\n\tlogx.Logger\n\tctx context.Context\n\tsvcCtx *svc.ServiceContext\n}\n\nfunc NewFilterMessageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FilterMessageLogic {\n\treturn &FilterMessageLogic{\n\t\tLogger: logx.WithContext(ctx),\n\t\tctx: ctx,\n\t\tsvcCtx: svcCtx,\n\t}\n}\n\nfunc (l *FilterMessageLogic) FilterMessage(req *types.FilterRequest) (resp *types.FilterResponse, err error) {\n\t// 大模型定义\n\tllm, err := openai.New()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tprompt := fmt.Sprintf(`\n\t\tYou are a language censorship AI from George Orwell's *1984*. Your job is to review a sentence and return a strict JSON response.\n\n\t\tRules:\n\t\t- Rewrite the sentence using Newspeak or equivalent Orwellian terms.\n\t\t- Determine if the message contains thoughtcrime (ideas against the Party).\n\t\t- Identify dangerous words or phrases (\"triggers\").\n\t\t- Set the danger level: \"low\", \"medium\", or \"high\".\n\t\t- The notes is Big Brother's warning.\n\t\t- Return a short note.\n\n\t\tRespond ONLY in this exact JSON format:\n\n\t\t{\n\t\t\"original\": \"<original sentence>\",\n\t\t\"filtered\": \"<rewritten sentence>\",\n\t\t\"danger_level\": \"<low|medium|high>\",\n\t\t\"triggers\": [\"<list of flagged words>\"],\n\t\t\"note\": \"<short explanation>\"\n\t\t}\n\n\t\tSentence to review: \"%s\"\n\t`, req.Message)\n\n\t// 使用 LLM 处理消息\n\toutput, err := llm.Call(l.ctx, prompt, llms.WithTemperature(0.2))\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tvar result types.FilterResponse\n\terr = json.Unmarshal([]byte(output), &result)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treturn &result, err\n}\n"}, "18e7957562747bdae42c13ce9f712d133c624e52": {"t": 1785759785.6018162, "n": 617, "h": "d337c06934477726", "c": "package logic\n\nimport (\n\t\"context\"\n\n\t\"newspeak-chat/internal/svc\"\n\t\"newspeak-chat/internal/types\"\n\n\t\"github.com/zeromicro/go-zero/core/logx\"\n)\n\ntype FilterMessageLogic struct {\n\tlogx.Logger\n\tctx context.Context\n\tsvcCtx *svc.ServiceContext\n}\n\nfunc NewFilterMessageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *FilterMessageLogic {\n\treturn &FilterMessageLogic{\n\t\tLogger: logx.WithContext(ctx),\n\t\tctx: ctx,\n\t\tsvcCtx: svcCtx,\n\t}\n}\n\nfunc (l *FilterMessageLogic) FilterMessage(req *types.FilterRequest) (resp *types.FilterResponse, err error) {\n\t// todo: add your logic here and delete this line\n\n\treturn\n}\n"}}}}