Configuração rápida para agentes de IA por e-mail | → | Implante agentes da maneira mais fácil para seus usuários |
Para, CC e Fw: vários agentes | → | Treinamento simplificado: apenas e-mail |
Códigos de acesso poderosos para IA | → | Colaboração multiagente em várias etapas para todos |
Baterias incluídas, basta adicionar credenciais | → | Inclui cliente de e-mail e painel do agente |
O ATAT permite a configuração rápida de agentes de IA para os quais você pode enviar e-mails - com códigos de acesso simples que dão superpoderes aos agentes.
Código-fonte https://github.com/semanticsean/ATAT
Roteiro: Para aqueles interessados em contribuir para o projeto, consulte nosso guia de contribuições para obter informações detalhadas sobre como você pode se envolver.
v0.4 - Inclui ABE - A/B + votação eleitoral. v0.3 - Versão inicial
EXEMPLO: Envie um e-mail para uma equipe de três agentes de IA que colaboram para escrever um conto:
Envie um e-mail para um agente de IA, instruído a escrever uma história em três atos (três chamadas de API):
Este guia orienta você na implantação no Replit, porque é muito fácil de implantar. Comece com esta Repl.
Para usar localmente ou no Github, você terá que alterar as chamadas para receber env vars.
pip install openai==0.28.0
para compatibilidade.{
"SMTP_SERVER": "",
"IMAP_SERVER": "",
"SMTP_PORT": "",
"SMTP_USERNAME": "",
"SMTP_PASSWORD": "",
"OPENAI_API_KEY": "",
"DOMAIN_NAME": "",
"NOME DA EMPRESA": ""
}
Para SMTP_PORT usando o Google Workspace, use a porta 587.
Para SMTP_PASSWORD, se você estiver usando Google/Gmail, ela precisa ser uma APP PASSWORD que requer 2FA.
DOMAIN_NAME deve ser o que segue @ em um endereço de e-mail. Por exemplo, "acme.com" como "[email protected]".
COMPANY_NAME deve ser como aparece por escrito, como "ACME Corp."
Crie um endereço de e-mail do agente@: deve ser um novo endereço de e-mail sem histórico.
Aliases de agente: atribua pelo menos um alias de e-mail para pelo menos um agente em agents/agents.json
. O restante é opcional e pode ser chamado com o shortcode @@(Nome do Agente) ou pode receber seu próprio alias. @@ é útil se você quiser mais agentes do que o seu servidor de e-mail suporta como aliases. Por exemplo, o Google Workspace limita a 25, mas você pode implantar centenas de modelos de agentes acessíveis por meio do código de acesso @@.
Consulte /tools/testing_emails.md para e-mails para testar.
IMPORTANTE: Pode ser necessário colocar o domínio e/ou endereços de e-mail na lista de permissões.
FAÇA UM NOVO E-MAIL PARA USAR COM ATAT. NÃO CONECTE CONTAS EXISTENTES. ATAT é reativo e você pode enviar e-mails não intencionais se não tiver indexado o histórico corretamente. Crie uma nova conta exclusivamente para uso do ATAT.
ATAT é um cliente de e-mail que hospeda agentes de IA que respondem a e-mails, para que você possa enviá-los diretamente por e-mail, copiá-los ou enviar e-mails para eles. O ATAT foi projetado para democratizar o uso de IA, permitindo a configuração rápida de uma "empresa" de agente de IA em minutos, com a direção feita por e-mail. Isso significa que o treinamento é tão simples quanto fornecer um novo e-mail para encaminhar ou enviar por cópia. Essa abordagem aproveita a lentidão inerente do e-mail para obter respostas de IA abrangentes e ponderadas. Também abre o pensamento “MoE” ou “CoE” para os normies.
Outro ponto forte do e-mail é que ele é lento. Conforme demonstrado em @@ e !detail! códigos de acesso, componentes multi-pass (chamada multi-API) podem ser integrados e o tempo que leva para executar todas as chamadas, sejam minutos ou até horas, é normal para e-mail.
!detail
, !summarize
e !ff
. Utilize new_agent.py
para gerar novos agentes com personas detalhadas e imagens geradas por DALL-E.
cards.py
alimenta um servidor Flask apresentando um painel de todos os agentes para fácil acesso.
Aprimore suas interações por e-mail com nosso sistema avançado de shortcode. Projetados para integração perfeita ao conteúdo de e-mail, esses códigos de acesso acionam funcionalidades especializadas na plataforma ATAT, permitindo o envolvimento dinâmico do agente e a manipulação de conteúdo diretamente por meio de seus e-mails. Explore os recursos e o uso de cada shortcode para aproveitar todo o potencial do ATAT para suas comunicações por e-mail.
@@
@@
para enviar e-mails para vários agentes simultaneamente, promovendo uma resposta colaborativa de vários agentes. Esse recurso é inestimável para cenários que exigem informações de diversas personalidades de IA.@@(agent name)
ou @@.creator
em seu e-mail, seguido de identificadores de agente específicos ou instruções de criação. Este comando instrui o ATAT a envolver os agentes designados no processo de resposta.Testando e-mail
devatlas - qual é a pergunta mais importante que os candidatos a subsídios devem responder ao escrever apresentações de argumentos de venda para startups?
@@(castor) de quais startups você gosta?
@@(Nova) o que você acha?
@@(Orion) o que você acha?
@@(Nebulosa) o que você acha?
@@(Altaïr) o que você acha?
@@.creator
@@.creator
gera instantaneamente novas personas de agente, oferecendo personalização instantânea para se adaptar às necessidades crescentes da conversa.@@.creator(Embody an agent...)
com especificações detalhadas de personalidade. Certifique-se de que "Embody" esteja presente para ativar a função de criador, sinalizando à ATAT para criar e apresentar uma nova persona de agente com base em suas instruções.Testando e-mail
Estou trabalhando em um novo projeto criativo e preciso de alguma interpretação. Por favor, renderize este agente e faça com que ele responda à pergunta abaixo.
@@.creator(Incorpore um vampiro brincalhão que é amigo de um golfinho no estilo de um livro infantil que fala com uma voz cômica de vampiro.)!
Sr. Vampiro, qual é o seu jogo favorito?
Detail
Detail
divide extensos blocos de texto em segmentos gerenciáveis, otimizando o processamento e a geração de respostas.!detail_start!
e !detail_stop!
marcadores. ATAT segmenta automaticamente o conteúdo para um manuseio eficiente. Use '!dividir!' para dividir as chamadas de API/envolver multipass.!detalhe_start! introdução: estamos no ano de 2050 e a viagem no tempo sintética conduzida por IA é facilmente possível! conhecemos nosso protagonista, em detalhes !split! conhecemos nosso antagonista, em detalhes! vemos o primeiro conflito entre protagonista e antagonista, o primeiro ato termina !split! o segundo ato começa com um novo jogador, um interesse romântico que ainda não foi mencionado !split! o segundo ato tem um conflito principal !split! o clímax acontece! a resolução ainda não aconteceu !split! agora a resolução acontece !detail_stop!
Summarize
Summarize
condensa conteúdo detalhado em breves resumos, personalizáveis por meio de modificadores específicos para se adequar ao foco e estilo pretendidos do seu resumo.!summarize!
, adicionando modificadores conforme necessário para refinar a saída do resumo.(Esse recurso é ainda mais problemático do que outros.)
VEJA /tools/testing_emails.md para testar scripts - muito longo para caber aqui.
!summarize.json!
, !summarize.marketing!
ou !summarize.budget!
para direcionar a ATAT na elaboração de resumos que se alinhem com seus requisitos, seja em formato JSON, linguagem de marketing ou conteúdo com foco no orçamento.Aproveite esses códigos de acesso para agilizar suas interações por e-mail, garantindo uma comunicação eficiente e eficaz com e entre seus agentes de IA.
ABE (A/B+Election) - Visão geral da ferramenta de pesquisa de agentes ABE significa A/B+Election, uma ferramenta sofisticada projetada para facilitar a pesquisa de agentes inteligentes em vários cenários, desde processos de tomada de decisão até coleta de opinião e muito mais. Construído com base no Flask, o ABE integra-se perfeitamente com tecnologias da web para oferecer uma experiência dinâmica e interativa para administradores e participantes.
Recursos Gerenciamento de agentes: gerencie facilmente uma lista de agentes, cada um com identificadores e atributos exclusivos. ABE permite a especificação detalhada de agentes, incluindo palavras-chave e imagens personalizadas, para aprimorar a experiência de votação.
Pesquisa Dinâmica: Realize testes A/B ou eleições entre agentes com perguntas e instruções personalizadas. Esse recurso permite que pesquisadores e desenvolvedores reúnam insights diferenciados sobre as preferências ou decisões dos agentes.
Autenticação de email: um sistema de autenticação seguro que utiliza confirmação de email para validação do usuário. Isso garante que apenas participantes autorizados possam contribuir para o processo de votação.
Gerenciamento de Sessões: Com o ABE, as sessões são identificadas e gerenciadas de forma exclusiva, permitindo uma abordagem estruturada para coleta e análise de dados. Cada sessão pode ser personalizada com perguntas, instruções e seleções de agentes específicas.
Painel interativo: um painel baseado na web fornece uma interface centralizada para configurar pesquisas, visualizar seleções de agentes e iniciar sessões. O painel aprimora a experiência do usuário, facilitando a navegação pelo processo de votação.
Saída personalizável: gere e personalize a saída com base nos resultados da pesquisa. ABE oferece suporte à criação de relatórios detalhados, visualizações e resumos, atendendo a uma ampla gama de necessidades de análise.
Segurança e Privacidade: Construído com a segurança em mente, o ABE implementa as melhores práticas para proteger os dados do usuário e garantir a integridade do processo de votação. As sessões e as transmissões de dados são tratadas de forma segura, levando em consideração a privacidade e a confidencialidade.
Primeiros passos, configuração e instalação: comece configurando seu ambiente Python e instalando o Flask junto com outras dependências necessárias. ABE requer Python 3.6 ou mais recente para compatibilidade com versões anteriores.
Configurar agentes: preencha agents.json com informações de seus agentes, incluindo nomes, atributos e imagens. Este arquivo serve como banco de dados para os agentes participantes das pesquisas.
Inicie o aplicativo: Execute abe.py para iniciar o servidor Flask. Navegue até o URL fornecido para acessar o painel ABE.
Crie uma enquete: use o painel para configurar sua enquete, incluindo perguntas, agentes a serem envolvidos e instruções personalizadas. Cada pesquisa pode ser adaptada para atender às necessidades específicas de pesquisa ou tomada de decisão.
Distribuir e coletar respostas: assim que sua enquete estiver no ar, os participantes autorizados poderão interagir com a plataforma, fornecendo suas respostas e opiniões. ABE gerencia a coleta e organização desses dados em tempo real.
Analisar Resultados: Com a votação concluída, a ABE facilita a análise dos resultados através do seu dashboard. Exporte dados, gere relatórios e obtenha insights das respostas agregadas.
Casos de uso A estrutura versátil do ABE o torna adequado para uma variedade de aplicações, incluindo, mas não se limitando a:
Pesquisa de Mercado: Entenda as preferências do consumidor ou preveja tendências de mercado pesquisando um grupo de agentes representativos. Apoio à decisão: Facilite os processos de tomada de decisão nas organizações, reunindo e analisando as opiniões dos agentes. Pesquisa Acadêmica: Realize estudos e experimentos envolvendo modelos e simulações baseadas em agentes. Conclusão ABE oferece uma plataforma poderosa e flexível para a pesquisa de agentes em vários contextos. Ao combinar facilidade de uso com um conjunto robusto de recursos, o ABE capacita os usuários a coletar, analisar e aproveitar dados de maneiras inovadoras. Seja para pesquisa, tomada de decisão ou análise de mercado, a ABE fornece as ferramentas necessárias para aproveitar a inteligência coletiva dos agentes.
contribute.md
.ATAT é licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.
@@ e ATAT são marcas registradas da Semantic Life, Copyright 2024. Todos os direitos reservados.
Google / Google Workspace (TM) Google.
psql -h nome do host -U nome de usuário -d nome do banco de dados SET idle_in_transaction_session_timeout = '15min'; psql -d $DB_NAME -U $DB_USER -W $DB_PASS flask db init # Só necessário na primeira vez para configurar o diretório de migrações flask db Migrate -m "Modelo PageView adicionado" flask db upgrade
Vida Semântica - Painel do Agente AI
Bem-vindo ao Semantic Life - Painel do Agente AI! Esta ferramenta poderosa permite criar, gerenciar e interagir com agentes de IA em uma interface web amigável. Com recursos como criação de agentes, gerenciamento de prazos, organização de reuniões e realização de pesquisas, você pode aproveitar o poder da IA para obter insights valiosos e tomar decisões 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.
Pré-requisitos
Antes de executar o Semantic Life - AI Agent Dashboard, certifique-se de ter o seguinte:
Python 3.x installed
OpenAI API key
Required Python packages (listed in requirements.txt)
Instalação
Clone the repository:
festa
git clone https://github.com/your-username/semantic-life.git
Install the required Python packages:
festa
pip instalar -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:
festa
atualização do banco de dados do frasco
Start the application:
festa
aplicativo 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.
Contribuindo
Contribuições para o Semantic Life - AI Agent Dashboard são bem-vindas! Se você encontrar algum problema ou tiver sugestões de melhorias, abra um problema ou envie uma solicitação pull no repositório GitHub. Licença
Este projeto está licenciado sob a licença MIT. Contato
Para qualquer dúvida ou feedback, entre em contato conosco em [email protected].
Aproveite o uso do Semantic Life - AI Agent Dashboard para desbloquear o potencial dos agentes de IA e obter insights valiosos!
Abra um terminal ou prompt de comando e navegue até o diretório do seu projeto. Execute o seguinte comando para iniciar o shell Flask:flas
invólucro do frasco
de modelos importar usuário, db
usuário = User.query.filter_by(nomedeusuário='nomedeusuário').primeiro()
usuário.token_balance = 1000
db.sessão.commit()
imprimir(usuário.token_balance)
saída()
flask db Migrate -m "Adicionados créditos de usuário" flask db upgrade
pip instalar 'é perigoso <2.0'
Certamente! Aqui está uma descrição técnica do aplicativo para outra IA:
O aplicativo Semantic Life é um aplicativo baseado na web desenvolvido usando a estrutura da web Flask em Python. Ele permite que os usuários criem e gerenciem agentes de IA, conduzam pesquisas e gerem prazos com base em instruções definidas pelo usuário.
O aplicativo segue uma arquitetura de blueprint, onde diferentes partes do aplicativo são separadas em blueprints individuais, como auth_blueprint, survey_blueprint, dashboard_blueprint e profile_blueprint. Cada blueprint lida com rotas e funcionalidades específicas relacionadas à sua finalidade.
O aplicativo usa um banco de dados PostgreSQL para armazenar informações do usuário, dados do agente, pesquisas e prazos. Os modelos de banco de dados são definidos usando Flask-SQLAlchemy, uma extensão que fornece recursos ORM (Mapeamento Objeto-Relacional) para interagir com o banco de dados.
A autenticação do usuário é implementada usando Flask-Login, que trata do registro do usuário, login e gerenciamento de sessão. Os usuários podem registrar uma conta, fazer login e atualizar suas informações de perfil.
O aplicativo se integra à API OpenAI para gerar dados de agentes e realizar pesquisas. Ele usa o módulo abe_gpt para processar dados do agente e gerar respostas com base em instruções definidas pelo usuário. O módulo abe_gpt se comunica com a API OpenAI para gerar dados do agente, modificar atributos do agente e gerar respostas de pesquisas.
O aplicativo permite aos usuários criar e gerenciar agentes de IA. Os usuários podem adicionar agentes base, criar novos agentes, editar atributos de agentes e excluir agentes. Os dados do agente são armazenados no banco de dados e podem ser recuperados e atualizados conforme necessário.
Os usuários também podem criar pesquisas e realizar reuniões com os agentes de IA. As pesquisas são criadas selecionando agentes e definindo perguntas. O aplicativo usa o módulo abe_gpt para gerar respostas de pesquisas com base nos agentes selecionados e nas instruções definidas pelo usuário. Os resultados da pesquisa são armazenados no banco de dados e podem ser visualizados pelo usuário.
Os prazos são outro recurso do aplicativo, permitindo aos usuários criar versões modificadas dos agentes base com base em instruções e contexto específicos. Os usuários podem selecionar agentes, fornecer instruções e gerar um novo prazo com os agentes modificados. Os dados do período são armazenados no banco de dados e podem ser acessados e gerenciados pelo usuário.
O aplicativo utiliza várias extensões e bibliotecas Flask para aprimorar sua funcionalidade. Flask-Images é usado para manipulação e processamento de imagens, embora seu uso no código atual precise ser limpo e corrigido. Flask-Migrate é usado para migrações de banco de dados, permitindo fácil gerenciamento de alterações no esquema do banco de dados.
O frontend do aplicativo é construído usando modelos HTML e estilizado com Tailwind CSS. Os modelos são renderizados usando Jinja2, um mecanismo de modelagem que permite a geração dinâmica de conteúdo. JavaScript é usado para interatividade do lado do cliente e solicitações AJAX.
O tratamento e o registro de erros são implementados em todo o aplicativo para capturar e tratar exceções normalmente. O aplicativo registra informações e erros relevantes para fins de depuração e monitoramento.
No geral, o aplicativo Semantic Life fornece uma plataforma para os usuários criarem, gerenciarem e interagirem com agentes de IA, realizarem pesquisas e gerarem prazos com base em instruções definidas pelo usuário. Ele aproveita a estrutura da web Flask, o banco de dados PostgreSQL e a API OpenAI para fornecer sua funcionalidade.
esquema_tabela | nome_tabela | nome_coluna | tipo_dados
-------------------------+-----------------+---------------+- ---------------------------- público | versão_alambique | número_versão | personagem variando público | reunião | identificação | inteiro público | reunião | nome | personagem variando público | reunião | ID_do_usuário | inteiro público | reunião | dados_reunião | json público | reunião | é_público | público booleano | reunião | url_público | personagem variando público | visualização_página | identificação | inteiro público | visualização_página | página | personagem variando público | visualização_página | carimbo de data/hora | timestamp sem fuso horário público | pesquisa | identificação | inteiro público | pesquisa | nome | personagem variando público | pesquisa | ID_do_usuário | inteiro público | pesquisa | é_público | público booleano | pesquisa | url_público | personagem variando público | pesquisa | dados_da pesquisa | json público | prazo | identificação | inteiro público | prazo | nome | personagem variando público | prazo | ID_do_usuário | inteiro público | prazo | dados_agentes | json público | usuário | identificação | inteiro público | usuário | nome de usuário | personagem variando público | usuário | e-mail | personagem variando público | usuário | senha_hash | personagem variando público | usuário | dados_agentes | json público | usuário | dados_imagens | json público | usuário | créditos | inteiro
SELECT créditos FROM usuário WHERE nomedeusuário = 'the_username';
SELECT table_schema, table_name, column_name, data_type FROM information_schema.columns WHERE table_schema NOT IN ('information_schema', 'pg_catalog') ORDER BY table_schema, table_name, ordinal_position;
----------
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 autônomo adiciona créditos
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 reunião AS m JOIN "usuário" AS u ON m.user_id = u.id ONDE m.id = 24;
veja prazo agentes
SELECT t.id AS timeframe_id, t.name AS timeframe_name, json_array_length(t.agents_data) AS num_agents, CASE WHEN t.agents_data IS NULL THEN false ELSE true END AS agents_populated, CASE WHEN u.images_data IS NULL THEN false ELSE true END AS imagens_preenchidas, json_agg(t.agents_data->>'id') AS agent_names FROM timeframe t JOIN "usuário" 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 THEN 'Diferente de zero' ELSE 'Zero' END AS image_data_status, CASE WHEN LENGTH(t.thumbnail_image_data) > 0 THEN 'Diferente de zero ' ELSE 'Zero' END AS thumbnail_image_data_status FROM "usuário" à ESQUERDA Período de JOIN t ON t.user_id = u.id WHERE u.username = 'realityinspector82';