透過電子郵件快速設定 AI 代理 | → | 以最簡單的方式為您的用戶部署代理 |
收件者、副本和轉發:多個代理 | → | 簡化培訓:只需發送電子郵件 |
強大的 AI 簡碼 | → | 面向所有人的多代理多步驟協作 |
包含電池,只需添加憑證 | → | 包括電子郵件用戶端和代理儀表板 |
ATAT 可以快速設定您可以透過電子郵件發送的 AI 代理程式 - 使用簡單的短代碼即可賦予代理超能力。
原始碼 https://github.com/semanticsean/ATAT
路線圖:對於有興趣為該專案做出貢獻的人,請參閱我們的貢獻指南,以了解如何參與的詳細資訊。
v0.4 - 包括 ABE - A/B + 選舉投票。 v0.3 - 初始版本
範例:向由三名人工智慧代理商組成的團隊發送電子郵件,他們合作撰寫短篇小說:
給一位 AI 代理程式發送電子郵件,指示他分三步驟寫一個故事(三個 API 呼叫):
本指南將引導您完成在 Replit 上的部署,因為它非常容易部署。從這個 Repl 開始。
要在本地或 Github 上使用,您必須更改呼叫以取得環境變數。
pip install openai==0.28.0
進行相容性。{
"SMTP_SERVER": "",
"IMAP_SERVER": "",
"SMTP_PORT": "",
"SMTP_USERNAME": "",
"SMTP_PASSWORD": "",
"OPENAI_API_KEY": "",
"DOMAIN_NAME": "",
“公司名稱”: ””
}
對於使用 Google Workspace 的 SMTP_PORT,請使用連接埠 587。
對於 SMTP_PASSWORD,如果您使用 Google / Gmail,則它需要是需要 2FA 的應用程式密碼。
DOMAIN_NAME 應該是電子郵件地址中 @ 後面的內容。例如,「acme.com」如「[email protected]」。
COMPANY_NAME 應該是書面形式,例如“ACME Corp.”。
建立代理@電子郵件地址:這必須是沒有歷史記錄的新電子郵件地址。
代理別名:在agents/agents.json
中為至少一名代理程式指派至少一個電子郵件別名。其餘的都是可選的,可以使用@@(代理名稱)短代碼調用,或者可以接收自己的別名。如果您想要的代理程式數量多於電子郵件伺服器支援的別名數量,@@ 會很有幫助。例如,Google Workspace 限制為 25 個,但您可以部署數百個可透過 @@ 短代碼存取的代理程式模型。
請參閱 /tools/testing_emails.md 以取得用於測試的電子郵件。
重要提示:您可能需要將網域和/或電子郵件地址列入白名單。
建立一個新電子郵件以與 ATAT 一起使用。不要連接現有帳戶。 ATAT 是反應性的,如果您沒有正確索引歷史記錄,您可能會發送意外的電子郵件。建立一個專供 ATAT 使用的新帳戶。
ATAT 是一個電子郵件用戶端,託管回覆電子郵件的 AI 代理,因此您可以直接向他們發送電子郵件、抄送他們或轉發:電子郵件給他們。 ATAT 旨在使人工智慧的使用民主化,允許在幾分鐘內快速設定人工智慧代理“公司”,並透過電子郵件進行指導。這意味著培訓就像提供新電子郵件轉發或副本一樣簡單。這種方法利用電子郵件固有的緩慢性來進行深思熟慮、全面的人工智慧回應。它也為普通人開啟了「MoE」或「CoE」思維。
電子郵件的另一個優點是速度慢。正如 @@ 和 !detail! 中所演示的那樣可以整合短代碼、多通道(多 API 呼叫)元件,並且運行所有呼叫所需的時間(無論是幾分鐘甚至幾小時)對於電子郵件來說是正常的。
!detail
、 !summarize
和!ff
等短代碼簡化複雜的任務。利用new_agent.py
產生具有詳細角色和 DALL-E 生成映像的新代理程式。
cards.py
為 Flask 伺服器提供支持,展示所有代理的儀表板以方便存取。
使用我們先進的簡碼系統增強您的電子郵件互動。這些短代碼專為無縫整合到電子郵件內容而設計,可觸發 ATAT 平台內的專門功能,從而直接透過電子郵件實現動態代理參與和內容操作。探索每個短代碼的功能和用法,以充分利用 ATAT 進行電子郵件通訊的潛力。
@@
與代理互動@@
短代碼同時向多個代理程式發送電子郵件,從而促進多代理協作回應。對於需要不同人工智慧角色輸入的場景來說,此功能非常寶貴。@@(agent name)
或@@.creator
,後跟特定的代理識別碼或建立說明。此指令提示 ATAT 讓指定代理參與回應過程。測試電子郵件
Devatlas - 資助申請者在撰寫新創公司宣傳資料時要回答的最重要的問題是什麼?
@@(castor) 你喜歡什麼新創公司?
@@(Nova) 你覺得怎麼樣?
@@(獵戶座) 你覺得怎麼樣?
@@(星雲)你覺得怎麼樣?
@@(Altair) 你覺得怎麼樣?
@@.creator
建立動態代理@@.creator
短程式碼可立即產生新的代理角色,提供即時自訂以適應不斷變化的對話需求。@@.creator(Embody an agent...)
。確保存在「體現」以啟動創建者功能,指示 ATAT 根據您的指示製作並引入新的特工角色。測試電子郵件
我正在進行一個新的創意項目,需要一些角色扮演。請提供此代理並讓它回答以下問題。
@@.creator(以兒童讀物風格體現一個頑皮的吸血鬼,他與海豚是朋友,並用滑稽的吸血鬼聲音說話。)!
吸血鬼先生,你最喜歡玩什麼遊戲?
Detail
分塊長格式內容產生請求Detail
短程式碼將大量文字區塊分解為可管理的片段,優化回應的處理和產生。!detail_start!
之間和!detail_stop!
標記。 ATAT 會自動對內容進行分段以進行高效處理。使用“!分割!”拆分 API 呼叫/參與多通道。!detail_start!簡介:現在是 2050 年,人工智慧驅動的合成時間旅行很容易成為可能!我們詳細地見到了我們的主角!我們詳細地見到了我們的對手!我們看到主角和反派之間的第一次衝突,第一幕結束!第二幕以一個新玩家開始,一個尚未被提及的浪漫對象!第二幕有一個主要的衝突!高潮發生!決議還沒發生!現在解決了!
Summarize
總結內容Summarize
短代碼將詳細內容壓縮為簡短摘要,可透過特定修飾符進行自訂,以適合摘要的預期重點和風格。!summarize!
觸發此功能,根據需要添加修飾符以細化摘要輸出。(這個功能比其他功能更容易出錯。)
請參閱 /tools/testing_emails.md 用於測試腳本 - 太長,不適合放在這裡。
!summarize.json!
等修飾符, !summarize.marketing!
,或!summarize.budget!
指導 ATAT 製作符合您要求的摘要,無論是 JSON 格式、行銷語言或以預算為重點的內容。利用這些短代碼來簡化您的電子郵件交互,確保與 AI 代理之間的高效且有效的通訊。
ABE (A/B+Election) - 代理輪詢工具概述 ABE 代表 A/B+Election,是一種複雜的工具,旨在促進各種場景中智慧代理的輪詢,從決策過程到意見收集等。 ABE 建立在 Flask 的基礎上,與 Web 技術無縫集成,為管理員和參與者提供動態的互動體驗。
功能 代理管理:輕鬆管理代理名冊,每個代理程式都有唯一的識別碼和屬性。 ABE 允許對代理商進行詳細規範,包括自訂關鍵字和圖像,以增強投票體驗。
動態輪詢:使用客製化的問題和說明在代理商之間進行 A/B 測試或選舉。此功能使研究人員和開發人員能夠收集有關代理偏好或決策的細緻入微的見解。
電子郵件驗證:利用電子郵件確認進行使用者驗證的安全性身分驗證系統。這確保只有授權的參與者才能參與投票過程。
會話管理:借助 ABE,可以唯一地識別和管理會話,從而可以採用結構化方法進行資料收集和分析。每個會話都可以根據特定問題、說明和代理選擇進行自訂。
互動式儀表板:基於 Web 的儀表板提供了一個集中式介面,用於配置民意調查、視覺化座席選擇和啟動會話。儀表板增強了使用者體驗,讓您更輕鬆地瀏覽投票流程。
可自訂的輸出:根據輪詢結果產生和自訂輸出。 ABE 支援建立詳細報告、視覺化和摘要,滿足廣泛的分析需求。
安全性和隱私:ABE 在建置時考慮到安全性,實施最佳實踐來保護使用者資料並確保輪詢流程的完整性。安全地處理會話和資料傳輸,同時考慮隱私和機密性。
入門設定和安裝:首先設定 Python 環境並安裝 Flask 以及其他必要的依賴項。 ABE 需要 Python 3.6 或更高版本才能向後相容。
配置代理:使用代理程式的資訊填入agents.json,包括名稱、屬性和映像。該文件用作參與投票的代理的資料庫。
啟動應用程式:執行 abe.py 啟動 Flask 伺服器。導航至提供的 URL 以存取 ABE 儀表板。
建立投票:使用儀表板配置您的投票,包括問題、要參與的代理程式和自訂說明。每個民意調查都可以客製化以滿足特定的研究或決策需求。
分發和收集回應:民意調查啟動後,授權參與者就可以與平台互動,提供他們的回覆和意見。 ABE 即時管理這些資料的收集和組織。
分析結果:民意調查完成後,ABE 透過其儀表板促進結果分析。匯出資料、產生報表並從聚合回應中取得見解。
用例 ABE 的多功能框架使其適用於各種應用程序,包括但不限於:
市場研究:透過對一組代表性代理商進行民意調查,了解消費者偏好或預測市場趨勢。決策支援:透過收集和分析代理意見來促進組織內的決策過程。學術研究:進行涉及基於代理的模型和模擬的研究和實驗。結論 ABE 提供了一個強大且靈活的平台,用於跨多種環境對代理商進行輪詢。透過將易用性與一組強大的功能相結合,ABE 使用戶能夠以創新的方式收集、分析和利用數據。無論是研究、決策或市場分析,ABE 都提供了利用代理集體智慧所需的工具。
contribute.md
中列出的已知問題和增強功能。ATAT 根據 MIT 許可證獲得許可。有關詳細信息,請參閱許可證文件。
@@ 和 ATAT 是 Semantic Life 的商標,版權所有 2024。
Google / Google Workspace (TM) 谷歌。
psql -h 主機名稱 -U 使用者名稱 -d 資料庫名稱 SETidle_in_transaction_session_timeout = '15min'; psql -d $DB_NAME -U $DB_USER -W $DB_PASS Flask db init # 只要第一次設定遷移目錄 Flask db migrate -m "Added PageView model" Flask db Upgrade
語意生活 - AI 代理儀表板
歡迎來到語意生活 - AI 代理儀表板!這個強大的工具可讓您在使用者友好的 Web 介面中建立、管理 AI 代理並與之互動。透過代理創建、時間範圍管理、會議組織和調查開展等功能,您可以利用人工智慧的力量來獲得有價值的見解並做出明智的決策。特徵
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.
先決條件
在運行 Semantic Life - AI Agent Dashboard 之前,請確保您具備以下條件:
Python 3.x installed
OpenAI API key
Required Python packages (listed in requirements.txt)
安裝
Clone the repository:
巴什
git 克隆 https://github.com/your-username/semantic-life.git
Install the required Python packages:
巴什
pip install -r 要求.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:
巴什
燒瓶資料庫升級
Start the application:
巴什
蟒蛇應用程式.py
Access the application in your web browser at http://localhost:5000.
用法
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.
貢獻
歡迎為語意生活 - AI 代理儀表板做出貢獻!如果您遇到任何問題或有改進建議,請在 GitHub 儲存庫上提出問題或提交拉取請求。執照
該項目已獲得 MIT 許可證的許可。接觸
如有任何疑問或回饋,請透過 [email protected] 與我們聯繫。
享受使用 Semantic Life - AI 代理儀表板來釋放 AI 代理的潛力並獲得寶貴的見解!
開啟終端機或命令提示字元並導航到您的專案目錄。執行以下命令啟動 Flask shell:flas
燒瓶殼
從模型導入用戶,資料庫
user = User.query.filter_by(username='使用者名稱').first()
使用者.token_balance = 1000
db.session.commit()
列印(用戶.token_balance)
出口()
flask db migrate -m「新增使用者積分」flask db 升級
pip install 'itsdangerous<2.0'
當然!以下是另一個 AI 應用程式的技術描述:
Semantic Life 應用程式是一個基於 Web 的應用程序,使用 Python 中的 Flask Web 框架來建立。它允許用戶創建和管理人工智慧代理、進行調查並根據用戶定義的指令產生時間範圍。
該應用程式遵循藍圖架構,其中應用程式的不同部分被分為單獨的藍圖,例如 auth_blueprint、survey_blueprint、dashboard_blueprint 和 profile_blueprint。每個藍圖處理與其目的相關的特定路線和功能。
該應用程式使用 PostgreSQL 資料庫來儲存使用者資訊、代理資料、調查和時間範圍。資料庫模型是使用 Flask-SQLAlchemy 定義的,Flask-SQLAlchemy 是一個擴展,提供用於與資料庫互動的 ORM(物件關係映射)功能。
使用者驗證是使用 Flask-Login 實現的,它處理使用者註冊、登入和會話管理。用戶可以註冊帳戶、登入並更新個人資料資訊。
該應用程式與 OpenAI API 整合以產生代理資料並進行調查。它使用 abe_gpt 模組來處理代理資料並根據使用者定義的指令產生回應。 abe_gpt 模組與 OpenAI API 通訊以產生代理資料、修改代理屬性並產生調查回應。
該應用程式允許用戶創建和管理人工智慧代理。使用者可以新增基本代理、建立新代理、編輯代理屬性和刪除代理。代理資料儲存在資料庫中,可以根據需要檢索和更新。
用戶還可以建立調查並與人工智慧代理舉行會議。調查是透過選擇代理和定義問題來創建的。該應用程式使用 abe_gpt 模組根據所選代理程式和使用者定義的指令產生調查回應。調查結果儲存在資料庫中,可供使用者查看。
時間範圍是該應用程式的另一個功能,允許使用者根據特定的說明和上下文建立基本代理的修改版本。使用者可以選擇代理、提供說明並使用修改後的代理程式產生新的時間範圍。時間範圍資料儲存在資料庫中,可由使用者存取和管理。
該應用程式利用各種 Flask 擴充功能和函式庫來增強其功能。 Flask-Images 用於影像處理和處理,儘管它在目前程式碼中的使用需要清理和修復。 Flask-Migrate 用於資料庫遷移,可以輕鬆管理資料庫架構變更。
該應用程式的前端是使用 HTML 模板建立的,並使用 Tailwind CSS 進行樣式設定。這些模板使用 Jinja2 進行渲染,Jinja2 是一個允許動態內容產生的模板引擎。 JavaScript 用於客戶端互動和 AJAX 請求。
錯誤處理和日誌記錄在整個應用程式中實現,以優雅地捕獲和處理異常。該應用程式會記錄相關資訊和錯誤,以用於調試和監控目的。
總體而言,Semantic Life 應用程式為使用者提供了一個平台,用於創建、管理人工智慧代理並與之互動、進行調查並根據使用者定義的指令產生時間範圍。它利用 Flask Web 框架、PostgreSQL 資料庫和 OpenAI API 來提供其功能。
表模式 |表名 |列名 |資料類型
--------------+-----------------+----------------+ - ---------------------------- 公眾 | alembic_版本 |版本號 |性格各異的公眾|會議|編號 |公共整數 |會議|名稱 |性格各異的公眾|會議|用戶 ID |公共整數 |會議|會議數據 | json 公共 |會議|是_共 |布爾公共|會議|公共網址 |性格各異的公眾|頁面瀏覽量 |編號 |公共整數 |頁面瀏覽量 |頁 |性格各異的公眾|頁面瀏覽量 |時間戳|沒有時區的時間戳記 public |調查|編號 |公共整數 |調查|名稱 |性格各異的公眾|調查|用戶 ID |公共整數 |調查|是_共 |布爾公共|調查|公共網址 |性格各異的公眾|調查|調查數據 | json 公共 |時間範圍 |編號 |公共整數 |時間範圍 |名稱 |性格各異的公眾|時間範圍 |用戶 ID |公共整數 |時間範圍 |代理數據 | json 公共 |用戶 |編號 |公共整數 |用戶 |使用者名稱 |性格各異的公眾|用戶 |電子郵件 |性格各異的公眾|用戶 |密碼哈希 |性格各異的公眾|用戶 |代理數據 | json 公共 |用戶 |影像資料 | json 公共 |用戶 |學分|整數
從使用者中選擇積分,其中使用者名稱 = '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 獨立添加積分
SELECT m.id AS 會議_id、m.name AS 會議名稱、m.agents AS 會議_代理、m.問題AS 會議_問題、m.answers AS 會議_答案、m.is_public AS 會議_is_public、m. public_url AS 會議_public_url、u.id AS user_id、u .username AS user_username, u.email AS user_email FROM 會議 AS m JOIN "user" AS u ON m.user_id = u.id WHERE m.id = 24;
查看代理時間範圍
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 , json_agg(t.agents_data->>'id') AS agent_names FROM timeframe 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 THEN '非零' ELSE '零' END AS image_data_status, CASE WHEN LENGTH(t.thumbnail_image_data) > 0 THEN '非零' EL '零' END ASthumbnail_image_data_status FROM "user" u LEFT JOIN 時間範圍t ON t.user_id = u.id WHERE u.username = 'realityinspector82';