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);
}
}