Terminal AI Commander a tu alcance
Consulte demostraciones para ver más ejemplos.
NOTA : Este es un trabajo en progreso, se esperan errores y cambios en la API.
Instrukt es un entorno integrado de IA basado en terminales. Ofrece una plataforma donde los usuarios pueden:
Crear e instruir a agentes de IA modulares
Generar índices de documentos para responder preguntas.
Cree y adjunte herramientas a cualquier agente
Los agentes son paquetes simples de Python que se pueden ampliar, compartir con otros, adjuntar a herramientas y aumentar con índices de documentos.
Instrúyalos en lenguaje natural y, por seguridad, ejecútelos dentro de contenedores seguros (actualmente implementados con Docker) para realizar tareas en su espacio de pruebas dedicado.
Construido con: Langchain, Textual, Chroma
Servicios de consultoría : ¿Necesita ayuda con Langchain o la integración de IA? Puedes comunicarte conmigo en [email protected]
Uso
Características
Plataformas compatibles
Modelos de Maestría en Derecho
Índices de documentos y respuesta a preguntas
Hoja de ruta
Contribuyendo
Patreón
Social
Visión
Licencia
pip install instrukt[all]
exporte OPENAI_API_KEY
con su clave API de OpenAI.
ejecutar instrukt
Si la combinación de colores no funciona, exporte TERM=xterm-256color
Se creará un archivo de configuración en: ~/.config/instrukt/instrukt.yml
Puede ejecutar instrukt en un servidor sin cabeza o en un contenedor acoplable con soporte CUDA.
NOTA : si está comenzando con un contenedor básico, necesita al menos g++ y libmagic.
Consulte la guía de instalación y inicio rápido para obtener más detalles.
Asegúrese de que esté instalada la última versión de poetry
.
Configura tu entorno virtual
Clonar el repositorio
Ejecute poetry install -E all --with dev,test
Esto instalará Instrukt, incluidas herramientas adicionales para los agentes.
Consulte la guía de instalación para obtener más detalles.
Coding AI : un asistente de codificación. Cree índices sobre cualquier base de código y adjúntelos al agente para realizar RAG (Generación aumentada de recuperación)
Preguntas y respuestas por chat : un agente conversacional simple.
Una interfaz basada en terminal para que los usuarios avanzados de teclados instruyan a los agentes de IA sin tener que abandonar el teclado.
Salidas de agentes ricas y coloridas con soporte de código fuente y rebajas gracias a la biblioteca Textual TUI.
Ejecute Instrukt en contenedores acoplables o de metal desnudo con soporte CUDA.
Acceso remoto con SSH y multiplexores de terminales.
Diseñar agentes y herramientas personalizados.
Los agentes son paquetes simples de Python que otros usuarios pueden compartir y cargar.
Indexe sus datos y permita que los agentes los recuperen para responder preguntas.
Cree y organice sus índices con una interfaz de usuario sencilla.
La creación de índices detectará automáticamente los lenguajes de programación y optimizará la estrategia de división/fragmentación en consecuencia.
Selección difusa (fzf, dmenu...) documentos de origen que se utilizaron para la recuperación ctrl+p
Utilice el conjunto de herramientas predefinido o diseñe sus propias herramientas.
Adjunte o separe herramientas a los agentes sobre la marcha, adaptando sus flujos de trabajo de IA a sus necesidades.
REPL-Prompt integrado para una interacción rápida con los agentes y un circuito de retroalimentación rápido para desarrollo y pruebas.
Automatiza tareas repetitivas con comandos personalizados.
Historial de mensajes/chat integrado.
Utilice vim
, emacs
o cualquier $EDITOR
externo para editar mensajes.
Aproveche el ecosistema LangChain para automatizar cualquier cosa.
WIP: API extensible para integración con otros frameworks.
Ejecute agentes dentro de contenedores acoplables seguros para mayor seguridad y privacidad.
Utilice el tiempo de ejecución de gVisor para un aislamiento completo del agente.
Nota : El agente acoplable solo está disponible para los seguidores de Patreon como vista previa.
Depure e introspeccione agentes utilizando una consola IPython incorporada. ctrl+d
Los índices se pueden crear utilizando OpenAI o modelos de incrustaciones locales.
Chroma para la gestión de índices.
Cree y administre índices utilizando la interfaz de usuario de administración de índices (presione I
)
La indexación de un directorio detectará automáticamente los lenguajes de programación y utilizará una estrategia de división adecuada optimizada para el idioma de destino.
Los índices se pueden adjuntar a cualquier agente como herramienta de recuperación usando el menú index
en la parte superior de la ventana del agente.
Los agentes pueden utilizar los índices adjuntos para responder preguntas.
Linux/Mac.
Windows probado bajo WSL2.
Actualmente solo se admite OpenAI .
El uso de modelos locales privados es el próximo hito .
modelos LLM locales privados
HF SetenceTransformers admitía incrustaciones.
Incorporaciones de instructores
Incrustaciones locales
utilizar la API webui de generación de texto
emular PrivateGPT
utilice go-skynet/LocalAI autohospedado
Indexación e incrustaciones
Directorios de índice y contenido de detección automática. (ver AutoDirLoader
)
Detectar lenguajes de programación y utilizar el divisor adecuado.
Cargar un repositorio git desde URL
Cargue cualquier página web/sitio web.
Documentación
Creando agentes
Creando herramientas
Indexación y chat con documentos y código fuente.
Casos de uso de ejemplo
Tutoriales.
¡Cualquier contribución, comentario y relaciones públicas son bienvenidos!
Puedes ayudar con:
Probar y crear problemas para detectar errores o características que serían útiles.
Si tiene habilidades técnicas, puede crear un PR.
Si no tienes habilidades técnicas, puedes ayudar con la documentación, agregando ejemplos y tutoriales o creando nuevas historias de usuarios.
Al convertirte en patrocinador, me ayudarás a seguir dedicando tiempo al desarrollo de Instrukt y a dar vida a todas las funciones planificadas. Consulte la página de Patreon para obtener más detalles sobre las recompensas para los primeros seguidores.
Únase al servidor de Discord para mantenerse actualizado sobre el progreso o pedir ayuda.
La IA debería ser accesible para todos y no un jardín vallado para grandes corporaciones y servicios SaaS.
Instrukt es una modesta contribución para crear herramientas que empoderen a los usuarios sin comprometer sus libertades. El objetivo a corto plazo es hacerlo utilizable con una dependencia mínima de API y servicios externos, brindando a los usuarios la opción de optar por modelos locales y servicios autohospedados.
Copyright (c) 2023 Chakib Ben Ziane. Reservados todos los derechos.
Instrukt tiene una licencia AGPL, en resumen, esto significa que cualquier persona puede utilizarlo para cualquier propósito. Sin embargo, si decide hacer que una instancia esté disponible públicamente, sus usuarios tienen derecho a una copia del código fuente, incluidas todas las modificaciones que haya realizado (que debe estar disponible a través de una interfaz como un botón en su sitio web), también puede No distribuir este proyecto en una forma que no contenga el código fuente (como compilar/cifrar el código y distribuir esta versión sin distribuir también el código fuente que incluye los cambios que realizó. Se le permite distribuir esto de forma cerrada). si también proporciona un archivo separado con el código fuente).