atividade quatro pilares de engenharia moderna para aplicações com LLM:
1 Backend de API com FastAPI
2 ambiente reproduzido com Docker
3 configuração segura com.env
4 controle de comportamento do chatbot via arquivo de contexto
A ideia central é esta: ao testar o LLM solto em notebook, você coloca o modelo dentro de uma aplicação real , com endpoint HTTP, variáveis de ambiente, execução padronizada e uma fonte de verdade para reduzir alucinações.
Atividade, passo a passo
Clonar o repositório garante que você trabalhe na mesma base de código usada no projeto.
terminal
git clone
cd
2. Configurar o arquivo.env
Crie ou edite o arquivo .envna raiz do projeto
GROQ_API_KEY=sua_chave_groq
OPENROUTER_API_KEY=sua_chave_openrouter
CONFIDENT_API_KEY=sua_chave_confident
3. Criar uma imagem Docker
Nenhum terminal:
docker build -t chatbot-api .
função:
lê oDockerfile
instala
monta a imagem da aplicação
4. Rodar o recipiente
Exemplo:
docker run --env-file .env -p 8000:8000 --name my-chatbot-api chatbot-api
Se o projeto usar volume montado para refletir mudanças locais:
docker run --env-file .env -p 8000:8000 --name my-chatbot-api -v "$(pwd)":/code chatbot-api
5. Abra o Swagger
O que testar
Adquira o endpoint POST /chate envie algo como:
{
"question": "Quais são os serviços da empresa?",
"history": [],
"model": "gemma2-9b-it"
}
- Validar se a API está funcionando
Você deve observar:
resposta JSON válida
conteúdo consistente com o contexto
ausência de erro 500
modelo retornando esperado
Se der erro:
logs do contêiner
confira o nome das variáveis no.env
veja se o serviço externo aceita sua chave
- Atualizar o arquivo de contexto
Abra o arquivo de contexto, normalmente algo como:
dados/contexto.txt
Inclui informações claras, organizadas e objetivas.
Exemplo ruim
A empresa trabalha com várias coisas.
Exemplo melhor
A Juris Consultoria oferece:
- consultoria em direito empresarial
- consultoria em direito tributário
- atendimento inicial no valor de R$ 850,00
- suporte para contratos empresariais
Não atua com direito de família ou ideia.
- Testar perguntas dentro e fora do escopo
Dentro do não
{
"question": "Quanto custa a consulta inicial?" ,
"história": [],
"modelo": "gemma2-9b-it"
}