- FrogTeam.ai
Actualización v0.1.6: 13-10-2024
- Mejor manejo de eventos para guardar mensajes y configuraciones
- >Indicación de contenedor para dall-e-3
- Mensaje adicional del arquitecto principal
Actualización v0.1.5: 01-10-2024
- Agrega un nuevo miembro del equipo y conviértelo en artista gráfico.
- Elige el modelo dall-e-3
- Esta es una característica nueva, no hay validación ni instrucción.
Ejemplo rápido para utilizar un artista gráfico Llamé a mi artista gráfica Jenny. Cuando describí lo que quería, también incluí lo siguiente para explicar las limitaciones de Jenny y cómo quería que el arquitecto principal manejara sus asignaciones. Asegúrate de pedirle a Jenny que haga gráficos. Las instrucciones de Jenny deben ser muy específicas. Solo puedes pedirle que cree un archivo gráfico a la vez y solo puedes describir lo que quieres que haga en el mensaje. Un mensaje para Jenny debe ser breve, por ejemplo: "hazme un archivo de ícono pequeño que parezca una rana". Jenny simplemente devuelve la ruta al archivo que creó. Necesitas solucionar sus limitaciones. Como arquitecto principal, planifique primero lo que necesita de Jenny y luego dígales a los demás qué hacer con lo que le pidió a Jenny que creara.
Actualización v0.1.2: 08-09-2024
- NUEVA HERRAMIENTA: Búsqueda de código: si desea realizar un cambio que pueda afectar varios archivos, existe una nueva herramienta que el LLM puede utilizar para buscar el código de la solución.
- Mejor manejo de errores de llamadas de herramientas
Actualización v0.1.1: 08-09-2024
- Experimentos mlFLow para el seguimiento de mensajes
- Configuración de mlFLow en .vscode/frogteam/config.json
- moví los archivos de frogteam a .vscode/frogteam/
- Archivo proyectos.jsonb fijos
- Dio el estado de la pestaña de respuesta
Actualización v0.1.0: 07-09-2024
- mlFLow experimenta la configuración temprana mlFlow solo funciona desde localhost:5001
- Se corrigieron eventos de mensajes de publicación de vista web.
- miembros actualizados y elementos del árbol de mensajes
Actualizaciones v0.0.19: 01-09-2024
Esta versión es para corregir errores. Botones Eliminar y Clonar arreglados. Se corrigió la categoría de aviso que faltaba.
Nota también: A las solicitudes se les puede asignar un comodín (*) para su modelo.
Actualizaciones v0.0.18: 30/08/2024 Comience a buscar detalles en el registro de cambios. Este es un gran problema para la reorganización de la historia.
Actualizaciones v0.0.17: 25-08-2024
- Comandos: una entrada de menú de nivel superior
- Cambios en la jerarquía del historial
- Alternar agrupación del historial (consulte "Comandos")
- Elementos padre/hijo pero un árbol plano
- Esto significa que los elementos secundarios aparecen debajo de sus padres y también en la raíz del árbol.
- Responder a las respuestas directamente
- En el panel de Respuestas del Historial, cuando la respuesta es Markdown, hay un botón "Responder aquí"
- Al utilizar esta función, el historial inmediato relevante se incluirá en la nueva interacción LLM.
- El Constructor ahora recopila un nombre de proyecto y un directorio.
- Esta información se utiliza para formatear XML que se utiliza en el mensaje.
- Esto le dice al LLM exactamente lo que está obteniendo.
- Las indicaciones del sistema se ajustarán en versiones futuras.
- La próxima versión utilizará "Nombre del proyecto" en la jerarquía del historial.
14-08-2024 Actualizaciones:
- Azure abierto AI
- Actualice Axios debido al informe de vulnerabilidad
- Se agregaron algunas notas al panel de configuración de miembros.
13-08-2024 Actualizaciones:
- Etiquetado de entradas del historial
- Visualización del historial actualizado
A continuación, agregaré una nueva herramienta que permitirá al LLM consultar el historial según sea necesario. También estoy pensando en cómo permitir que LLM consulte al usuario. Si se utiliza esta herramienta la conversación se suspendería hasta que el usuario responda. Esta es una característica que el usuario quizás quiera desactivar. Me encantaría escuchar algunos comentarios sobre esto.
10-08-2024 Actualizaciones:
- El arquitecto principal puede utilizar todos los modelos implementados.
- Se agregó un indicador de estado de ejecución en la barra de estado que dice "Frogteam" cuando se ejecuta un proyecto y "nombre de miembro" cuando se trata de una ejecución dirigida.
- Se agregó un canal de salida llamado "FrogTeam.ai" que se actualiza con cada entrada del historial y con otros eventos.
- Se agregaron los comandos Nuevo miembro y Solicitar a la vista del proyecto para que estas acciones sean más visibles.
- Se agregó un mensaje de error para informarle cuando un miembro del equipo no tiene un mensaje de sistema alineado.
- Nuevo mensaje para solicitar un resumen de tarea/proyecto
- Mensajes comodín
- importar nuevas indicaciones
- Clave API de la variable de entorno
08-08-2024
Hola, gracias por pasar por aquí. Decidí publicar esto. Está en un lugar agradable donde hay cierta funcionalidad. La idea es crear miembros del equipo que estén representados por un LLM específico. Puede utilizar una variedad de LLM diferentes y con el tiempo la forma en que se seleccionan los miembros y cómo se realizan las asignaciones evolucionará desde el estado rudimentario en el que lo tengo hoy. Puede utilizar los modelos de AWS Bedrock y los modelos OpenAI y, por ahora, es probable que me quede dentro de estos límites para la selección de LLM: - El modelo admite la llamada de herramientas - El modelo y su función de llamada de herramientas son compatibles con langchain. Actualmente me estoy centrando en algunas funciones de la interfaz de usuario mientras Mejoro/refino mi cadena de llamadas de herramientas. Espero pasar pronto a una función para compartir mensajes del sistema y, eventualmente, me gustaría integrar RAG con vectores locales. Espero entonces dar la vuelta y usar mi extensión para desarrollar mi próxima aplicación móvil, sea cual sea.
Me pregunto si hay apetito por lo que estoy haciendo aquí. Déjame saber tus pensamientos.
Aquí hay un breve vídeo de demostración. El arquitecto principal puede utilizar otros modelos ahora.
Sígueme en instagram.
- - FrogTeam.ai
- Su equipo virtual de desarrollo de GenAI
- Fluir
- Integración MLFlow
- Problemas/limitaciones conocidos
- Tareas: implementación de otras fuentes de modelos
- Tareas: en cubierta
- Tareas - Trabajo pendiente
- Ejemplos de mensajes de usuario
- Iconos
- Cómo contribuir
- Envío de problemas
Su equipo virtual de desarrollo de GenAI
Este es mi proyecto paralelo, me gusta escribir y generar código.
Está destinada a ser una interfaz de IA generativa donde puede registrar nuevos modelos, configurar ajustes y mensajes del modelo, interactuar con incrustaciones de Chroma (eventualmente) y tener un conjunto común de comandos que puede usar para interactuar con archivos en el espacio de trabajo y la salida de varios LLM. Registra "miembros del equipo" y les asigna un modelo. Puedes utilizar el mismo modelo varias veces o utilizar modelos diferentes. Puede asignar miembros del equipo para que colaboren en una tarea.
Descripción general
- Asignación de arquitecto principal
- El arquitecto principal desglosará el proyecto y asignará a otros miembros disponibles una tarea que considere adecuada para el proyecto general.
- Una vez realizadas todas las asignaciones, el arquitecto principal echará un vistazo para
- solucionar un problema que pueda
- resumir la solución general
- Asignaciones de una sola tarea
- Agregar/eliminar/editar miembro del equipo
- Nombre
- Modelo
- Límites (no implementados)
- Biblioteca de mensajes
- Eventualmente esto se vinculará a un repositorio de git o un punto final https donde estarán disponibles nuevas indicaciones.
- Esto está planeado como una plataforma para compartir en la comunidad.
- Conjunto predeterminado
- Agregar/Eliminar/Editar
- Etiquetas: modelo, propósito Comandos planificados
- @miembrodelequipo
Fluir
Debe definir al menos tres miembros: arquitecto principal, ingeniero principal y desarrollador.
Abra el constructor
El "Constructor" se encuentra en el panel "Proyecto".
Descripción del Proyecto Describe cuál es el proyecto. Sea específico y proporcione cualquier información que pueda tener. Fragmentos de código, sugerencias de jerarquía de clases, investigaciones y referencias de ejemplo. Referencias de sitios web para bibliotecas que desea utilizar, etc. Cuando presiona "Project GO"
Arquitecto Líder El Arquitecto Líder desglosa el proyecto y
- Proporciona a cada miembro una tarea
Cada miembro trabaja hasta completar su tarea: cuando la tarea se completa, la información se agrega a los mensajes. Cuando todos los miembros han realizado sus tareas, el arquitecto principal obtiene un pase final y resume el trabajo realizado.
Puede refinar el mensaje y enviarlo nuevamente. Se utilizarán y editarán los archivos existentes.
Integración MLFlow
Registro de avisos y duración muy básico en este momento. Quiero recopilar un conjunto de soluciones, cada una con una definición de proyecto específica proporcionada por el usuario y luego crear un proceso de evaluación para calificar las indicaciones del sistema según un conjunto de indicaciones del usuario para cada solución. Me gustaría llegar a un lugar donde la comunidad pueda contribuir con mensajes del sistema optimizados para idiomas y tecnologías específicos. Para enviar un mensaje del sistema, deberá poder pasar un proceso de evaluación. Sería particularmente interesante permitir el intercambio de vectores/integraciones de conocimiento que basen un mensaje del sistema en un contexto más específico. Tener MLFLow integrado aquí es experimental, pero imagino agregar una pestaña de Prueba donde se pueden usar y enviar los datos de la prueba y una pestaña de envío donde se pueden enviar y rastrear las indicaciones.
Problemas/limitaciones conocidos
- Validación de miembros del equipo según indicaciones; por ahora, utilice la vista Alineación del equipo para validar manualmente que todos los miembros estén alineados con una indicación del sistema. Si ve: TypeError: No se pueden leer las propiedades de indefinido (leyendo 'contenido'), verifique la alineación, probablemente alguien no tenga ningún mensaje.
- No hay validación de llamada de herramienta, por lo que a veces la generación inicial del proyecto nunca se completa; puede intentarlo nuevamente
- se acerca la validación/reintento
- Actualmente, esto solo funcionará directamente con OpenAI o AWs Bedrock.
- Para OpenAI necesitas una clave API
- Para AWS Bedrock, debe iniciar sesión en AWS en su entorno VS Code y necesita implementar los modelos compatibles en la cuenta/región adecuada.
- OpenAI en Azure está implementado pero confieso que no lo he probado ( si alguien lo prueba, hágamelo saber )
Tareas: implementación de otras fuentes de modelos
- En este momento estoy buscando modelos que admitan llamadas a herramientas utilizando el marco Langchain.
- OpenAI de OpenAI
- gpt-4o hecho
- gpt-4-turbo hecho
- gpt-35-turbo hecho
- Base de AWS
- Soneto antrópico de Claude 3.5 hecho
- Anthropic Cluade 2 Haiku hecho
- OpenAI en Azure
- gpt-4o NECESITA PRUEBAS
- gpt-4-turbo NECESITA PRUEBAS
- gpt-35-turbo NECESITA PRUEBAS
- AbrazosCara
- ¿Existe alguna forma estándar de hacer esto? Esta es una tarea de investigación para mí.
Tareas: en cubierta
- Cree una herramienta para llm que realice una búsqueda de código, como simplemente usar la búsqueda de vscode para encontrar cosas en archivos que permitan que LLM busque/reemplace hecho
- flujo ml
- configuración del experimento
- Puede iniciar un nuevo experimento y la identificación del experimento se guardará con el objeto de aviso listo.
- Se crearán los lugares donde se utiliza el mensaje, se ejecutarán y se registrarán el mensaje y la duración.
- Puede detener un experimento borrando la identificación del experimento .
INDICACIÓN DEL SISTEMA A veces, un archivo grande solo tendrá un comentario que dice que el resto permanece sin cambios, dejando al usuario con comandos git para arreglarlo. La siguiente oración debe agregarse a las indicaciones del sistema. "Recuerde que estos son archivos de solución "activos" y debe generar el archivo completo. Decir cosas como "el resto de este código permanece sin cambios" hace que el archivo esté incompleto. No haga eso". POR AHORA HE AÑADIDO A LA DESCRIPCIÓN DE LA HERRAMIENTA saveContentToFileApi
Necesitamos una forma de exportar Markdown más fácilmente; el usuario debería poder hacer clic en el icono "Copiar" para copiar la respuesta de Markdown.
Crear una nueva herramienta que permita al llm solicitar que se obtenga el contenido de una URL, cuando es una imagen también debemos basarla
- ¿Debería ser esto para fragmento/vectorizar/RAG?
Agregue try...catch/check para la longitud donde se usa .content de la respuesta de llm
Agregue try...catch para llamadas de herramientas y registre fallas en el historial .
configuración para un límite de tiempo o token por modelo/miembro del equipo
- implementar límites de tokens para miembros del equipo/límites de tiempo/solicitar límites de tokens
- esto requerirá seguimiento
- El arquitecto principal deberá ser consciente de estas limitaciones al asignar las tareas.
- establecer la temperatura y otras configuraciones para el miembro del equipo
ERROR: Cuando se le pide a un miembro que realice una tarea, a veces el resumen es redundante.
ERROR: a veces las definiciones o los resultados de ToolCall son malos y el proceso produce errores
- Tal vez simplemente intente capturar e informar/registrar/agregar historial de lo que sucedió. hecho
- En este momento, el usuario puede intentar hacer clic en "Ir" nuevamente.
- Un
- 0y solución deberá abordar las reglas de conversación
Tareas - Trabajo pendiente
- Herramienta Preguntar al ser humano: cree una herramienta que permita a cualquier miembro del equipo (incluido el arquitecto principal) hacer una pregunta dirigida al ser humano.
- esto puede aparecer en el historial pero hará que todo el hilo de la tarea espere
- El documento debe abrirse con la pregunta en pantalla.
- al hacer clic en el documento Historial se abrirá
- El documento tiene el estado de la cadena permitiendo al humano responder y reanudar la cadena.
- integración git
- comprometerse primero
- sucursal primero
- comprometerse
- esconder primero
- generación de relaciones públicas
- Plataforma rápida para compartir bibliotecas: hacer más uso de MLFlow
- Crear paneles de datos para albergar soluciones "doradas" a solicitudes específicas de los usuarios.
- Cree un canal para evaluar las indicaciones del "sistema" frente a las soluciones doradas.
- Realizar un proceso de envío rápido
- agregar instancia de Chromadb (¿opcionalmente?)
- Rastreo web bajo demanda que fragmentará y almacenará en Chroma local
- URL/Internet o contenido del disco local
- basado en el tipo de archivo
- implementar una estrategia de fragmentación para la base del código de las soluciones
- implementar una estrategia de fragmentación para la historia
- implementar una estrategia de fragmentación para la documentación del proyecto
- implementar historial de búsqueda/búsqueda de código
- configurar una cola para procesar solicitudes (para que el usuario pueda poner en cola tareas mientras las operaciones están en curso)
- solo procesa un artículo a la vez
- En la historia
- un ícono para respuesta de contenido versus función
- indicar éxito/fracaso (marca de verificación verde frente a X roja)
- ¿Podemos indicar cuándo hay contenido de archivo y cuándo no (¿hay algún conflicto con Markdown?)
- A veces aún no se ha creado un archivo y eso está bien.
Ejemplos de mensajes de usuario
Escríbeme una página web sencilla que utilice un lienzo para dibujar una pelota y hacerla rebotar alrededor de los límites del lienzo. Divida el proyecto en varios archivos: index.html, index.js e index.css. Coloque los archivos en un directorio llamado rebote-ball. Este es solo el punto de partida del proyecto, así que tenga en cuenta que solicitaremos mejoras.
Créame una aplicación de una sola página que muestre direcciones desde donde el navegador web cree que está hasta la estación de tren más cercana.
Usando el mapeo basado en web de openstreetmap, simulará el seguimiento de una etiqueta aérea a medida que se mueve. desde: Punto A -> 1 Gray Rock Place, Stamford CT hasta: Punto B -> Cove Island Park, Stamford, CT
- Haga esto generando direcciones de manejo entre estas dos ubicaciones y luego muestre un punto que se mueve a lo largo de esas direcciones a lo largo del tiempo.
- Todos los archivos deben crearse/editarse en el directorio de "seguimiento".
- Espero poder abrir index.html desde el directorio de seguimiento usando la extensión LiveServer VS Code y cuando lo haga espero ver un mapa que muestre las ubicaciones que he mencionado.
Usa un lienzo HTML para crear un juego de pádel en el que puedas mover un bloque rectangular hacia adelante y hacia atrás usando las teclas de flecha izquierda y derecha. Golpeas la pelota, ésta sube, golpea la cima y regresa. Si fallas y la pelota golpea la pared inferior, pierdes un punto, si golpeas la pelota ganas 2 puntos.
Escribe un juego de rompecabezas para lienzo html. Debe contener una selección de formas que están en ciclo y cuando haces clic, bloqueas una forma, y cuando haces clic en una forma seleccionada, la forma gira. Después de que el usuario selecciona tres formas, las formas comienzan a caer por el área del lienzo. El usuario necesita conseguir tres formas para unirlas para formar otra forma antes de llegar al fondo, cuando dos formas están bloqueadas tal vez la velocidad de caída disminuya. El usuario hace esto haciendo clic en las formas para rotarlas.
Iconos
Todos los íconos que ve provienen de la lista a continuación, los hice yo o GenAI me ayudó a crearlos. Archivos de licencia almacenados y distribuidos en el directorio de recursos.
- https://iconduck.com/sets/elementary-icon-set
- https://iconduck.com/sets/open-iconic-icon-set
- https://iconduck.com/sets/font-awesome-icons
- https://iconduck.com/sets/material-design-icons
Cómo contribuir
Agradezco su interés en contribuir a este proyecto. Sin embargo, actualmente no acepto contribuciones directas como solicitudes de extracción. En su lugar, le recomiendo que envíe problemas si encuentra algún error, solicita funciones o necesita ayuda.
Envío de problemas
Para enviar un problema, utilice la función Problemas de GitHub. Describe tu problema en detalle y lo abordaré lo antes posible.
¡Gracias por su comprensión y apoyo!