O Arkium AI é uma plataforma profissional para executar e disponibilizar modelos de inteligência artificial localmente através do Ollama, oferecendo uma API compatível com a OpenAI e um painel administrativo moderno desenvolvido em React.
Tudo local. Tudo open source. Sem dependência de serviços pagos.
O Arkium funciona como uma camada entre suas aplicações e os servidores Ollama.
┌─────────────────────┐
│ Aplicação │
│ OpenAI SDK / API │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ ARKIUM │
│ API / v1 │
└──────────┬──────────┘
│
┌─────────────────┼─────────────────┐
│ │ │
▼ ▼ ▼
API Keys Rate Limit Autenticação
│ │ │
└─────────────────┼─────────────────┘
│
▼
┌─────────────────────┐
│ Ollama │
└──────────┬──────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
Llama Qwen Gemma
O Arkium também pode trabalhar com múltiplos servidores Ollama através da configuração OLLAMA_HOSTS.
| Software | Versão | Obrigatório |
|---|---|---|
| Python | 3.12+ | ✅ |
| Ollama | Atual | ✅ |
| Node.js | 20+ | Opcional |
| PostgreSQL | Compatível | Opcional |
Ao instalar o Python no Windows, marque Add Python to PATH.
Depois de instalar o Ollama, baixe pelo menos um modelo:
ollama pull llama3.2
Outros modelos compatíveis incluem:
qwen2.5
gemma2
deepseek-r1
mistral
phi3
Você pode instalar quantos modelos desejar, desde que seu hardware possua recursos suficientes para executá-los.
A instalação é feita uma única vez.
Execute:
install.bat
O instalador verifica automaticamente:
.env;Execute:
chmod +x *.sh
./install.sh
start.bat
./start.sh
Após iniciar, os serviços estarão disponíveis em:
| Serviço | Endereço |
|---|---|
| 🎨 Painel | http://localhost:5173 |
| 🔌 API | http://localhost:8000 |
| 📚 Swagger | http://localhost:8000/docs |
| 📖 ReDoc | http://localhost:8000/redoc |
O administrador inicial é criado durante a instalação.
E-mail: admin@arkium.ai
Senha: admin123
⚠️ Altere a senha imediatamente após o primeiro acesso.
Em ambientes de produção, utilize uma senha forte e exclusiva.
O Arkium foi desenvolvido para ser compatível com a API da OpenAI.
Isso significa que aplicações que utilizam SDKs compatíveis podem apontar para o Arkium através do parâmetro base_url.
Instale o SDK:
pip install openai
Depois:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="ark-SUA_CHAVE"
)
response = client.chat.completions.create(
model="llama3.2",
messages=[
{
"role": "user",
"content": "Olá!"
}
]
)
print(response.choices[0].message.content)
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer ark-SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"messages": [
{
"role": "user",
"content": "Olá!"
}
],
"stream": true
}'
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/v1/models |
Lista modelos instalados |
GET |
/v1/models/{id} |
Detalhes de um modelo |
POST |
/v1/chat/completions |
Chat completions |
POST |
/v1/completions |
Geração de texto |
POST |
/v1/embeddings |
Geração de embeddings |
O streaming utiliza Server-Sent Events (SSE) seguindo o padrão utilizado pela OpenAI.
A transmissão é encerrada com:
data: [DONE]
Para utilizar:
/v1/embeddings
é necessário possuir um modelo de embeddings compatível instalado no Ollama.
Por exemplo:
ollama pull nomic-embed-text
As configurações principais ficam no arquivo:
.env
Exemplo:
PORT=8000
HOST=0.0.0.0
DATABASE_URL=sqlite:///./arkium.db
SECRET_KEY=CHANGE_THIS_SECRET_KEY
CORS_ORIGINS=http://localhost:5173
OLLAMA_HOSTS=http://localhost:11434
DEFAULT_MODEL=llama3.2
DEFAULT_TEMPERATURE=0.7
DEFAULT_MAX_TOKENS=2048
RATE_LIMIT_REQUESTS=60
RATE_LIMIT_WINDOW_SECONDS=60
ADMIN_EMAIL=admin@arkium.ai
ADMIN_PASSWORD=CHANGE_THIS_PASSWORD
Os valores acima são apenas exemplos. Utilize as configurações apropriadas para seu ambiente.
O Arkium utiliza SQLite por padrão.
Para ambientes maiores, é possível utilizar PostgreSQL.
DATABASE_URL=sqlite:///./arkium.db
DATABASE_URL=postgresql+psycopg://USUARIO:SENHA@HOST/BANCO
O Arkium permite configurar mais de um servidor Ollama.
Utilize:
OLLAMA_HOSTS=http://localhost:11434,http://192.168.1.100:11434
Isso permite que o Arkium trabalhe com diferentes instâncias do Ollama.
As API Keys podem ser gerenciadas diretamente pelo painel:
API Keys → Criar chave
As chaves são utilizadas para autenticar aplicações que acessam a API.
Exemplo:
Authorization: Bearer ark-SUA_CHAVE
As chaves não devem ser compartilhadas publicamente.
O Arkium possui controle de requisições por chave/usuário.
Configuração:
RATE_LIMIT_REQUESTS=60
RATE_LIMIT_WINDOW_SECONDS=60
No exemplo acima:
60 requisições
│
▼
a cada 60 segundos
Diversas configurações podem ser alteradas diretamente através do painel administrativo, sem necessidade de editar o .env ou reiniciar o servidor.
Entre elas:
O painel do Arkium oferece uma interface centralizada para gerenciamento da plataforma.
Exibe informações como:
Gerenciamento dos usuários do sistema.
Permite:
Permite testar os modelos diretamente pelo painel através de um chat com:
Conversas podem ser consultadas e exportadas.
Sistema de logs com filtros para facilitar a identificação de erros.
Gerenciamento das configurações da plataforma.
O painel possui:
O Arkium disponibiliza documentação automática através do FastAPI.
http://localhost:8000/docs
http://localhost:8000/redoc
Essas interfaces permitem visualizar e testar os endpoints disponíveis.
Arkium/
│
├── backend/
│ └── app/
│ ├── api/
│ │ ├── routes/
│ │ └── middlewares/
│ │
│ ├── core/
│ ├── db/
│ ├── models/
│ ├── schemas/
│ └── services/
│
├── frontend/
│ └── src/
│ ├── pages/
│ ├── components/
│ ├── layouts/
│ ├── hooks/
│ └── services/
│
├── scripts/
│ ├── backup.py
│ ├── restore.py
│ ├── clean_logs.py
│ ├── clean_cache.py
│ └── update_deps.py
│
├── install.bat
├── start.bat
├── stop.bat
├── update.bat
│
├── install.sh
├── start.sh
└── README.md
O Arkium possui scripts para manutenção do sistema.
python scripts/backup.py
python scripts/restore.py backups/arquivo.db
python scripts/clean_logs.py
python scripts/clean_cache.py
python scripts/update_deps.py
Para publicar o Arkium na Internet, recomenda-se utilizar um reverse proxy como:
O backend deve ficar protegido atrás do proxy reverso.
Exemplo:
Internet
│
▼
HTTPS / TLS
│
▼
Nginx / Caddy
│
┌─────────┴─────────┐
▼ ▼
Arkium API Frontend
:8000 :5173
│
▼
Ollama
Adicione seu domínio em:
CORS_ORIGINS=https://seu-dominio.com
Para produção, o frontend pode ser compilado com:
npm run build
E os arquivos gerados em:
frontend/dist
podem ser servidos como conteúdo estático.
Copie o projeto para o servidor.
Execute:
./install.sh
Configure o:
.env
Depois, o backend pode ser executado com:
uvicorn app.main:app --host 0.0.0.0 --port 8000
Para produção, recomenda-se executar o Arkium atrás de um proxy reverso.
Nenhuma alteração no código é necessária apenas para realizar a migração para Linux/VPS.
O Arkium possui diversas camadas de proteção.
As senhas são protegidas utilizando:
bcrypt
O sistema utiliza:
JWT
As API Keys são armazenadas utilizando:
SHA-256
As requisições são limitadas por chave/usuário.
O acesso é controlado através de origens permitidas.
As entradas da API são validadas utilizando:
Pydantic
O sistema utiliza headers defensivos para aumentar a segurança da aplicação.
Mensagens de erro não devem expor stack traces internos para clientes.
Antes de disponibilizar o Arkium publicamente:
SECRET_KEY;Nunca publique o arquivo **.env** no GitHub.
Adicione-o ao .gitignore:
.env
*.db
backups/
Clone o projeto:
git clone <URL_DO_REPOSITORIO>
cd Arkium
Instale as dependências do backend conforme o projeto e, para o frontend:
cd frontend
npm install
Execute o ambiente de desenvolvimento:
npm run dev
Contribuições são bem-vindas.
Crie uma cópia do projeto na sua conta do GitHub.
git checkout -b feature/minha-feature
Implemente e teste sua contribuição.
git commit -m "feat: adiciona minha feature"
git push origin feature/minha-feature
Explique claramente:
O Arkium está em desenvolvimento contínuo.
Possíveis melhorias futuras incluem:
O roadmap pode ser alterado conforme o desenvolvimento do projeto.
O Arkium é distribuído sob uma licença de atribuição que permite:
Ao redistribuir o Arkium, ou uma versão modificada do projeto, os créditos do autor original devem permanecer presentes.
Não é permitido remover a atribuição original ou apresentar uma versão modificada como se fosse o projeto original.
Consulte o arquivo LICENSE para os termos completos.
Arkium AI
Desenvolvido por Geilson Labs Projects.
GitHub:
https://github.com/geilsonlabsprojects
Se o Arkium foi útil para você:
⭐ Dê uma estrela no GitHub.
🐛 Reporte problemas.
💡 Envie sugestões.
🔧 Contribua com o projeto.
📢 Compartilhe o Arkium.
Em desenvolvimento
O Arkium continua evoluindo e algumas funcionalidades, endpoints e configurações podem sofrer alterações entre versões.
Para ambientes de produção, recomenda-se acompanhar as versões e alterações do projeto.
Copyright © 2026 Geilson Labs Projects
Arkium AI — Plataforma local de IA compatível com a API da OpenAI.