using BuildFlow.Infrastructure.AI; using Xunit; namespace BuildFlow.Rag.Tests; /// /// AI 对话输出清洗测试。确保模型模板开场不进入最终消息气泡。 /// public class AiChatOutputSanitizerTests { [Fact] public void SanitizeFinalTextShouldRemoveRagAssistantBoilerplate() { const string raw = "您好!作为RAG知识库助手,我需要您提供具体的问题以及相关的上下文或知识库内容,才能为您准确解答。"; var cleaned = AiChatOutputSanitizer.SanitizeFinalText(raw); Assert.Equal("请先输入要查询的问题,或选择知识库后再提问。", cleaned); } [Fact] public void SanitizeFinalTextShouldRemoveThinkTags() { const string raw = "内部推理\n答案正文"; var cleaned = AiChatOutputSanitizer.SanitizeFinalText(raw); Assert.Equal("答案正文", cleaned); } }