Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Arrakis: uma ferramenta de código aberto que fornece um ambiente seguro de sandbox para inteligências de IA

Introdução geral

O Arrakis é um ambiente de sandbox projetado para inteligências de IA para fornecer um ambiente seguro e personalizável. Desenvolvido por Abhishek Bhardwaj e hospedado no GitHub sob a licença AGPL v3, o Arrakis isola o código de IA e protege o host por meio da tecnologia MicroVM. Cada sandbox tem o Ubuntu integrado, inicia com seu próprio serviço de execução de código e servidor VNC, e oferece suporte a uma interface gráfica. A ferramenta fornece Python SDK e API REST para facilitar aos desenvolvedores o gerenciamento da sandbox. Ela também é compatível com snapshots e backtracking, permitindo que a IA reverta para um estado anterior no caso de um erro de IA. O Arrakis é ideal para desenvolvedores que precisam executar códigos com segurança ou testar processos de várias etapas.

Arrakis: uma ferramenta de código aberto para fornecer um ambiente seguro de sandbox para inteligências de IA-1


Arrakis: uma ferramenta de código aberto para fornecer um ambiente seguro de sandbox para inteligências de IA-1

 

Lista de funções

  • isolamento seguroUse a tecnologia MicroVM para isolar o código de IA e proteger hosts e outras tarefas.
  • Instantâneos e retrocessoSuporte para salvar o estado da sandbox e restaurá-lo, facilitando o teste de IA de tarefas em várias etapas.
  • SDK do Python: Fornecido py-arrakis, sandbox de controle programável.
  • API REST: através de arrakis-restserver Fornecer interfaces para gerenciar a sandbox.
  • Interface gráfica do usuário (GUI) (computação)Cada sandbox tem um servidor VNC integrado e o Chrome com suporte a GUI.
  • Configuração de redeConfiguração automática de rede com suporte para encaminhamento de porta e acesso SSH.
  • Ambientes personalizados: através de Dockerfile Ajuste o software e a configuração da sandbox.
  • Compatível com MCP: Suporte MCP Clientes (por exemplo Claude Desktop) para facilitar a integração.

 

Usando a Ajuda

A instalação e o uso do Arrakis requerem algumas etapas. Aqui estão instruções detalhadas para ajudá-lo a começar rapidamente.

Processo de instalação

  1. Verificação dos requisitos do sistema
    O Arrakis só é compatível com os sistemas Linux porque depende do /dev/kvm Virtualização. Você pode verificar se há suporte à virtualização com o comando:
stat /dev/kvm

Se for retornado um erro, o host não é compatível e a virtualização precisa ser ativada.

  1. Faça o download e instale
    Execute o seguinte comando no Linux para fazer o download do arquivo pré-criado:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash

O download gera arrakis-prebuilt que contém binários e imagens.

  1. Iniciando o servidor REST
    Vá para a pasta e inicie o serviço:
cd arrakis-prebuilt
sudo ./arrakis-restserver

O serviço é executado por padrão no 127.0.0.1:7000. Necessidades sudo no que se refere ao gerenciamento de máquinas virtuais.

  1. Instalação do Python SDK (opcional)
    Se quiser controlar a sandbox com Python, instale o SDK:
pip install py-arrakis

Funções principais

Criando um Sandbox

  • Usando a CLI
    Crie uma caixa de areia:
./arrakis-client start -n my-sandbox

Retorna informações de IP e status da sandbox.

  • Usando Python
    Criado com o SDK:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())

código de execução

  • Método CLI
    Executar comandos na área restrita:

    ./arrakis-client run -n my-sandbox --cmd "echo Hello World"
    
  • Modo Python
    Execute-o com o SDK:

    sandbox.run_cmd('echo Hello World')
    

    A saída é retornada ao terminal.

Uso da interface gráfica

Cada sandbox é iniciada com seu próprio servidor VNC e com o Chrome, obtendo informações de conexão:

  • Use a CLI:
    ./arrakis-client info -n my-sandbox
    

    Retorna algo como port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}].

  • Use Python:
    print(sandbox.info()['port_forwards'])
    
  • Conecte a VNC:
    Conexão com um cliente VNC (por exemplo, noVNC) 主机IP:3000A interface gráfica pode ser vista.

Instantâneos e retrocesso

  • Salvar instantâneo
    Use a CLI:

    ./arrakis-client snapshot -n my-sandbox -o snap1
    

    Use Python:

    snapshot_id = sandbox.snapshot('snap1')
    
  • Restaurar instantâneo
    Destrua a caixa de areia primeiro:

    ./arrakis-client destroy -n my-sandbox
    

    Reintegração:

    ./arrakis-client restore -n my-sandbox --snapshot snap1
    

    Ou com Python:

    sandbox.destroy()
    sandbox = manager.restore('my-sandbox', snapshot_id)
    

Caixas de areia personalizadas

  1. localizar rootfs/Dockerfile.
  2. Editar para adicionar software, por exemplo:
    RUN apt-get update && apt-get install -y vim
    
  3. Reinicie a área restrita:
    ./arrakis-client start -n my-sandbox --rootfs custom-rootfs
    

Acesso SSH

Cada sandbox é compatível com SSH:

  • Obter IP:
    ./arrakis-client info -n my-sandbox
    

    Retorna algo como ip: "10.20.1.2/24".

  • Faça o login:
    ssh elara@10.20.1.2
    

    usuário padrão elaraSenha elara0000.

Exemplo de fluxo de operação

Tentando fazer com que a IA grave arquivos e teste o retrocesso em uma área restrita:

  1. Inicie a área restrita:
    ./arrakis-client start -n test-sandbox
    
  2. Executar comando:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. Salve o instantâneo:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. Modificar o arquivo:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. Restaurar instantâneos:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. Verifique o arquivo:
    ./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
    

    A saída deve ser 第一步.

Para obter mais detalhes, consulte a seção README.md.

 

cenário do aplicativo

  1. Depuração de código de IA
    Os desenvolvedores executam códigos não confiáveis com o Arrakis para isolar o risco. Retroceder após erros para verificar se há problemas.
  2. experimento de ensino
    O professor cria uma caixa de areia para que os alunos pratiquem a programação de IA, e os alunos podem manipulá-la à vontade sem afetar o mainframe.
  3. teste de tarefas em várias etapas
    As empresas usam o Arrakis para testar processos automatizados de IA, como operações na Web ou processamento de arquivos, com suporte para recuperação de instantâneos.

 

QA

  1. O Arrakis é compatível com o Windows?
    não é suportado e, no momento, só é executado no Linux devido à dependência do cloud-hypervisor.
  2. Como faço para interromper o sandbox?
    despesa ou gasto ./arrakis-client stop -n 名称 Parar, ou destroy Excluir.
  3. Quanto espaço um instantâneo ocupa?
    Dependendo do conteúdo da sandbox, geralmente algumas centenas de MB, é recomendável limpar os instantâneos não utilizados.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Arrakis: uma ferramenta de código aberto que fornece um ambiente seguro de sandbox para inteligências de IA
pt_BRPortuguês do Brasil