Configuración rápida para agentes de IA por correo electrónico | → | Implemente agentes de la forma más sencilla para sus usuarios |
Para, CC y Fw: múltiples agentes | → | Capacitación simplificada: solo envíe un correo electrónico |
Potentes códigos cortos para IA | → | Colaboración de varios agentes y varios pasos para todos |
Baterías incluidas, solo agregue credenciales | → | Incluye cliente de correo electrónico y panel de agente |
ATAT permite la configuración rápida de agentes de IA a los que puede enviar correos electrónicos, con códigos cortos simples que otorgan superpoderes a los agentes.
Código fuente https://github.com/semanticsean/ATAT
Hoja de ruta: Para aquellos interesados en contribuir al proyecto, consulte nuestra guía de contribución para obtener información detallada sobre cómo participar.
v0.4 - Incluye ABE - A/B + Encuesta electoral. v0.3 - Versión inicial
EJEMPLO: Envíe un correo electrónico a un equipo de tres agentes de IA que colaboran para escribir una historia corta:
Envíe un correo electrónico a un agente de IA, con instrucciones de escribir una historia en tres actos (tres llamadas API):
Esta guía lo guiará a través de la implementación en Replit, porque es muy fácil de implementar. Comience con esta respuesta.
Para usarlo localmente o en Github, deberá cambiar las llamadas para aceptar env vars.
pip install openai==0.28.0
para compatibilidad.{
"SMTP_SERVER": "",
"IMAP_SERVER": "",
"SMTP_PORT": "",
"SMTP_USERNAME": "",
"SMTP_PASSWORD": "",
"OPENAI_API_KEY": "",
"DOMAIN_NAME": "",
"NOMBRE DE EMPRESA": ""
}
Para SMTP_PORT que utiliza Google Workspace, utilice el puerto 587.
Para SMTP_PASSWORD, si está utilizando Google/Gmail, debe ser una CONTRASEÑA DE APLICACIÓN que requiere 2FA.
DOMINIO_NOMBRE debe ser lo que sigue a @ en una dirección de correo electrónico. Por ejemplo, "acme.com" como "[email protected]".
COMPANY_NAME debe ser tal como aparece escrito, como "ACME Corp."
Cree una dirección de correo electrónico de agente@: debe ser una nueva dirección de correo electrónico sin historial.
Alias de agente: asigne al menos un alias de correo electrónico para al menos un agente en agents/agents.json
. El resto son opcionales y se pueden llamar con el código abreviado @@(Nombre del agente), o pueden recibir su propio alias. @@ es útil si desea utilizar más agentes como alias de los que admite su servidor de correo electrónico. Por ejemplo, Google Workspace tiene un límite de 25, pero puede implementar cientos de modelos de agentes accesibles a través del código abreviado @@.
Consulte /tools/testing_emails.md para obtener correos electrónicos con los que realizar pruebas.
IMPORTANTE: Es posible que deba incluir el dominio y/o las direcciones de correo electrónico en la lista blanca.
HAGA UN NUEVO CORREO ELECTRÓNICO PARA USAR CON ATAT. NO CONECTE CUENTAS EXISTENTES. ATAT es reactivo y puede enviar correos electrónicos no deseados si no ha indexado el historial correctamente. Crea una nueva cuenta exclusivamente para uso de ATAT.
ATAT es un cliente de correo electrónico que aloja agentes de IA que responden a los correos electrónicos, por lo que puede enviarles correos electrónicos directamente, enviarles copia o fw: correos electrónicos. ATAT está diseñado para democratizar el uso de la IA, permitiendo la configuración rápida de una "empresa" de agentes de IA en minutos, con la dirección manejada por correo electrónico. Eso significa que la capacitación es tan simple como proporcionar un nuevo correo electrónico al que reenviar o enviar una copia. Este enfoque aprovecha la lentitud inherente del correo electrónico para obtener respuestas de IA integrales y reflexivas. También abre el pensamiento de "MoE" o "CoE" para las normas.
Otro punto fuerte del correo electrónico es que es lento. Como se demuestra en @@ y !detalle! Se pueden integrar códigos cortos, componentes de múltiples pasos (llamadas de múltiples API) y el tiempo que lleva ejecutar todas las llamadas, ya sean minutos o incluso horas, es normal para el correo electrónico.
!detail
, !summarize
y !ff
. Utilice new_agent.py
para generar nuevos agentes con personas detalladas e imágenes generadas por DALL-E.
cards.py
alimenta un servidor Flask que muestra un panel de todos los agentes para un fácil acceso.
Mejore sus interacciones por correo electrónico con nuestro avanzado sistema de códigos cortos. Diseñados para una integración perfecta en el contenido del correo electrónico, estos códigos cortos activan funcionalidades especializadas dentro de la plataforma ATAT, lo que permite la participación dinámica de los agentes y la manipulación del contenido directamente a través de sus correos electrónicos. Explore las capacidades y el uso de cada código abreviado para aprovechar todo el potencial de ATAT para sus comunicaciones por correo electrónico.
@@
@@
para enviar correos electrónicos a varios agentes simultáneamente, fomentando una respuesta colaborativa de múltiples agentes. Esta característica es invaluable para escenarios que requieren aportes de diversas personas de IA.@@(agent name)
o @@.creator
en su correo electrónico, seguido de identificadores de agente específicos o instrucciones de creación. Este comando indica a ATAT que involucre a los agentes designados en el proceso de respuesta.Correo electrónico de prueba
devatlas: ¿cuál es la pregunta más importante que deben responder los solicitantes de subvenciones al escribir presentaciones de startups?
@@(castor) ¿qué startups te gustan?
@@(Nova) ¿qué opinas?
@@(Orión) ¿qué opinas?
@@(Nebulosa) ¿qué opinas?
@@(Altair) ¿qué opinas?
@@.creator
@@.creator
genera instantáneamente nuevos personajes de agentes, ofreciendo personalización sobre la marcha para adaptarse a las necesidades cambiantes de la conversación.@@.creator(Embody an agent...)
con especificaciones detalladas de la persona. Asegúrese de que "Embody" esté presente para activar la función de creador, indicando a ATAT que cree e introduzca una nueva personalidad de agente según sus instrucciones.Correo electrónico de prueba
Estoy trabajando en un nuevo proyecto creativo y necesito algunos juegos de rol. Por favor, presente a este agente y pídale que responda la siguiente pregunta.
@@.creator (¡Encarna a un vampiro juguetón que es amigo de un delfín al estilo de un libro para niños que habla con una voz cómica de vampiro).!
Sr. Vampiro, ¿cuál es su juego favorito?
Detail
Detail
divide bloques de texto extensos en segmentos manejables, optimizando el procesamiento y la generación de respuestas.!detail_start!
y !detail_stop!
marcadores. ATAT segmenta automáticamente el contenido para un manejo eficiente. Utilice '!dividir!' para dividir las llamadas API/participar en múltiples pasadas.!detalle_inicio! Introducción: es el año 2050 y el viaje en el tiempo sintético impulsado por IA es fácilmente posible. ¡Dividido! conocemos a nuestro protagonista, en detalle !split! conocemos a nuestro antagonista, en detalle !split! vemos el primer conflicto entre protagonista y antagonista, el primer acto termina !split! el segundo acto comienza con un nuevo jugador, un interés romántico que aún no ha sido mencionado !split! el segundo acto tiene un conflicto principal !split! ¡el clímax sucede! ¡dividido! ¡la resolución aún no ocurre! ¡dividido! ¡Ahora llega la resolución! Detail_stop!
Summarize
Summarize
condensa contenido detallado en breves resúmenes, personalizables a través de modificadores específicos para adaptarse al enfoque y estilo previstos de su resumen.!summarize!
, agregando modificadores según sea necesario para refinar el resultado del resumen.(Esta característica tiene incluso más errores que otras).
CONSULTE /tools/testing_emails.md para probar scripts; es demasiado largo para caber aquí.
!summarize.json!
, !summarize.marketing!
, o !summarize.budget!
para dirigir a ATAT en la elaboración de resúmenes que se ajusten a sus requisitos, ya sea en formato JSON, lenguaje de marketing o contenido centrado en el presupuesto.Aproveche estos códigos cortos para optimizar sus interacciones por correo electrónico, garantizando una comunicación eficiente y efectiva con y entre sus agentes de IA.
ABE (A/B+Election): descripción general de la herramienta de sondeo de agentes ABE significa A/B+Election, una herramienta sofisticada diseñada para facilitar el sondeo de agentes inteligentes en diversos escenarios, que van desde procesos de toma de decisiones hasta recopilación de opiniones y más. Construido sobre la base de Flask, ABE se integra perfectamente con las tecnologías web para ofrecer una experiencia dinámica e interactiva tanto para administradores como para participantes.
Funciones Administración de agentes: administre fácilmente una lista de agentes, cada uno con identificadores y atributos únicos. ABE permite la especificación detallada de agentes, incluidas palabras clave e imágenes personalizadas, para mejorar la experiencia de sondeo.
Encuesta dinámica: realice pruebas A/B o elecciones entre agentes con preguntas e instrucciones personalizadas. Esta característica permite a los investigadores y desarrolladores recopilar información matizada sobre las preferencias o decisiones de los agentes.
Autenticación por correo electrónico: un sistema de autenticación seguro que utiliza confirmación por correo electrónico para la validación del usuario. Esto garantiza que sólo los participantes autorizados puedan contribuir al proceso de votación.
Gestión de sesiones: con ABE, las sesiones se identifican y gestionan de forma única, lo que permite un enfoque estructurado para la recopilación y el análisis de datos. Cada sesión se puede personalizar con preguntas, instrucciones y selecciones de agentes específicas.
Panel interactivo: un panel basado en web proporciona una interfaz centralizada para configurar encuestas, visualizar selecciones de agentes e iniciar sesiones. El panel mejora la experiencia del usuario, facilitando la navegación a través del proceso de votación.
Salida personalizable: genere y personalice resultados basados en los resultados de las encuestas. ABE admite la creación de informes detallados, visualizaciones y resúmenes, atendiendo a una amplia gama de necesidades de análisis.
Seguridad y privacidad: creado pensando en la seguridad, ABE implementa las mejores prácticas para proteger los datos de los usuarios y garantizar la integridad del proceso de votación. Las sesiones y transmisiones de datos se manejan de forma segura, teniendo en cuenta consideraciones de privacidad y confidencialidad.
Primeros pasos, configuración e instalación: comience configurando su entorno Python e instalando Flask junto con otras dependencias necesarias. ABE requiere Python 3.6 o posterior para compatibilidad con versiones anteriores.
Configurar agentes: complete agentes.json con la información de sus agentes, incluidos nombres, atributos e imágenes. Este archivo sirve como base de datos para los agentes que participan en las encuestas.
Inicie la aplicación: ejecute abe.py para iniciar el servidor Flask. Navegue hasta la URL proporcionada para acceder al panel de ABE.
Cree una encuesta: use el panel para configurar su encuesta, incluidas preguntas, agentes a involucrar e instrucciones personalizadas. Cada encuesta se puede adaptar para satisfacer necesidades específicas de investigación o toma de decisiones.
Distribuya y recopile respuestas: una vez que su encuesta esté activa, los participantes autorizados pueden interactuar con la plataforma y brindar sus respuestas y opiniones. ABE gestiona la recogida y organización de estos datos en tiempo real.
Analizar resultados: una vez completada la encuesta, ABE facilita el análisis de los resultados a través de su panel de control. Exporte datos, genere informes y obtenga información a partir de las respuestas agregadas.
Casos de uso El marco versátil de ABE lo hace adecuado para una variedad de aplicaciones, que incluyen, entre otras:
Investigación de mercado: comprender las preferencias de los consumidores o predecir las tendencias del mercado encuestando a un grupo de agentes representativos. Soporte de decisiones: Facilitar los procesos de toma de decisiones dentro de las organizaciones recopilando y analizando las opiniones de los agentes. Investigación académica: realizar estudios y experimentos que involucren simulaciones y modelos basados en agentes. Conclusión ABE ofrece una plataforma potente y flexible para sondear a agentes en numerosos contextos. Al combinar la facilidad de uso con un sólido conjunto de funciones, ABE permite a los usuarios recopilar, analizar y aprovechar datos de formas innovadoras. Ya sea para investigación, toma de decisiones o análisis de mercado, ABE proporciona las herramientas necesarias para aprovechar la inteligencia colectiva de los agentes.
contribute.md
.ATAT tiene la licencia MIT. Consulte el archivo de LICENCIA para obtener más detalles.
@@ y ATAT son marcas comerciales de Semantic Life, Copyright 2024. Todos los derechos reservados.
Google / Google Workspace (TM) Google.
psql -h nombre de host -U nombre de usuario -d nombre de base de datos SET idle_in_transaction_session_timeout = '15min'; psql -d $DB_NAME -U $DB_USER -W $DB_PASS flask db init # Solo es necesario la primera vez para configurar el directorio de migraciones flask db migrar -m "Modelo PageView agregado" actualización de flask db
Vida semántica: panel de agentes de IA
¡Bienvenido a Semantic Life - Panel de agentes de IA! Esta poderosa herramienta le permite crear, administrar e interactuar con agentes de IA en una interfaz web fácil de usar. Con funciones como la creación de agentes, la gestión de plazos, la organización de reuniones y la realización de encuestas, puede aprovechar el poder de la IA para obtener información valiosa y tomar decisiones informadas. Características
Agent Creation: Easily create new AI agents by providing a name, job title, and description. The system generates a detailed agent persona, including keywords, relationships, and an image prompt, using the OpenAI GPT-4 model. It also generates a profile picture using the DALL-E model.
Timeframe Management: Create different scenarios or contexts for your AI agents by establishing timeframes. You can select specific agents to include in a timeframe and provide instructions to modify their attributes using the OpenAI API. The modified agents are saved in a new JSON file for easy access.
Meeting Organization: Organize meetings with your AI agents to gather insights and conduct surveys. Select a timeframe, choose the agents to include, and provide a name for the meeting. The system creates a survey form where you can define questions and gather responses from the agents using the OpenAI API.
Survey Results: View the results of your surveys in a user-friendly interface. The responses from each agent are displayed alongside their profile information. You can analyze the responses, compare insights from different agents, and make informed decisions based on the survey results.
Public Sharing: Make your survey results publicly accessible by generating a unique public URL. Anyone with the URL can view the survey results without authentication, allowing you to share insights with a broader audience.
Requisitos previos
Antes de ejecutar Semantic Life - AI Agent Dashboard, asegúrese de tener lo siguiente:
Python 3.x installed
OpenAI API key
Required Python packages (listed in requirements.txt)
Instalación
Clone the repository:
intento
clon de git https://github.com/your-username/semantic-life.git
Install the required Python packages:
intento
instalación de pip -r requisitos.txt
Set up the environment variables:
OPENAI_API_KEY: Your OpenAI API key
DATABASE_URL: URL for your database (e.g., PostgreSQL)
FLASK_KEY: Secret key for Flask sessions
DOMAIN_NAME: Domain name for your application
Run the database migrations:
intento
actualización de matraz db
Start the application:
intento
aplicación python.py
Access the application in your web browser at http://localhost:5000.
Uso
Register a new account or log in to an existing account.
Create new agents by providing a name, job title, and description.
Establish timeframes and select agents to include. Provide instructions to modify the agents' attributes.
Organize meetings by selecting a timeframe, choosing agents, and providing a name.
Conduct surveys by defining questions and gathering responses from the agents.
View survey results and analyze the insights provided by the AI agents.
Optionally, make survey results publicly accessible by generating a unique public URL.
Contribuyendo
¡Las contribuciones a Semantic Life - AI Agent Dashboard son bienvenidas! Si encuentra algún problema o tiene sugerencias para mejorar, abra un problema o envíe una solicitud de extracción en el repositorio de GitHub. Licencia
Este proyecto está bajo la licencia MIT. Contacto
Para cualquier consulta o comentario, contáctenos en [email protected].
¡Disfrute usando Semantic Life - Panel de agentes de IA para desbloquear el potencial de los agentes de IA y obtener información valiosa!
Abra una terminal o símbolo del sistema y navegue hasta el directorio de su proyecto. Ejecute el siguiente comando para iniciar Flask Shell:flas
cáscara del matraz
desde modelos importar usuario, db
usuario = Usuario.query.filter_by(nombre de usuario='nombre de usuario').first()
usuario.token_balance = 1000
db.sesión.commit()
imprimir(usuario.token_balance)
salida()
flask db migrar -m "Créditos de usuario agregados" actualización de flask db
instalación de pip 'es peligroso <2.0'
¡Ciertamente! Aquí hay una descripción técnica de la aplicación para otra IA:
La aplicación Semantic Life es una aplicación basada en web creada utilizando el marco web Flask en Python. Permite a los usuarios crear y administrar agentes de inteligencia artificial, realizar encuestas y generar períodos de tiempo basados en instrucciones definidas por el usuario.
La aplicación sigue una arquitectura de planos, donde las diferentes partes de la aplicación se separan en planos individuales, como auth_blueprint, Survey_blueprint, Dashboard_blueprint y perfil_blueprint. Cada plano maneja rutas y funcionalidades específicas relacionadas con su propósito.
La aplicación utiliza una base de datos PostgreSQL para almacenar información del usuario, datos de agentes, encuestas y plazos. Los modelos de bases de datos se definen utilizando Flask-SQLAlchemy, una extensión que proporciona capacidades ORM (Object-Relational Mapping) para interactuar con la base de datos.
La autenticación de usuario se implementa mediante Flask-Login, que maneja el registro de usuario, el inicio de sesión y la administración de sesiones. Los usuarios pueden registrar una cuenta, iniciar sesión y actualizar la información de su perfil.
La aplicación se integra con la API OpenAI para generar datos de agentes y realizar encuestas. Utiliza el módulo abe_gpt para procesar datos del agente y generar respuestas basadas en instrucciones definidas por el usuario. El módulo abe_gpt se comunica con la API de OpenAI para generar datos de agentes, modificar atributos de agentes y generar respuestas a encuestas.
La aplicación permite a los usuarios crear y gestionar agentes de IA. Los usuarios pueden agregar agentes base, crear nuevos agentes, editar atributos de agentes y eliminar agentes. Los datos del agente se almacenan en la base de datos y se pueden recuperar y actualizar según sea necesario.
Los usuarios también pueden crear encuestas y realizar reuniones con los agentes de IA. Las encuestas se crean seleccionando agentes y definiendo preguntas. La aplicación utiliza el módulo abe_gpt para generar respuestas a encuestas basadas en los agentes seleccionados y las instrucciones definidas por el usuario. Los resultados de la encuesta se almacenan en la base de datos y el usuario puede verlos.
Los plazos son otra característica de la aplicación, que permite a los usuarios crear versiones modificadas de los agentes base según instrucciones y contexto específicos. Los usuarios pueden seleccionar agentes, proporcionar instrucciones y generar un nuevo período de tiempo con los agentes modificados. Los datos del período de tiempo se almacenan en la base de datos y el usuario puede acceder a ellos y administrarlos.
La aplicación utiliza varias extensiones y bibliotecas de Flask para mejorar su funcionalidad. Flask-Images se utiliza para el manejo y procesamiento de imágenes, aunque su uso en el código actual debe limpiarse y corregirse. Flask-Migrate se utiliza para migraciones de bases de datos, lo que permite una fácil gestión de los cambios en el esquema de la base de datos.
La interfaz de la aplicación está construida utilizando plantillas HTML y diseñada con Tailwind CSS. Las plantillas se representan utilizando Jinja2, un motor de plantillas que permite la generación de contenido dinámico. JavaScript se utiliza para la interactividad del lado del cliente y solicitudes AJAX.
El manejo y el registro de errores se implementan en toda la aplicación para detectar y manejar las excepciones con elegancia. La aplicación registra información relevante y errores con fines de depuración y monitoreo.
En general, la aplicación Semantic Life proporciona una plataforma para que los usuarios creen, administren e interactúen con agentes de inteligencia artificial, realicen encuestas y generen períodos de tiempo basados en instrucciones definidas por el usuario. Aprovecha el marco web Flask, la base de datos PostgreSQL y la API OpenAI para ofrecer su funcionalidad.
esquema_tabla | nombre_tabla | nombre_columna | tipo_datos
--------------+-----------------+---------------+- ---------------------------- público | versión_alambique | núm_versión | carácter variable público | reunión | identificación | público entero | reunión | nombre | carácter variable público | reunión | ID_usuario | público entero | reunión | datos_reunión | json público | reunión | es_público | público booleano | reunión | URL_pública | carácter variable público | vista_página | identificación | público entero | vista_página | página | carácter variable público | vista_página | marca de tiempo | marca de tiempo sin zona horaria pública | encuesta | identificación | público entero | encuesta | nombre | carácter variable público | encuesta | ID_usuario | público entero | encuesta | es_público | público booleano | encuesta | URL_pública | carácter variable público | encuesta | datos_encuesta | json público | plazo | identificación | público entero | plazo | nombre | carácter variable público | plazo | ID_usuario | público entero | plazo | datos_agentes | json público | usuario | identificación | público entero | usuario | nombre de usuario | carácter variable público | usuario | correo electrónico | carácter variable público | usuario | contraseña_hash | carácter variable público | usuario | datos_agentes | json público | usuario | datos_imágenes | json público | usuario | créditos | entero
SELECCIONE créditos DEL usuario DONDE nombre de usuario = 'el_nombre de usuario';
SELECCIONE esquema_tabla, nombre_tabla, nombre_columna, tipo_datos DE esquema_información.columnas DONDE esquema_tabla NO EN ('esquema_información', 'catalogo_pg') ORDENAR POR esquema_tabla, nombre_tabla, posición_ordinal;
----------
check images
SELECT
agent.value->>'id' AS agent_id,
agent.value->>'photo_path' AS photo_path,
LENGTH(COALESCE(u.images_data->>(agent.value->>'photo_path'), '')) AS image_length,
CASE
WHEN LENGTH(COALESCE(u.images_data->>(agent.value->>'photo_path'), '')) > 0
THEN 'Present'
ELSE 'Missing'
END AS image_status
FROM
"user" u,
json_array_elements(u.agents_data) AS agent
WHERE
u.id = 12;
admin.py independiente agrega créditos
SELECCIONE m.id AS id_reunión, m.name AS nombre_reunión, m.agents AS agentes_reunión, m.questions AS preguntas_reunión, m.answers AS respuestas_reunión, m.is_public AS reunión_es_pública, m.public_url AS reunión_public_url, u.id AS id_usuario, u .nombre de usuario AS nombre de usuario_usuario, u.correo electrónico AS correo electrónico de usuario DE la reunión AS m ÚNETE a "usuario" AS u EN m.user_id = u.id DONDE m.id = 24;
ver agentes de plazo
SELECCIONE t.id COMO timeframe_id, t.name COMO timeframe_name, json_array_length(t.agents_data) COMO num_agents, CASO CUANDO t.agents_data ES NULO ENTONCES falso OTRO verdadero FINAL COMO agentes_poblados, CASO CUANDO u.images_data ES NULO ENTONCES falso OTRO verdadero FINAL COMO imágenes_pobladas, json_agg(t.agents_data->>'id') AS nombres_agentes DESDE el período de tiempo t ÚNETE a "usuario" u ON t.user_id = u.id GRUPO POR t.id, t.name, t.agents_data, u.images_data;
SELECCIONE u.id COMO user_id, u.username, CASO CUANDO LONGITUD (t.image_data) > 0 ENTONCES 'Diferente a cero' ELSE 'Cero' FINAL COMO image_data_status, CASO CUANDO LONGITUD (t.thumbnail_image_data) > 0 ENTONCES 'Diferente a cero ' ELSE 'Cero' FINALIZA COMO thumbnail_image_data_status DESDE "usuario" u IZQUIERDA UNIRSE período de tiempo t ON t.user_id = u.id WHERE u.username = 'realityinspector82';