¡Estratas en Github! Únete a nosotros en Discord.
Chidori es un orquestador de código abierto, tiempo de ejecución e IDE para construir software en simbiosis con herramientas de IA modernas. Se atiende especialmente a la construcción de agentes de IA al proporcionar soluciones a los siguientes problemas:
Cuando usa CHidori, su autor codifica con Python o JavaScript, proporcionamos una capa para interactuar con las complejidades de los modelos de IA en los flujos de trabajo de larga duración. Hemos evitado la necesidad de declarar un nuevo idioma o SDK para proporcionar estas capacidades para que pueda aprovechar los patrones de software con los que ya está familiarizado.
Características:
Chidori está disponible en cajas.io y se puede instalar con carga. Nuestro punto de entrada esperado para el desarrollo de prototipos es chidori-debugger
, que envuelve nuestro tiempo de ejecución en una interfaz visual útil.
# Install the rust toolchain and the nightly channel
curl --proto ' =https ' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup toolchain install nightly
# Required for building dependencies
xcode-select --install
# These dependencies are necessary for a successful build
brew install cmake
# We are investigating if this is necessary or can be removed
brew install [email protected]
# Chidori uses uv for handling python dependencies
brew install uv
# We depend on features only supported by nightly at the moment
cargo +nightly install chidori-debugger --locked
Si prefiere usar un intérprete de Python diferente, puede establecer pyo3_python = python3.12 (o cualquier versión> 3.7) durante su instalación para cambiar, que está vinculada.
Las interacciones de Chidori con LLMS predeterminadas a http: // localhost: 4000 para conectar el proxy de litellm. Si desea aprovechar GPT-3.5-TURBO, el archivo de configuración incluido lo admitirá. Deberá instalar pip install litellm[proxy]
para ejecutar lo siguiente:
export OPENAI_API_KEY=...
uv pip install " litellm[proxy] "
uv run litellm --config ./litellm_config.yaml
El siguiente ejemplo muestra cómo construir un agente simple que obtenga las principales historias de Hacker News y llame a la API de OpenAI para filtrar a los lanzamientos relacionados con AI y luego formatear esos datos en Markdown.
Los agentes de Chidori pueden ser un solo archivo, o una colección de archivos estructurados como un proyecto típico de mecanografiado o python. El siguiente ejemplo es un solo agente de archivo. Considere esto similar a algo como un cuaderno Jupyter/Ipython representado como un archivo de Markdown.
`` `JavaScript (load_hacker_news) const axios = require ('https://deno.land/x/axiod/mod.ts'); const hn_url_top_stories = "https://hacker-news.firebaseio.com/v0/topstories.json"; function fetchstory (id) { return axios.get (`https://hacker-news.firebaseio.com/v0/item/$ {id} .json? print = bittle`) .then (respuesta => respuesta.data); } function async fetchhn () { const historias = axios.get (hn_url_top_stories); const historias = historias.data; // Solo los primeros 30 const tareas = storyIds.slice (0, 30) .map (id => fetchstory (id)); Return Promise.all (tareas) .Then (historias => { return stories.map (story => { const {title, url, stork} = story; return {title, url, stork}; }); }); } `` `` `` Solicitud "Interpret_the_group" `` `Aviso (Interpret_the_Group) Basado en la siguiente lista de hilos Hackernews, Filtrar esta lista solo en los lanzamientos de Nuevos proyectos de IA: {{fetched_articles}} `` `` `` Indica "format_and_rank" `` `Avecute (format_and_rank) Formatear esta lista de nuevos proyectos de IA en Markdown, clasificando más Proyectos interesantes de la más interesante a menos. {{interpret_the_group}} `` `` `` Usando una celda de Python como nuestro punto de entrada, demostrando la ejecución internaz: `` `Python Artículos = espera fetchhn () format_and_rank (artículos = artículos) `` `` ``
En esencia, Chidori trae un tiempo de ejecución reactivo que orquesta interacciones entre diferentes agentes y sus componentes. Chidori acepta el código arbitrario de Python o JavaScript, tomando la corredización y la ejecución del mismo para permitir interrupciones y reactividad. Esto le permite obtener los beneficios de estos comportamientos de tiempo de ejecución mientras aprovecha los patrones con los que ya está familiarizado.
Chidori garantiza un monitoreo integral y la observabilidad de sus agentes. Registramos todas las entradas y salidas emitidas por funciones a lo largo de la ejecución de su agente, lo que nos permite explicar con precisión qué condujo a qué, mejorando su experiencia de depuración y comprensión del comportamiento de producción del sistema.
Con Chidori, puede tomar instantáneas de su sistema y explorar diferentes resultados posibles desde ese punto (ramificación), o rebobinar el sistema a un estado anterior (viaje en tiempo). Esta funcionalidad mejora el manejo de errores, la depuración y la robustez del sistema al ofrecer vías alternativas y hacer.
Chidori viene con soporte de primera clase para la interpretación del código para Python y JavaScript. Puede ejecutar código directamente dentro de su sistema, proporcionando un inicio rápido, facilidad de uso y ejecución segura. Estamos trabajando continuamente en salvaguardas adicionales contra la ejecución de código no confiable, con el soporte de entornos contenedores próximamente.
Con nuestro gráfico de ejecución, preservación del estado y herramientas para la depuración, Chidori es un entorno excepcional para generar código durante la evaluación de su agente. Puede usar esto para aprovechar los LLM para lograr un comportamiento más generalizado y evolucionar a sus agentes con el tiempo.
Este es un lanzamiento temprano de código abierto y estamos buscando colaboradores de la comunidad. ¡Un buen lugar para comenzar sería unirnos a nuestra discordia!
Nuestro marco está inspirado en el trabajo de muchos otros, incluido:
Chidori está bajo la licencia MIT. Consulte la licencia para obtener más información.
¡Estrella el repositorio de GitHub y únete a nuestra discordia!