Configuration rapide des agents IA par courrier électronique | → | Déployez des agents de la manière la plus simple pour vos utilisateurs |
Vers, CC et Fw : plusieurs agents | → | Formation simplifiée : il suffit d'envoyer un e-mail |
Des codes courts puissants pour l'IA | → | Collaboration multi-agents en plusieurs étapes pour tous |
Piles incluses, ajoutez simplement des informations d'identification | → | Comprend le client de messagerie et le tableau de bord de l'agent |
ATAT permet une configuration rapide d'agents IA que vous pouvez envoyer par courrier électronique – avec des codes courts simples qui confèrent aux agents des super pouvoirs.
Code source https://github.com/semanticsean/ATAT
Feuille de route : Pour ceux qui souhaitent contribuer au projet, veuillez vous référer à notre guide de contribution pour des informations détaillées sur la manière dont vous pouvez vous impliquer.
v0.4 - Comprend ABE - A/B + sondages électoraux. v0.3 - Version initiale
EXEMPLE : Envoyez un e-mail à une équipe de trois agents IA qui collaborent pour écrire une nouvelle :
Envoyez un e-mail à un agent IA, chargé d'écrire une histoire en trois actes (trois appels API) :
Ce guide vous guide tout au long du déploiement sur Replit, car il est très simple à déployer. Commencez par cette Repl.
Pour une utilisation locale ou sur Github, vous devrez modifier les appels pour prendre des variables d'environnement.
pip install openai==0.28.0
pour la compatibilité.{
"SMTP_SERVER": "",
"IMAP_SERVER": "",
"SMTP_PORT": "",
"SMTP_USERNAME": "",
"SMTP_PASSWORD": "",
"OPENAI_API_KEY": "",
"DOMAIN_NAME": "",
"NOM DE L'ENTREPRISE": ""
}
Pour SMTP_PORT utilisant Google Workspace, utilisez le port 587.
Pour SMTP_PASSWORD, si vous utilisez Google/Gmail, il doit s'agir d'un APP PASSWORD qui nécessite 2FA.
DOMAIN_NAME doit être ce qui suit @ dans une adresse e-mail. Par exemple, « acme.com » comme « [email protected] ».
COMPANY_NAME doit être tel qu'il apparaît par écrit, comme "ACME Corp."
Créer une adresse e-mail d'agent @ : il doit s'agir d'une nouvelle adresse e-mail sans historique.
Alias d'agent : attribuez au moins un alias de messagerie à au moins un agent dans agents/agents.json
. Les autres sont facultatifs et peuvent être appelés avec le shortcode @@(Agent Name), ou peuvent recevoir leur propre alias. @@ est utile si vous souhaitez plus d'agents que ce que votre serveur de messagerie prend en charge comme alias. Par exemple, Google Workspace est limité à 25, mais vous pouvez déployer des centaines de modèles d'agent accessibles via le shortcode @@.
Voir /tools/testing_emails.md pour les e-mails avec lesquels tester.
IMPORTANT : Vous devrez peut-être ajouter le domaine et/ou les adresses e-mail à la liste blanche.
CRÉEZ UN NOUVEL EMAIL À UTILISER AVEC ATAT. NE CONNECTEZ PAS LES COMPTES EXISTANTS. ATAT est réactif et vous pouvez envoyer des e-mails involontaires si vous n'avez pas indexé correctement l'historique. Créez un nouveau compte exclusivement pour l'utilisation d'ATAT.
ATAT est un client de messagerie qui héberge des agents IA qui répondent aux e-mails, vous pouvez donc leur envoyer des e-mails directement, leur mettre en copie ou leur envoyer des e-mails. ATAT est conçu pour démocratiser l'utilisation de l'IA, en permettant la création rapide d'une « société » d'agents IA en quelques minutes, le pilotage étant géré par courrier électronique. Cela signifie que la formation est aussi simple que de fournir un nouvel e-mail à transférer ou à mettre en copie. Cette approche exploite la lenteur inhérente du courrier électronique pour obtenir des réponses IA réfléchies et complètes. Cela ouvre également la voie à la réflexion « MoE » ou « CoE » pour les normes.
Un autre point fort du courrier électronique est sa lenteur. Comme démontré dans les @@ et !detail! des codes courts, des composants multi-passes (appels multi-API) peuvent être intégrés et le temps nécessaire pour exécuter tous les appels, qu'il s'agisse de minutes ou même d'heures, est normal pour le courrier électronique.
!detail
, !summarize
et !ff
. Utilisez new_agent.py
pour générer de nouveaux agents avec des personnages détaillés et des images générées par DALL-E.
cards.py
alimente un serveur Flask présentant un tableau de bord de tous les agents pour un accès facile.
Améliorez vos interactions par e-mail avec notre système avancé de shortcode. Conçus pour une intégration transparente dans le contenu des e-mails, ces codes courts déclenchent des fonctionnalités spécialisées au sein de la plateforme ATAT, permettant un engagement dynamique des agents et une manipulation du contenu directement via vos e-mails. Explorez les capacités et l'utilisation de chaque shortcode pour exploiter tout le potentiel d'ATAT pour vos communications par courrier électronique.
@@
@@
pour envoyer des e-mails à plusieurs agents simultanément, favorisant ainsi une réponse collaborative multi-agents. Cette fonctionnalité est inestimable pour les scénarios nécessitant la contribution de diverses personnalités de l’IA.@@(agent name)
ou @@.creator
dans votre e-mail, suivi d'identifiants d'agent spécifiques ou d'instructions de création. Cette commande indique à ATAT d'engager les agents désignés dans le processus de réponse.E-mail de test
devatlas - quelle est la question la plus importante à laquelle les candidats à une subvention doivent répondre lorsqu'ils rédigent des pitch decks de startup ?
@@(castor) quelles startups aimes-tu ?
@@(Nova) qu'en penses-tu ?
@@(Orion) qu'en penses-tu ?
@@(Nébuleuse) qu'en penses-tu ?
@@(Altaïr) qu'en penses-tu ?
@@.creator
@@.creator
génère instantanément de nouveaux personnages d'agent, offrant une personnalisation à la volée pour s'adapter aux besoins évolutifs de la conversation.@@.creator(Embody an agent...)
avec des spécifications de personnalité détaillées. Assurez-vous que « Embody » est présent pour activer la fonction de création, signalant à ATAT de créer et d'introduire un nouveau personnage d'agent en fonction de vos instructions.E-mail de test
Je travaille sur un nouveau projet créatif et j'ai besoin d'un jeu de rôle. Veuillez rendre cet agent et lui demander de répondre à la question ci-dessous.
@@.creator(Incarnez un vampire espiègle qui est ami avec un dauphin dans le style d'un livre pour enfants qui parle avec une voix de vampire comique.) !
M. Vampire, quel est votre jeu préféré ?
Detail
Detail
décompose les blocs de texte étendus en segments gérables, optimisant ainsi le traitement et la génération de réponses.!detail_start!
et !detail_stop!
marqueurs. ATAT segmente automatiquement le contenu pour une gestion efficace. Utilisez '!split!' pour diviser les appels API/engager le multipass.!detail_start! introduction : nous sommes en 2050 et le voyage dans le temps synthétique piloté par l'IA est facilement possible !split ! nous rencontrons notre protagoniste, en détail !split! nous rencontrons notre antagoniste, en détail !split! on voit le premier conflit entre le protagoniste et l'antagoniste, le premier acte se termine !split! le deuxième acte commence avec un nouveau joueur, un intérêt romantique qui n'a pas encore été mentionné !split! le deuxième acte a un conflit principal !split! le point culminant arrive !split! la résolution n'arrive pas encore !split! maintenant la résolution arrive !detail_stop!
Summarize
Summarize
condense le contenu détaillé en brefs résumés, personnalisables via des modificateurs spécifiques pour s'adapter à l'orientation et au style prévus de votre résumé.!summarize!
, en ajoutant des modificateurs si nécessaire pour affiner la sortie récapitulative.(Cette fonctionnalité est encore plus boguée que d'autres.)
VOIR /tools/testing_emails.md pour tester les scripts - trop long pour tenir ici.
!summarize.json!
, !summarize.marketing!
, ou !summarize.budget!
pour demander à ATAT de rédiger des résumés qui correspondent à vos besoins, que ce soit au format JSON, en langage marketing ou en contenu axé sur le budget.Tirez parti de ces codes courts pour rationaliser vos interactions par e-mail, garantissant ainsi une communication efficace et efficiente avec et entre vos agents IA.
ABE (A/B+Election) - Présentation de l'outil d'interrogation d'agents ABE signifie A/B+Election, un outil sophistiqué conçu pour faciliter l'interrogation d'agents intelligents dans divers scénarios, allant des processus de prise de décision à la collecte d'opinions et au-delà. Construit sur la base de Flask, ABE s'intègre parfaitement aux technologies Web pour offrir une expérience dynamique et interactive aux administrateurs et aux participants.
Fonctionnalités Gestion des agents : gérez facilement une liste d'agents, chacun avec des identifiants et des attributs uniques. ABE permet la spécification détaillée des agents, y compris des mots-clés et des images personnalisés, pour améliorer l'expérience de sondage.
Sondage dynamique : effectuez des tests A/B ou des élections parmi les agents avec des questions et des instructions personnalisées. Cette fonctionnalité permet aux chercheurs et aux développeurs de recueillir des informations nuancées sur les préférences ou les décisions des agents.
Authentification par e-mail : un système d'authentification sécurisé qui utilise la confirmation par e-mail pour la validation de l'utilisateur. Cela garantit que seuls les participants autorisés peuvent contribuer au processus de vote.
Gestion des sessions : avec ABE, les sessions sont identifiées et gérées de manière unique, permettant une approche structurée de la collecte et de l'analyse des données. Chaque session peut être personnalisée avec des questions, des instructions et des sélections d'agents spécifiques.
Tableau de bord interactif : un tableau de bord Web fournit une interface centralisée pour configurer les sondages, visualiser les sélections d'agents et lancer des sessions. Le tableau de bord améliore l'expérience utilisateur, facilitant la navigation dans le processus d'interrogation.
Sortie personnalisable : générez et personnalisez une sortie en fonction des résultats de l'interrogation. ABE prend en charge la création de rapports détaillés, de visualisations et de résumés, répondant à un large éventail de besoins d'analyse.
Sécurité et confidentialité : conçu dans un souci de sécurité, ABE met en œuvre les meilleures pratiques pour protéger les données des utilisateurs et garantir l'intégrité du processus de sondage. Les sessions et les transmissions de données sont traitées de manière sécurisée, dans le respect de la confidentialité.
Mise en route Configuration et installation : commencez par configurer votre environnement Python et installez Flask ainsi que les autres dépendances nécessaires. ABE nécessite Python 3.6 ou version ultérieure pour une compatibilité ascendante.
Configurer les agents : remplissez agents.json avec les informations de vos agents, y compris les noms, les attributs et les images. Ce fichier sert de base de données pour les agents participant aux sondages.
Lancez l'application : exécutez abe.py pour démarrer le serveur Flask. Accédez à l'URL fournie pour accéder au tableau de bord ABE.
Créez un sondage : utilisez le tableau de bord pour configurer votre sondage, y compris les questions, les agents à impliquer et les instructions personnalisées. Chaque sondage peut être adapté pour répondre à des besoins spécifiques de recherche ou de prise de décision.
Distribuez et collectez les réponses : une fois votre sondage en ligne, les participants autorisés peuvent interagir avec la plateforme, en fournissant leurs réponses et leurs opinions. ABE gère la collecte et l'organisation de ces données en temps réel.
Analyser les résultats : une fois le sondage terminé, ABE facilite l'analyse des résultats via son tableau de bord. Exportez des données, générez des rapports et obtenez des informations à partir des réponses agrégées.
Cas d'utilisation Le cadre polyvalent d'ABE le rend adapté à une variété d'applications, notamment, mais sans s'y limiter :
Étude de marché : comprenez les préférences des consommateurs ou prédisez les tendances du marché en interrogeant un groupe d'agents représentatifs. Aide à la décision : Facilitez les processus de prise de décision au sein des organisations en recueillant et en analysant les opinions des agents. Recherche universitaire : mener des études et des expériences impliquant des modèles et des simulations basés sur des agents. Conclusion ABE offre une plateforme puissante et flexible pour interroger les agents dans de nombreux contextes. En combinant facilité d'utilisation avec un ensemble robuste de fonctionnalités, ABE permet aux utilisateurs de collecter, d'analyser et d'exploiter des données de manière innovante. Que ce soit pour la recherche, la prise de décision ou l’analyse de marché, ABE fournit les outils nécessaires pour exploiter l’intelligence collective des agents.
contribute.md
.ATAT est sous licence MIT. Reportez-vous au fichier LICENSE pour plus de détails.
@@ et ATAT sont des marques déposées de Semantic Life, Copyright 2024. Tous droits réservés.
Google / Google Workspace (TM) Google.
psql -h nom d'hôte -U nom d'utilisateur -d nom de base de données SET ralenti_in_transaction_session_timeout = '15min'; psql -d $DB_NAME -U $DB_USER -W $DB_PASS flask db init # Nécessaire uniquement la première fois pour configurer le répertoire des migrations flask db migrate -m "Modèle PageView ajouté" flask db update
Vie sémantique - Tableau de bord des agents IA
Bienvenue dans Semantic Life - Tableau de bord des agents IA ! Cet outil puissant vous permet de créer, gérer et interagir avec des agents IA dans une interface Web conviviale. Avec des fonctionnalités telles que la création d’agents, la gestion des délais, l’organisation de réunions et la réalisation d’enquêtes, vous pouvez tirer parti de la puissance de l’IA pour obtenir des informations précieuses et prendre des décisions éclairées. Caractéristiques
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.
Conditions préalables
Avant d'exécuter Semantic Life - AI Agent Dashboard, assurez-vous de disposer des éléments suivants :
Python 3.x installed
OpenAI API key
Required Python packages (listed in requirements.txt)
Installation
Clone the repository:
frapper
clone git https://github.com/your-username/semantic-life.git
Install the required Python packages:
frapper
pip install -r exigences.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:
frapper
mise à niveau de la base de données du flacon
Start the application:
frapper
application python.py
Access the application in your web browser at http://localhost:5000.
Usage
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.
Contribuer
Les contributions au tableau de bord Semantic Life - AI Agent sont les bienvenues ! Si vous rencontrez des problèmes ou avez des suggestions d'améliorations, veuillez ouvrir un problème ou soumettre une pull request sur le référentiel GitHub. Licence
Ce projet est sous licence MIT. Contact
Pour toute demande de renseignements ou commentaires, veuillez nous contacter à [email protected].
Profitez de l'utilisation de Semantic Life - AI Agent Dashboard pour libérer le potentiel des agents IA et obtenir des informations précieuses !
Ouvrez un terminal ou une invite de commande et accédez au répertoire de votre projet. Exécutez la commande suivante pour démarrer le shell Flask : flas
coquille de flacon
à partir des modèles importer l'utilisateur, base de données
utilisateur = User.query.filter_by(username='username').first()
utilisateur.token_balance = 1000
db.session.commit()
imprimer (user.token_balance)
sortie()
flask db migrate -m "Crédits utilisateur ajoutés" mise à niveau de flask db
pip install 'c'est dangereux <2.0'
Certainement! Voici une description technique de l'application pour une autre IA :
L'application Semantic Life est une application Web construite à l'aide du framework Web Flask en Python. Il permet aux utilisateurs de créer et de gérer des agents IA, de mener des enquêtes et de générer des délais basés sur des instructions définies par l'utilisateur.
L'application suit une architecture de modèle, dans laquelle différentes parties de l'application sont séparées en modèles individuels, tels que auth_blueprint, Survey_blueprint, Dashboard_blueprint et profile_blueprint. Chaque plan gère des itinéraires et des fonctionnalités spécifiques liés à son objectif.
L'application utilise une base de données PostgreSQL pour stocker les informations sur les utilisateurs, les données des agents, les enquêtes et les délais. Les modèles de base de données sont définis à l'aide de Flask-SQLAlchemy, une extension qui fournit des fonctionnalités ORM (Object-Relational Mapping) pour interagir avec la base de données.
L'authentification des utilisateurs est implémentée à l'aide de Flask-Login, qui gère l'enregistrement, la connexion et la gestion des sessions des utilisateurs. Les utilisateurs peuvent créer un compte, se connecter et mettre à jour les informations de leur profil.
L'application s'intègre à l'API OpenAI pour générer des données d'agent et mener des enquêtes. Il utilise le module abe_gpt pour traiter les données de l'agent et générer des réponses basées sur des instructions définies par l'utilisateur. Le module abe_gpt communique avec l'API OpenAI pour générer des données d'agent, modifier les attributs d'agent et générer des réponses à l'enquête.
L'application permet aux utilisateurs de créer et de gérer des agents IA. Les utilisateurs peuvent ajouter des agents de base, créer de nouveaux agents, modifier les attributs d'agent et supprimer des agents. Les données de l'agent sont stockées dans la base de données et peuvent être récupérées et mises à jour selon les besoins.
Les utilisateurs peuvent également créer des enquêtes et organiser des réunions avec les agents IA. Les enquêtes sont créées en sélectionnant des agents et en définissant des questions. L'application utilise le module abe_gpt pour générer des réponses à l'enquête basées sur les agents sélectionnés et les instructions définies par l'utilisateur. Les résultats de l'enquête sont stockés dans la base de données et peuvent être consultés par l'utilisateur.
Les délais sont une autre fonctionnalité de l'application, permettant aux utilisateurs de créer des versions modifiées des agents de base en fonction d'instructions et d'un contexte spécifiques. Les utilisateurs peuvent sélectionner des agents, fournir des instructions et générer un nouveau délai avec les agents modifiés. Les données temporelles sont stockées dans la base de données et peuvent être consultées et gérées par l'utilisateur.
L'application utilise diverses extensions et bibliothèques Flask pour améliorer ses fonctionnalités. Flask-Images est utilisé pour la gestion et le traitement des images, bien que son utilisation dans le code actuel doive être nettoyée et corrigée. Flask-Migrate est utilisé pour les migrations de bases de données, permettant une gestion facile des modifications du schéma de base de données.
L'interface de l'application est construite à l'aide de modèles HTML et stylisée avec Tailwind CSS. Les modèles sont rendus à l'aide de Jinja2, un moteur de modèles qui permet la génération de contenu dynamique. JavaScript est utilisé pour l'interactivité côté client et les requêtes AJAX.
La gestion des erreurs et la journalisation sont mises en œuvre dans toute l'application pour détecter et gérer les exceptions avec élégance. L'application enregistre les informations et erreurs pertinentes à des fins de débogage et de surveillance.
Dans l'ensemble, l'application Semantic Life fournit une plate-forme permettant aux utilisateurs de créer, gérer et interagir avec des agents d'IA, mener des enquêtes et générer des délais basés sur des instructions définies par l'utilisateur. Il exploite le framework Web Flask, la base de données PostgreSQL et l'API OpenAI pour fournir ses fonctionnalités.
schéma_table | nom_table | nom_colonne | type_données
---------+-----------------+---------------+- ---------------------------- publique | alambic_version | numéro_version | caractère variable public | réunion | identifiant | entier public | réunion | nom | caractère variable public | réunion | identifiant_utilisateur | entier public | réunion | data_réunion | json public | réunion | est_public | booléen public | réunion | URL_publique | caractère variable public | vue_page | identifiant | entier public | vue_page | page | caractère variable public | vue_page | horodatage | horodatage sans fuseau horaire public | enquête | identifiant | entier public | enquête | nom | caractère variable public | enquête | identifiant_utilisateur | entier public | enquête | est_public | booléen public | enquête | URL_publique | caractère variable public | enquête | données_enquête | json public | délai | identifiant | entier public | délai | nom | caractère variable public | délai | identifiant_utilisateur | entier public | délai | agents_data | json public | utilisateur | identifiant | entier public | utilisateur | nom d'utilisateur | caractère variable public | utilisateur | courrier électronique | caractère variable public | utilisateur | mot de passe_hash | caractère variable public | utilisateur | agents_data | json public | utilisateur | images_données | json public | utilisateur | crédits | entier
SELECT crédits FROM user WHERE username = 'the_username';
SELECT schéma_table, nom_table, nom_colonne, type_données FROM information_schema.columns WHERE schéma_table NOT IN ('information_schema', 'pg_catalog') ORDER BY schéma_table, nom_table, position_ordinale ;
----------
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 autonome ajoute des crédits
SELECT m.id AS meeting_id, m.name AS meeting_name, m.agents AS meeting_agents, m.questions AS meeting_questions, m.answers AS meeting_answers, m.is_public AS meeting_is_public, m.public_url AS meeting_public_url, u.id AS user_id, u .username AS user_username, u.email AS user_email FROM réunion AS m JOIN "user" AS u ON m.user_id = u.id OÙ m.id = 24;
voir les agents de délais
SELECT t.id AS timeframe_id, t.name AS timeframe_name, json_array_length(t.agents_data) AS num_agents, CAS QUAND t.agents_data EST NULL ALORS false ELSE true END AS agents_populated, CAS QUAND u.images_data EST NULL ALORS false ELSE true END AS images_populated, json_agg(t.agents_data->>'id') AS nom_agent FROM période t JOIN "user" u ON t.user_id = u.id GROUP BY t.id, t.name, t.agents_data, u.images_data;
SELECT u.id AS user_id, u.username, CASE WHEN LENGTH(t.image_data) > 0 ALORS 'Différent de zéro' ELSE 'Zero' END AS image_data_status, CASE WHEN LENGTH(t.thumbnail_image_data) > 0 ALORS 'Différent de zéro ' ELSE 'Zéro' END AS thumbnail_image_data_status FROM "user" u GAUCHE JOIN période t ON t.user_id = u.id WHERE u.username = 'realityinspector82';