A ideia
Pequenas empresas respondem as mesmas perguntas o dia todo, e um chatbot genérico inventa. O Balcão é um atendente que responde só com o que está nos textos da empresa, cita a fonte de cada resposta e, quando os textos não dizem, manda falar com a equipe.
Como funciona (RAG feito à mão)
- Os textos da empresa (arquivos Markdown) são divididos em trechos de ~500 caracteres e indexados em memória.
- A pergunta vira termos (sem acento, sem plural, sem palavras genéricas, com sinônimos) e uma busca BM25 escrita em C#, sem biblioteca, escolhe os 3 melhores trechos.
- Se nenhum trecho passa da pontuação mínima, a resposta é "não encontrei" sem chamar a IA.
- A IA recebe só a pergunta e esses trechos e devolve a resposta em JSON, dizendo qual trecho usou.
Como evitei que a IA inventasse
- O código só aceita fontes que estão entre os trechos enviados.
- A frase citada é procurada no trecho, e todo número da resposta (preço, horário, prazo) precisa estar escrito nele.
- Reprovou? A resposta da IA não aparece; o visitante lê os trechos.
- Cada resposta mostra a fonte com as palavras encontradas em marca-texto, e um painel "como achei isso" com a pontuação de cada trecho.
Como é feito
- Uma Area do ASP.NET Core MVC com layout e CSS próprios, dentro deste site, sem banco e sem login.
- IA gratuita (Groq) via
IChatProvider, com limite por visitante, cache de respostas e tratamento do erro 429. - Busca testada com xUnit: "a pergunta X tem que trazer o trecho Y entre os 3 primeiros".
A demonstração usa um pet shop fictício, com sugestões de perguntas que os textos respondem e que não respondem.
próximo projeto Este site pessoal →