Terminal AI Commander ao seu alcance
Confira as demonstrações para mais exemplos.
NOTA : Este é um trabalho em andamento, espere bugs e alterações de API.
Instrukt é um ambiente integrado de IA baseado em terminal. Oferece uma plataforma onde os usuários podem:
Crie e instrua agentes modulares de IA
Gere índices de documentos para responder perguntas
Crie e anexe ferramentas a qualquer agente
Agentes são pacotes Python simples que podem ser estendidos, compartilhados com outras pessoas, anexados a ferramentas e aumentados com índices de documentos.
Instrua-os em linguagem natural e, por segurança, execute-os dentro de contêineres seguros (atualmente implementados com Docker) para executar tarefas em seu espaço dedicado em área restrita ?️.
Construído com: Langchain, Textual, Chroma
Serviços de consultoria : Precisa de ajuda com integração Langchain ou IA? Você pode entrar em contato comigo em [email protected]
Uso
Características
Plataformas suportadas
Modelos LLM
Índices de documentos e respostas a perguntas
Roteiro
Contribuindo
Patreon
Social
Visão
Licença
pip install instrukt[all]
exporte OPENAI_API_KEY
com sua chave de API OpenAI.
executar instrukt
Se o esquema de cores estiver quebrado, exporte TERM=xterm-256color
Um arquivo de configuração será criado em: ~/.config/instrukt/instrukt.yml
Você pode executar o instrukt em um servidor headless ou em um contêiner docker com suporte CUDA.
NOTA : se você estiver começando com um contêiner vazio, precisará de pelo menos g++ e libmagic.
Verifique o guia de início rápido e instalação para obter mais detalhes.
Certifique-se de que a versão mais recente do poetry
esteja instalada.
Defina seu ambiente virtual
Clonar o repositório
Execute poetry install -E all --with dev,test
Isso instalará o Instrukt, incluindo ferramentas extras para agentes.
Consulte o guia de instalação para obter mais detalhes
Coding AI : um assistente de codificação. Crie índices sobre qualquer base de código e anexe-os ao agente para fazer RAG (Retrieval Augmented Generation)
Perguntas e respostas por bate-papo : um agente de conversação simples.
Uma interface baseada em terminal para que usuários avançados de teclado instruam agentes de IA sem nunca sair do teclado.
Saídas ricas e coloridas do agente com markdown e suporte ao código-fonte graças à biblioteca Textual TUI.
Execute o Instrukt em contêineres bare metal ou docker com suporte a CUDA.
Acesso remoto com SSH e multiplexadores de terminal.
Projete agentes e ferramentas personalizados.
Agentes são pacotes python simples que podem ser compartilhados e carregados por outros usuários.
Indexe seus dados e permita que os agentes os recuperem para responder perguntas.
Crie e organize seus índices com uma interface fácil.
A criação de índice detectará automaticamente as linguagens de programação e otimizará a estratégia de divisão/chunking de acordo.
Seleção difusa (fzf, dmenu ...) de documentos de origem que foram usados para recuperação ctrl+p
Use o conjunto de ferramentas predefinido ou crie suas próprias ferramentas.
Anexe ou desconecte ferramentas de agentes em qualquer lugar, adaptando seus fluxos de trabalho de IA às suas necessidades.
REPL-Prompt integrado para interação rápida com agentes e um ciclo de feedback rápido para desenvolvimento e teste.
Automatize tarefas repetitivas com comandos personalizados.
Histórico de prompt/bate-papo integrado.
Use vim
, emacs
ou qualquer $EDITOR
externo para editar mensagens.
Aproveite o ecossistema LangChain para automatizar qualquer coisa.
WIP: API extensível para integração com outros frameworks.
Execute agentes dentro de contêineres docker seguros para segurança e privacidade.
Use o tempo de execução do gVisor para um isolamento completo do agente.
observação : o agente docker está disponível apenas para apoiadores do Patreon como uma prévia.
Depure e faça introspecção de agentes usando um console IPython integrado. ctrl+d
Os índices podem ser criados usando OpenAI ou modelos de incorporação local.
Chroma para gerenciar índices.
Crie e gerencie índices usando a UI de gerenciamento de índices (pressione I
)
A indexação de um diretório detectará automaticamente as linguagens de programação e usará uma estratégia de divisão apropriada otimizada para a linguagem de destino.
Os índices podem ser anexados a qualquer agente como uma ferramenta de recuperação usando o menu index
na parte superior da janela do agente.
Os agentes podem usar índices anexados para responder perguntas.
Linux/Mac.
Windows testado em WSL2.
Atualmente apenas é compatível com OpenAI .
Usar modelos locais privados é o próximo marco .
modelos LLM locais privados
Incorporações suportadas por HF SetenceTransformers.
Incorporações de instrutor
Incorporações locais
usar API de geração de texto-webui
emular PrivateGPT
use go-skynet/LocalAI auto-hospedado
Indexação e incorporações
Indexe diretórios e detecte conteúdo automaticamente. (veja AutoDirLoader
)
Detecte linguagens de programação e use o divisor apropriado.
Carregar um repositório git do URL
Carregue qualquer página/site.
Documentação
Criando agentes
Criando ferramentas
Indexação e chat com documentos e código fonte.
Exemplos de casos de uso
Tutoriais.
Qualquer contribuição, feedback e relações públicas são bem-vindos!
Você pode ajudar com:
Testar e criar problemas para bugs ou recursos que seriam úteis.
Se você tiver habilidades técnicas, poderá criar um PR.
Se você não possui habilidades técnicas você pode ajudar com documentação, adicionando exemplos e tutoriais ou criando novas histórias de usuários.
Ao se tornar um patrono, você me ajudará a continuar dedicando tempo ao desenvolvimento do Instrukt e a dar vida a todos os recursos planejados. Confira a página do Patreon para mais detalhes sobre as recompensas para os primeiros apoiadores.
Junte-se ao servidor Discord para se manter atualizado sobre o progresso ou pedir ajuda.
A IA deve ser acessível a todos e não um jardim murado para grandes corporações e serviços SaaS.
Instrukt é uma contribuição modesta para criar ferramentas que capacitam os usuários sem comprometer suas liberdades. O objetivo de curto prazo é torná-lo utilizável com dependência mínima de APIs e serviços externos, dando aos usuários a opção de optar por modelos locais e serviços auto-hospedados.
Copyright (c) 2023 Chakib Ben Ziane. Todos os direitos reservados.
O Instrukt é licenciado com licença AGPL, ou seja, pode ser utilizado por qualquer pessoa para qualquer finalidade. No entanto, se você decidir disponibilizar uma instância publicamente, seus usuários terão direito a uma cópia do código-fonte, incluindo todas as modificações que você fez (que precisa estar disponível através de uma interface como um botão em seu site), você também poderá não distribuir este projeto em um formato que não contenha o código-fonte (como compilar/criptografar o código e distribuir esta versão sem também distribuir o código-fonte que inclui as alterações que você fez. Você tem permissão para distribuí-lo de forma fechada formulário se você também fornecer um arquivo separado com o código-fonte.).