Penyiapan Cepat untuk Agen AI Melalui Email | → | Terapkan Agen dengan Cara Paling Mudah untuk Pengguna Anda |
Kepada, CC, dan Fw: Banyak Agen | → | Pelatihan Sederhana: Cukup Email |
Kode Pendek yang Kuat untuk AI | → | Kolaborasi Multi-Agen Multi-Langkah untuk Semua |
Sudah Termasuk Baterai, Cukup Tambahkan Kredensial | → | Termasuk Klien Email dan Dasbor Agen |
ATAT memungkinkan pengaturan cepat agen AI yang dapat Anda kirimi email -- dengan kode pendek sederhana yang memberi agen kekuatan super.
Kode Sumber https://github.com/semanticsean/ATAT
Peta Jalan: Bagi mereka yang tertarik untuk berkontribusi pada proyek ini, silakan merujuk ke panduan kontribusi kami untuk informasi rinci tentang bagaimana Anda dapat terlibat.
v0.4 - Termasuk ABE - A/B + jajak pendapat pemilu. v0.3 - Rilis Awal
CONTOH: Kirim email ke tim yang terdiri dari tiga agen AI yang berkolaborasi untuk menulis cerita pendek:
Kirim email ke salah satu agen AI, yang diinstruksikan untuk menulis cerita dalam tiga babak (tiga panggilan API):
Panduan ini memandu Anda dalam penerapan di Replit, karena penerapannya sangat mudah. Mulailah dengan Repl ini.
Untuk menggunakan secara lokal atau di Github, Anda harus mengubah panggilan untuk mengambil env vars.
pip install openai==0.28.0
untuk kompatibilitas.{
"SMTP_SERVER": "",
"IMAP_SERVER": "",
"SMTP_PORT": "",
"SMTP_USERNAME": "",
"SMTP_PASSWORD": "",
"OPENAI_API_KEY": "",
"DOMAIN_NAME": "",
"NAMA PERUSAHAAN": ""
}
Untuk SMTP_PORT menggunakan Google Workspace, gunakan Port 587.
Untuk SMTP_PASSWORD, jika Anda menggunakan Google / Gmail harus berupa APP PASSWORD yang memerlukan 2FA.
DOMAIN_NAME seharusnya mengikuti @ di alamat email. Misalnya, "acme.com" seperti "[email protected]".
COMPANY_NAME harus seperti yang tertulis, seperti "ACME Corp."
Buat Alamat Email Agen@: Ini harus berupa alamat email baru tanpa riwayat.
Agen Alias: Tetapkan setidaknya satu alias email untuk setidaknya satu agen di agents/agents.json
. Sisanya bersifat opsional dan dapat dipanggil dengan kode pendek @@(Nama Agen), atau dapat menerima aliasnya sendiri. @@ berguna jika Anda menginginkan lebih banyak agen daripada yang didukung server email Anda sebagai alias. Misalnya Google Workspace dibatasi hingga 25, namun Anda dapat menerapkan ratusan model agen yang dapat diakses melalui kode pendek @@.
Lihat /tools/testing_emails.md untuk email yang akan diuji.
PENTING: Anda mungkin perlu memasukkan domain dan/atau alamat email ke daftar putih.
BUAT EMAIL BARU UNTUK DIGUNAKAN DENGAN ATAT. JANGAN HUBUNGKAN AKUN YANG ADA. ATAT bersifat reaktif dan Anda mungkin mengirim email yang tidak diinginkan jika Anda belum mengindeks riwayatnya dengan benar. Buat akun baru khusus untuk penggunaan ATAT.
ATAT adalah klien email yang menampung agen AI yang merespons email, sehingga Anda dapat mengirim email kepada mereka secara langsung, mengirimkan cc kepada mereka, atau mengirim email ke mereka. ATAT dirancang untuk mendemokratisasi penggunaan AI, memungkinkan penyiapan cepat "perusahaan" agen AI dalam hitungan menit, dengan kemudi ditangani melalui email. Artinya, pelatihannya semudah memberikan email baru untuk diteruskan atau di-cc. Pendekatan ini memanfaatkan lambatnya email untuk menghasilkan respons AI yang bijaksana dan komprehensif. Hal ini juga membuka pemikiran “MoE” atau “CoE” bagi orang normal.
Kekuatan email lainnya adalah lambat. Seperti yang ditunjukkan di @@ dan !detail! kode pendek, komponen multi-pass (multi-API-call) dapat diintegrasikan dan waktu yang diperlukan untuk menjalankan semua panggilan, baik menit atau bahkan jam, adalah normal untuk email.
!detail
, !summarize
, dan !ff
. Manfaatkan new_agent.py
untuk menghasilkan agen baru dengan persona mendetail dan gambar yang dihasilkan DALL-E.
cards.py
mendukung server Flask yang menampilkan dasbor semua agen untuk memudahkan akses.
Tingkatkan interaksi email Anda dengan sistem kode pendek canggih kami. Dirancang untuk integrasi yang mulus ke dalam konten email, kode pendek ini memicu fungsi khusus dalam platform ATAT, memungkinkan keterlibatan agen dinamis dan manipulasi konten langsung melalui email Anda. Jelajahi kemampuan dan penggunaan setiap kode pendek untuk memanfaatkan potensi penuh ATAT untuk komunikasi email Anda.
@@
@@
untuk mengirimkan email ke beberapa agen secara bersamaan, sehingga mendorong respons multi-agen yang kolaboratif. Fitur ini sangat berharga untuk skenario yang memerlukan masukan dari beragam persona AI.@@(agent name)
atau @@.creator
di email Anda, diikuti dengan pengenal agen tertentu atau instruksi pembuatan. Perintah ini memberi isyarat kepada ATAT untuk melibatkan agen yang ditunjuk dalam proses respons.Menguji Email
devatlas - pertanyaan terpenting apa yang harus dijawab oleh pemohon hibah saat menulis presentasi singkat untuk startup?
@@(castor) startup apa yang kamu suka?
@@(Nova) bagaimana menurut anda?
@@(Orion) bagaimana menurut anda?
@@(Nebula) bagaimana menurut anda?
@@(Altair) bagaimana menurut anda?
@@.creator
@@.creator
secara instan menghasilkan persona agen baru, menawarkan penyesuaian langsung untuk beradaptasi dengan kebutuhan percakapan yang terus berkembang.@@.creator(Embody an agent...)
dengan spesifikasi persona yang mendetail. Pastikan "Embody" hadir untuk mengaktifkan fungsi pencipta, menandakan ATAT untuk membuat dan memperkenalkan persona agen baru berdasarkan instruksi Anda.Menguji Email
Saya sedang mengerjakan proyek kreatif baru dan memerlukan beberapa permainan peran. Silakan render agen ini dan minta dia menjawab pertanyaan di bawah.
@@.creator(Mewujudkan vampir lucu yang berteman dengan lumba-lumba dalam gaya buku anak-anak yang berbicara dengan suara vampir yang lucu.)!
Tuan Vampir, apa permainan favoritmu?
Detail
Detail
memecah blok teks ekstensif menjadi segmen-segmen yang dapat dikelola, mengoptimalkan pemrosesan dan pembuatan respons.!detail_start!
dan !detail_stop!
penanda. ATAT secara otomatis mengelompokkan konten untuk penanganan yang efisien. Gunakan '!berpisah!' untuk membagi panggilan API/melibatkan multipass.!detail_mulai! pengantar: ini adalah tahun 2050 dan perjalanan waktu sintetis yang digerakkan oleh AI dapat dilakukan dengan mudah !berpisah! kami bertemu protagonis kami, secara detail !split! kita bertemu antagonis kita, secara detail !split! kita lihat konflik pertama antara protagonis dan antagonis, babak pertama berakhir !split! babak kedua dimulai dengan pemain baru, minat romantis yang belum disebutkan !split! babak kedua memiliki konflik utama !split! klimaksnya terjadi !split! resolusi belum terjadi !split! sekarang penyelesaiannya terjadi !detail_stop!
Summarize
Summarize
memadatkan konten terperinci menjadi ringkasan singkat, dapat disesuaikan melalui pengubah spesifik agar sesuai dengan fokus dan gaya ringkasan yang Anda inginkan.!summarize!
, menambahkan pengubah sesuai kebutuhan untuk menyempurnakan keluaran ringkasan.(Fitur ini bahkan lebih bermasalah dibandingkan fitur lainnya.)
LIHAT /tools/testing_emails.md untuk menguji skrip--terlalu panjang untuk muat di sini.
!summarize.json!
, !summarize.marketing!
, atau !summarize.budget!
untuk mengarahkan ATAT dalam membuat ringkasan yang sesuai dengan kebutuhan Anda, baik dalam format JSON, bahasa pemasaran, atau konten yang berfokus pada anggaran.Manfaatkan kode pendek ini untuk menyederhanakan interaksi email Anda, memastikan komunikasi yang efisien dan efektif dengan dan antar agen AI Anda.
ABE (A/B+Election) - Ikhtisar Alat Polling Agen ABE adalah singkatan dari A/B+Election, sebuah alat canggih yang dirancang untuk memfasilitasi jajak pendapat agen cerdas dalam berbagai skenario, mulai dari proses pengambilan keputusan hingga pengumpulan opini dan seterusnya. Dibangun di atas fondasi Flask, ABE berintegrasi secara mulus dengan teknologi web untuk menawarkan pengalaman yang dinamis dan interaktif bagi administrator dan peserta.
Fitur Manajemen Agen: Kelola daftar agen dengan mudah, masing-masing dengan pengidentifikasi dan atribut unik. ABE memungkinkan spesifikasi agen yang terperinci, termasuk kata kunci dan gambar khusus, untuk meningkatkan pengalaman pemungutan suara.
Polling Dinamis: Melakukan pengujian A/B atau pemilihan antar agen dengan pertanyaan dan instruksi yang disesuaikan. Fitur ini memungkinkan peneliti dan pengembang mengumpulkan wawasan berbeda tentang preferensi atau keputusan agen.
Otentikasi Email: Sistem otentikasi aman yang menggunakan konfirmasi email untuk validasi pengguna. Hal ini memastikan bahwa hanya peserta yang berwenang yang dapat berkontribusi pada proses pemungutan suara.
Manajemen Sesi: Dengan ABE, sesi diidentifikasi dan dikelola secara unik, memungkinkan pendekatan terstruktur terhadap pengumpulan dan analisis data. Setiap sesi dapat disesuaikan dengan pertanyaan spesifik, instruksi, dan pilihan agen.
Dasbor Interaktif: Dasbor berbasis web menyediakan antarmuka terpusat untuk mengonfigurasi jajak pendapat, memvisualisasikan pilihan agen, dan memulai sesi. Dasbor meningkatkan pengalaman pengguna, membuatnya lebih mudah untuk menavigasi proses pemungutan suara.
Output yang Dapat Disesuaikan: Menghasilkan dan menyesuaikan output berdasarkan hasil polling. ABE mendukung pembuatan laporan, visualisasi, dan ringkasan terperinci, yang memenuhi berbagai kebutuhan analisis.
Keamanan dan Privasi: Dibangun dengan mempertimbangkan keamanan, ABE menerapkan praktik terbaik untuk melindungi data pengguna dan memastikan integritas proses pemungutan suara. Sesi dan transmisi data ditangani dengan aman, dengan mempertimbangkan privasi dan kerahasiaan.
Memulai Penyiapan dan Instalasi: Mulailah dengan menyiapkan lingkungan Python Anda dan menginstal Flask bersama dengan dependensi lain yang diperlukan. ABE memerlukan Python 3.6 atau lebih baru untuk kompatibilitas ke belakang.
Konfigurasikan Agen: Isi agen.json dengan informasi agen Anda, termasuk nama, atribut, dan gambar. File ini berfungsi sebagai database untuk agen yang berpartisipasi dalam jajak pendapat.
Luncurkan Aplikasi: Jalankan abe.py untuk memulai server Flask. Arahkan ke URL yang disediakan untuk mengakses dasbor ABE.
Buat Jajak Pendapat: Gunakan dasbor untuk mengonfigurasi jajak pendapat Anda, termasuk pertanyaan, agen yang akan dilibatkan, dan instruksi khusus. Setiap jajak pendapat dapat disesuaikan untuk memenuhi kebutuhan penelitian atau pengambilan keputusan tertentu.
Distribusikan dan Kumpulkan Tanggapan: Setelah jajak pendapat Anda ditayangkan, peserta yang berwenang dapat berinteraksi dengan platform, memberikan tanggapan dan pendapat mereka. ABE mengelola pengumpulan dan pengorganisasian data ini secara real-time.
Analisis Hasil: Setelah jajak pendapat selesai, ABE memfasilitasi analisis hasil melalui dasbornya. Ekspor data, buat laporan, dan dapatkan wawasan dari tanggapan gabungan.
Kasus Penggunaan Kerangka kerja serbaguna ABE membuatnya cocok untuk berbagai aplikasi, termasuk namun tidak terbatas pada:
Riset Pasar: Memahami preferensi konsumen atau memprediksi tren pasar dengan melakukan survei terhadap sekelompok agen perwakilan. Pendukung Keputusan: Memfasilitasi proses pengambilan keputusan dalam organisasi dengan mengumpulkan dan menganalisis opini agen. Penelitian Akademik: Melakukan studi dan eksperimen yang melibatkan model dan simulasi berbasis agen. Kesimpulan ABE menawarkan platform yang kuat dan fleksibel untuk melakukan jajak pendapat agen dalam berbagai konteks. Dengan memadukan kemudahan penggunaan dan serangkaian fitur canggih, ABE memberdayakan pengguna untuk mengumpulkan, menganalisis, dan memanfaatkan data dengan cara yang inovatif. Baik untuk penelitian, pengambilan keputusan, atau analisis pasar, ABE menyediakan alat yang diperlukan untuk memanfaatkan kecerdasan kolektif para agen.
contribute.md
.ATAT dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk detailnya.
@@ dan ATAT adalah merek dagang dari Semantic Life, Hak Cipta 2024. Semua hak dilindungi undang-undang.
Google / Google Ruang Kerja (TM) Google.
psql -h nama host -U nama pengguna -d nama basis data SET idle_in_transaction_session_timeout = '15 menit'; psql -d $DB_NAME -U $DB_USER -W $DB_PASS flask db init # Hanya diperlukan pertama kali untuk menyiapkan direktori migrasi flask dbmigrate -m "Menambahkan model PageView" flask db upgrade
Kehidupan Semantik - Dasbor Agen AI
Selamat datang di Kehidupan Semantik - Dasbor Agen AI! Alat canggih ini memungkinkan Anda membuat, mengelola, dan berinteraksi dengan agen AI dalam antarmuka web yang ramah pengguna. Dengan fitur seperti pembuatan agen, manajemen jangka waktu, pengorganisasian rapat, dan pelaksanaan survei, Anda dapat memanfaatkan kekuatan AI untuk mendapatkan wawasan berharga dan membuat keputusan yang tepat. Fitur
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.
Prasyarat
Sebelum menjalankan Semantic Life - Dasbor Agen AI, pastikan Anda memiliki hal berikut:
Python 3.x installed
OpenAI API key
Required Python packages (listed in requirements.txt)
Instalasi
Clone the repository:
pesta
git clone https://github.com/nama-pengguna-anda/semantic-life.git
Install the required Python packages:
pesta
instalasi pip -r persyaratan.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:
pesta
peningkatan db labu
Start the application:
pesta
aplikasi python.py
Access the application in your web browser at http://localhost:5000.
Penggunaan
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.
Berkontribusi
Kontribusi pada Kehidupan Semantik - Dasbor Agen AI dipersilakan! Jika Anda mengalami masalah atau memiliki saran untuk perbaikan, silakan buka masalah atau kirimkan permintaan penarikan di repositori GitHub. Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT. Kontak
Untuk pertanyaan atau masukan apa pun, silakan hubungi kami di [email protected].
Nikmati penggunaan Semantic Life - Dasbor Agen AI untuk membuka potensi agen AI dan mendapatkan wawasan berharga!
Buka terminal atau command prompt dan navigasikan ke direktori proyek Anda. Jalankan perintah berikut untuk memulai Flask shell:flas
cangkang labu
dari model impor Pengguna, db
pengguna = Pengguna.query.filter_by(nama pengguna='nama pengguna').first()
pengguna.token_balance = 1000
db.sesi.commit()
cetak(pengguna.token_balance)
KELUAR()
flask db migrasi -m "Menambahkan kredit pengguna" peningkatan flask db
pip install 'ini berbahaya<2.0'
Tentu! Berikut deskripsi teknis aplikasi untuk AI lainnya:
Aplikasi Semantic Life adalah aplikasi berbasis web yang dibangun menggunakan kerangka web Flask dengan Python. Hal ini memungkinkan pengguna untuk membuat dan mengelola agen AI, melakukan survei, dan menghasilkan jangka waktu berdasarkan instruksi yang ditentukan pengguna.
Aplikasi ini mengikuti arsitektur cetak biru, di mana berbagai bagian aplikasi dipisahkan menjadi cetak biru individual, seperti auth_blueprint, survey_blueprint, dashboard_blueprint, dan profile_blueprint. Setiap cetak biru menangani rute dan fungsi tertentu yang terkait dengan tujuannya.
Aplikasi ini menggunakan database PostgreSQL untuk menyimpan informasi pengguna, data agen, survei, dan jangka waktu. Model database didefinisikan menggunakan Flask-SQLAlchemy, sebuah ekstensi yang menyediakan kemampuan ORM (Object-Relational Mapping) untuk berinteraksi dengan database.
Otentikasi pengguna diimplementasikan menggunakan Flask-Login, yang menangani registrasi pengguna, login, dan manajemen sesi. Pengguna dapat mendaftarkan akun, masuk, dan memperbarui informasi profil mereka.
Aplikasi ini terintegrasi dengan OpenAI API untuk menghasilkan data agen dan melakukan survei. Ia menggunakan modul abe_gpt untuk memproses data agen dan menghasilkan respons berdasarkan instruksi yang ditentukan pengguna. Modul abe_gpt berkomunikasi dengan OpenAI API untuk menghasilkan data agen, mengubah atribut agen, dan menghasilkan respons survei.
Aplikasi ini memungkinkan pengguna untuk membuat dan mengelola agen AI. Pengguna dapat menambahkan agen dasar, membuat agen baru, mengedit atribut agen, dan menghapus agen. Data agen disimpan dalam database dan dapat diambil serta diperbarui sesuai kebutuhan.
Pengguna juga dapat membuat survei dan melakukan pertemuan dengan agen AI. Survei dibuat dengan memilih agen dan menentukan pertanyaan. Aplikasi ini menggunakan modul abe_gpt untuk menghasilkan respons survei berdasarkan agen yang dipilih dan instruksi yang ditentukan pengguna. Hasil survei disimpan dalam database dan dapat dilihat oleh pengguna.
Kerangka waktu adalah fitur lain dari aplikasi, yang memungkinkan pengguna membuat versi agen dasar yang dimodifikasi berdasarkan instruksi dan konteks tertentu. Pengguna dapat memilih agen, memberikan instruksi, dan membuat jangka waktu baru dengan agen yang dimodifikasi. Data jangka waktu disimpan dalam database dan dapat diakses dan dikelola oleh pengguna.
Aplikasi ini menggunakan berbagai ekstensi dan perpustakaan Flask untuk meningkatkan fungsinya. Flask-Images digunakan untuk penanganan dan pemrosesan gambar, meskipun penggunaannya dalam kode saat ini perlu dibersihkan dan diperbaiki. Flask-Migrate digunakan untuk migrasi database, sehingga memudahkan pengelolaan perubahan skema database.
Frontend aplikasi dibuat menggunakan template HTML dan ditata dengan Tailwind CSS. Templat dirender menggunakan Jinja2, mesin templating yang memungkinkan pembuatan konten dinamis. JavaScript digunakan untuk interaktivitas sisi klien dan permintaan AJAX.
Penanganan kesalahan dan pencatatan log diterapkan di seluruh aplikasi untuk menangkap dan menangani pengecualian dengan baik. Aplikasi ini mencatat informasi dan kesalahan yang relevan untuk tujuan debugging dan pemantauan.
Secara keseluruhan, aplikasi Semantic Life menyediakan platform bagi pengguna untuk membuat, mengelola, dan berinteraksi dengan agen AI, melakukan survei, dan menghasilkan jangka waktu berdasarkan instruksi yang ditentukan pengguna. Ini memanfaatkan kerangka web Flask, database PostgreSQL, dan OpenAI API untuk menghadirkan fungsinya.
tabel_skema | nama_tabel | nama_kolom | tipe_data
--------------+--+---------------+- ---------------------------- publik | versi_alembic | nomor_versi | karakter yang bervariasi publik | pertemuan | identitas | bilangan bulat publik | pertemuan | nama | karakter yang bervariasi publik | pertemuan | id_pengguna | bilangan bulat publik | pertemuan | data_pertemuan | json publik | pertemuan | is_public | boolean publik | pertemuan | url_publik | karakter yang bervariasi publik | tampilan_halaman | identitas | bilangan bulat publik | tampilan_halaman | halaman | karakter yang bervariasi publik | tampilan_halaman | cap waktu | stempel waktu tanpa zona waktu publik | survei | identitas | bilangan bulat publik | survei | nama | karakter yang bervariasi publik | survei | id_pengguna | bilangan bulat publik | survei | is_public | boolean publik | survei | url_publik | karakter yang bervariasi publik | survei | survei_data | json publik | jangka waktu | identitas | bilangan bulat publik | jangka waktu | nama | karakter yang bervariasi publik | jangka waktu | id_pengguna | bilangan bulat publik | jangka waktu | agen_data | json publik | pengguna | identitas | bilangan bulat publik | pengguna | nama pengguna | karakter yang bervariasi publik | pengguna | email | karakter yang bervariasi publik | pengguna | kata sandi_hash | karakter yang bervariasi publik | pengguna | agen_data | json publik | pengguna | gambar_data | json publik | pengguna | kredit | bilangan bulat
PILIH kredit DARI pengguna WHERE nama pengguna = 'nama_pengguna';
PILIH skema_tabel, nama_tabel, nama_kolom, tipe_data DARI skema_informasi.kolom DIMANA skema_tabel TIDAK DALAM ('skema_informasi', 'katalog_pg') DIPESAN BERDASARKAN skema_tabel, nama_tabel, posisi_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 mandiri menambahkan kredit
PILIH 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 .nama pengguna AS nama_pengguna, u.email AS pengguna_email DARI pertemuan AS m GABUNG "pengguna" SEBAGAI u AKTIF m.user_id = u.id DI MANA m.id = 24;
lihat agen jangka waktu
PILIH t.id AS timeframe_id, t.name AS timeframe_name, json_array_length(t.agents_data) AS num_agents, CASE KETIKA t.agents_data IS NULL THEN false ELSE true END AS Agents_populated, CASE KETIKA u.images_data IS NULL THEN false ELSE true END AS gambar_populasi, json_agg(t.agents_data->>'id') SEBAGAI nama_agen DARI jangka waktu t GABUNG "pengguna" u PADA t.user_id = u.id KELOMPOK OLEH t.id, t.name, t.agents_data, u.images_data;
PILIH u.id SEBAGAI user_id, u.username, CASE WHEN LENGTH(t.image_data) > 0 LALU 'Non-zero' ELSE 'Zero' END AS image_data_status, CASE WHEN LENGTH(t.thumbnail_image_data) > 0 THEN 'Non-zero ' LAINNYA 'Nol' AKHIR SEBAGAI thumbnail_image_data_status DARI "pengguna" u KIRI GABUNG jangka waktu t ON t.user_id = u.id WHERE u.username = 'realityinspector82';