O Contexte Tech passa a open source: um hub para tudo o que adapta um modelo de IA
Tony, criador do Contexte Tech · 27 de setembro de 2026
Há seis meses que passo boa parte dos meus dias a «adaptar» modelos de linguagem a casos concretos: um prompt de sistema aqui, três exemplos few-shot ali, um servidor MCP para que o assistente leia os meus ficheiros, uma configuração LoRA quando o prompt já não chega. E de cada vez, a mesma frustração: estas peças estão dispersas. Um prompt num gist, um dataset no Hugging Face, um servidor MCP num README, uma configuração do Claude Code num canto do projeto.
Foi daí que nasceu o Contexte Tech: um único lugar para tudo o que adapta um modelo de IA, arrumado, testado e pronto a copiar. O site está online em contextetech.com, e o código da sua primeira versão (v1) é agora livre.
O que lá se encontra
Onze tipos de recursos, agrupados em três famílias:
- Produção (usa-se o modelo sem o alterar): contextos, prompts, agentes, pipelines RAG;
- Treino (altera-se o modelo): datasets de fine-tuning, configurações LoRA, avaliações;
- Extensões (dão-se-lhe ferramentas): servidores MCP, skills, harness.
Cada recurso exporta-se diretamente no formato da ferramenta visada: JSONL para um dataset, SKILL.md para uma skill, CLAUDE.md e settings.json para um harness, a configuração mcpServers para um servidor MCP.
Duas coisas eram importantes para mim, porque faltam noutros lados:
- «Testado em»: cada recurso pode indicar em que modelos foi experimentado, com o resultado (aprovado, parcial, reprovado) e uma pontuação. Um prompt que funciona num modelo e não noutro é o dia a dia; mais vale escrevê-lo.
- O nível de risco dos servidores MCP e dos harness: antes de instalar um servidor, quer-se saber se lê ficheiros, se os escreve, se sai para a rede ou se executa comandos. O recurso mostra-o claramente.
Um exemplo concreto
A necessidade. Uma PME quer que um LLM resuma os seus pedidos de suporte. Problema: os pedidos contêm nomes, telefones, IBAN. Enviá-los tal como estão para um serviço externo é uma fuga de dados pessoais, e um problema de RGPD.
A resposta no Contexte Tech. Em vez de procurar dez recursos em dez sítios, segue-se uma única cadeia:
- o contexto anonymisation-rgpd substitui os dados pessoais por etiquetas, antes de qualquer envio:
Entrée : Bonjour, je suis Marie Dupont, joignable au 06 12 34 56 78.
Sortie : Bonjour, je suis [PRENOM_1] [NOM_1], joignable au [TELEPHONE_1].
- a avaliação eval-anonymisation-rgpd verifica que nenhum dado passa, com casos de teste prontos a executar;
- se o prompt já não chegar, o dataset anonymisation-rgpd-fr e a configuração LoRA mistral7b-anonymisation-qlora permitem treinar um modelo pequeno que funciona localmente;
- o agente agent-tri-documents e o servidor MCP mcp-filesystem automatizam o tratamento de uma pasta inteira.
Uma necessidade, uma cadeia de recursos ligados entre si, cada um exportável no formato certo.
Por dentro
Quis uma stack simples, rápida e totalmente alojável por conta própria:
- Site: Astro com renderização no servidor, com algumas ilhas Svelte apenas onde é precisa interatividade (formulário de publicação, botão «gosto»). Tudo o resto é HTML; a página inicial pesa cerca de 16 KB.
- API: FastAPI e SQLAlchemy assíncrono, PostgreSQL 17 para os dados, Redis para a cache e os limites contra abusos. A cache é invalidada por um simples contador de versão incrementado a cada publicação: nenhuma limpeza fina a gerir.
- Rede: Caddy à frente (TLS automático, HTTP/3), depois a CDN europeia Bunny (Eslovénia) para os ficheiros estáticos, em cache durante um ano graças aos nomes de ficheiro com versão.
- Cinco idiomas (francês, inglês, espanhol, alemão, italiano). Uma subtileza para os motores de pesquisa: um recurso escrito em francês só é indexado em francês; as suas versões
/en/…traduzem a interface mas apontam para o original como canónico. Caso contrário, o Google vê cinco cópias do mesmo texto. - Endereços legíveis e únicos:
/prompts/resume-article-technique-k3j9a2. O sufixo é um hash FNV-1a do identificador interno, calculado de forma idêntica em Python e em JavaScript. Dois autores podem escolher o mesmo nome sem se atropelarem. - Nenhum rastreador: nenhum cookie publicitário; as visitas são medidas pelo Plausible, alojado por nós, sem cookies nem dados pessoais.
Um projeto soberano
O Contexte Tech é concebido e alojado na Europa, sem depender dos gigantes americanos da nuvem:
- Servidor e base de dados na Scaleway, em França (PostgreSQL gerido, servidor dedicado);
- CDN e DNS na Bunny, uma empresa europeia sediada na Eslovénia;
- E-mails através da Proton, na Suíça, cifrados e assinados (SPF, DKIM, DMARC);
- Tipos de letra, scripts e estilos servidos pelo próprio site: sem Google Fonts nem CDN de terceiros; estatísticas Plausible alojadas por nós, sem cookies;
- Editor: uma empresa francesa, sujeita ao RGPD.
Única exceção, assumida: o código é publicado em espelho no GitHub e no GitLab, porque é lá que estão os programadores. A versão de trabalho vive no nosso próprio servidor.
Porquê a AGPL-3.0
Hesitei com a Apache-2.0 (a licença das bibliotecas do Hugging Face). Escolhi a AGPL-3.0: pode usar e alterar o Contexte Tech, desde que publique as suas alterações se o disponibilizar online. É a licença do Mastodon e do Plausible, e garante que um hub aberto continua aberto.
Os recursos, esses, mantêm cada um a licença escolhida pelo seu autor (MIT, CC BY 4.0…).
Em que ponto está o projeto
É o início, e prefiro ser honesto: o catálogo arranca com um recurso por tipo, em torno de um mesmo caso concreto (a anonimização RGPD de textos antes de os enviar a um serviço externo). Precisa sobretudo dos seus recursos, das suas opiniões e dos seus testes.
- O site: contextetech.com
- O código da v1: github.com/contexte-tech/contextetech (espelho no GitLab). Depois, o site evolui numa v2 desenvolvida internamente.
- Contribuir: leia o
CONTRIBUTING.md, ou publique simplesmente o seu primeiro recurso.
Se tem um prompt que usa todos os dias, um servidor MCP de que gosta ou uma configuração do Claude Code bem afinada, este é o sítio certo para a partilhar.