
AG2 Visualized-สร้างแอพ Agentic ที่มีความเรียบง่ายแบบลากและวาง
คำเตือน
โครงการนี้อยู่ระหว่างการพัฒนาและยังไม่แนะนำสำหรับการใช้งานการผลิต
ในขณะที่การสร้างรหัสได้พิสูจน์แล้วว่ามีประสิทธิภาพในการบำรุงรักษายูทิลิตี้ของเครื่องมือในช่วงเวลาต่าง ๆ นอกเหนือจาก Autogen แต่ก็ยังเปิดเผยความท้าทายที่เกี่ยวข้องกับประสิทธิภาพและความสามารถในการสังเกต เป็นผลให้ฉันกำลังพิจารณาที่จะเปลี่ยนโครงการเป็นเอ็นจิ้นเวิร์กโฟลว์แทนที่จะดำเนินการต่อเป็นโปรแกรมแบบสแตนด์อโลนต่อไป การเปลี่ยนแปลงนี้จะแนะนำการปรับเปลี่ยนที่สำคัญกับสถาปัตยกรรมแบ็กเอนด์
ความคิดเห็นของคุณมีค่ามากเมื่อเราก้าวไปข้างหน้า หากคุณมีความคิดหรือข้อเสนอแนะใด ๆ โปรดแบ่งปันพวกเขาโดยการเปิดปัญหาใหม่หรือเข้าร่วมในการอภิปรายอย่างต่อเนื่องที่นี่
Agentok Studio เป็นเครื่องมือที่สร้างขึ้นบน AG2 (ก่อนหน้านี้ Autogen) ซึ่งเป็นเฟรมเวิร์ก Agent ที่ทรงพลังจาก Microsoft และชุมชนผู้มีส่วนร่วมที่มีชีวิตชีวา
เราพิจารณาว่า AG2 อยู่ในระดับแนวหน้าของเทคโนโลยีแอพพลิเคชั่นหลายตัวแทนรุ่นต่อไป Agentok Studio นำแนวคิดนี้ไปสู่อีกระดับโดยนำเสนอเครื่องมือภาพที่ใช้งานง่ายซึ่งปรับปรุงการสร้างและการจัดการเวิร์กโฟลว์ที่ใช้ตัวแทนที่ซับซ้อน สิ่งนี้ทำให้กระบวนการทั้งหมดง่ายขึ้นสำหรับผู้สร้างและนักพัฒนา

ความสัมพันธ์ระหว่างตัวแทนสองคนเป็นสิ่งจำเป็น ในการรวมการเรียกใช้เครื่องมือในการสนทนา LLM จะต้องกำหนดเครื่องมือที่จะเรียกใช้ในขณะที่แจ้งพร็อกซีผู้ใช้เกี่ยวกับโหนดที่จะดำเนินการ การกำหนดค่าเครื่องมือบนขอบระหว่างโหนดเหล่านี้เป็นสิ่งสำคัญสำหรับการทำงานที่ดีที่สุด

เรามุ่งมั่นที่จะสร้างเครื่องมือที่ใช้งานง่ายซึ่งสร้างรหัส Python ดั้งเดิมที่มีการพึ่งพาน้อยที่สุด กล่าวง่ายๆคือ Agentok Studio เป็นตัวสร้างรหัสตามแผนภาพสำหรับ AG2 รหัสที่สร้างขึ้นนั้นมีอยู่ในตัวเองและสามารถดำเนินการได้ทุกที่เป็นโปรแกรม Python ปกติโดยอาศัยห้องสมุด ag2 อย่างเป็นทางการเท่านั้น

การมีส่วนร่วม (ปัญหาการร้องขอการดึงเอกสารหรือแม้แต่การแก้ไขผิดพลาด) ในโครงการนี้ยินดีต้อนรับ! ผู้มีส่วนร่วมทั้งหมดจะถูกเพิ่มเข้าไปในกำแพงบริจาค
บันทึก
คุณสมบัติ RAG ถูกลบออกจากโครงการนี้เนื่องจากเราเชื่อว่าควรเป็นบริการแยกต่างหาก
หากต้องการสำรวจคุณสมบัติของ Agentok Studio อย่างรวดเร็วไปที่ https://studio.agentok.ai ในขณะที่เราเสนอการปรับใช้ออนไลน์ของโครงการนี้โปรดทราบว่ามันไม่ได้มีไว้สำหรับการใช้งานการผลิต ข้อตกลงระดับบริการไม่ได้รับประกันและข้อมูลที่เก็บไว้อาจถูกลบล้างเนื่องจากการเปลี่ยนแปลงที่แตกหัก
หลังจากเข้าสู่ระบบในฐานะแขกหรือด้วยบัญชี OAuth2 ของคุณคุณสามารถคลิกปุ่ม สร้างโครงการใหม่ เพื่อสร้างโครงการใหม่ โครงการใหม่มาพร้อมกับเวิร์กโฟลว์ตัวอย่าง คุณสามารถคลิกไอคอนหุ่นยนต์ที่กระพริบที่ด้านล่างขวาเพื่อเริ่มการสนทนา

เนื่องจากข้อ จำกัด ของ GPT-4 และ Ag2 เวิร์กโฟลว์ง่าย ๆ นี้อาจไม่ทำงานตามที่คาดไว้ แต่เป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจแนวคิดพื้นฐานของแอพ Agentic และ Agentok Studio
หากต้องการดูโครงการในเชิงลึกเพิ่มเติมโปรดดูที่การเริ่มต้นใช้งาน
โครงการมีส่วนหน้า (สร้างด้วย Next.js) และบริการแบ็กเอนด์ (สร้างด้วย fastapi ใน Python) และได้รับการเชื่อมต่ออย่างเต็มที่
ก่อนที่จะเรียกใช้โครงการคุณต้องสร้างไฟล์ .env ในไดเรกทอรี ui ABD api และตั้งค่าตัวแปรสภาพแวดล้อม
cp frontend/.env.sample frontend/.env
cp api/.env.sample api/.env
cp api/OAI_CONFIG_LIST.sample api/OAI_CONFIG_LIST โปรดทราบว่า Supabase มีคีย์ Anon และ Service_role สำหรับแต่ละโครงการ โปรดตรวจสอบให้แน่ใจว่าได้ตั้งค่าคีย์ anon เป็น NEXT_PUBLIC_SUPABASE_ANON_KEY สำหรับส่วนหน้าและคีย์บทบาทบริการไปยัง SUPABASE_SERVICE_KEY สำหรับแบ็กเอนด์ (API)
วิธีที่ง่ายที่สุดในการทำงานในพื้นที่คือการใช้นักเทียบท่า:
docker-compose up -dนอกจากนี้คุณยังสามารถสร้างและเรียกใช้ UI และบริการแยกต่างหากด้วย Docker:
docker build -t agentok-api ./api
docker run -d -p 5004:5004 agentok-api
docker build -t agentok-frontend ./frontend
docker run -d -p 2855:2855 agentok-frontend
(หมายเลขพอร์ตเริ่มต้น 2855 เป็นที่อยู่ของสำนักงานแห่งแรกของเรา)
หากคุณสนใจที่จะมีส่วนร่วมในการพัฒนาโครงการนี้หรือต้องการเรียกใช้จากซอร์สโค้ดคุณมีตัวเลือกในการเรียกใช้ UI และบริการอย่างอิสระ นี่คือวิธีที่คุณสามารถทำได้:
cd frontend ไดเรกทอรีส่วนหน้า.env.sample เป็น .env.local และตั้งค่าตัวแปรอย่างถูกต้องpnpm install หรือ yarn )pnpm dev หรือ yarn dev )หากคุณเห็นข้อผิดพลาดของเซิร์ฟเวอร์ที่เกี่ยวข้องกับ 'USECONTEXT' บ่อยครั้งอาจเกิดจากข้อบกพร่องในโหมดเทอร์โบ ในกรณีนี้โปรดลบ
--turboจากคำสั่ง dev ใน package.json
cd api.env.sample เป็น .env , OAI_CONFIG_LIST.sample เป็น OAI_CONFIG_LIST และตั้งค่าตัวแปรอย่างถูกต้องpoetry run uvicorn agentok_api.main:app --reload --port 5004 จำเป็นต้อง REPLICATE_API_TOKEN สำหรับตัวแทน LLAVA หากคุณต้องการใช้เอเจนต์นี้ตรวจสอบให้แน่ใจว่าได้รวมโทเค็นนี้ไว้ในตัวแปรสภาพแวดล้อม
สำคัญ : Ag2 เวอร์ชันล่าสุดต้องใช้ Docker สำหรับการดำเนินการรหัสโดยค่าเริ่มต้น เพื่อดำเนินการต่อคุณต้อง:
AUTOGEN_USE_DOCKER=False ในไฟล์ api/.envหมายเหตุ: ข้อกำหนดนี้ถูกปิดใช้งานโดยค่าเริ่มต้นเนื่องจากการปรับใช้เริ่มต้นของโครงการนี้ได้รับการเชื่อมต่อแล้ว
โครงการนี้อาศัย Supabase สำหรับการรับรองความถูกต้องของผู้ใช้และการจัดเก็บข้อมูล ในการเริ่มต้นโปรดติดตาม./db/readme.md เพื่อเตรียมฐานข้อมูลและตั้งค่าตัวแปรสภาพแวดล้อม (ดูตัวแปรเหล่านั้นด้วยชื่อเริ่มต้นด้วย supabse ใน. env.sample) ในไฟล์ .env
หากคุณต้องการคุณสามารถปรับใช้อินสแตนซ์ Supabase ของคุณเอง แต่นั่นอยู่นอกเหนือขอบเขตของเอกสารนี้
เมื่อคุณเริ่มต้นทั้งบริการส่วนหน้าและ API โดยทำตามขั้นตอนที่ระบุไว้ก่อนหน้านี้คุณสามารถเข้าถึงแอปพลิเคชันได้โดยเปิดเว็บเบราว์เซอร์และนำทางไปที่:
หากบริการของคุณเริ่มต้นได้สำเร็จและทำงานบนพอร์ตที่คาดหวังคุณควรเห็นส่วนต่อประสานผู้ใช้หรือรับคำตอบจากบริการ API ผ่าน URL นี้
ยินดีต้อนรับผลงาน! ไม่ จำกัด เฉพาะรหัส แต่ยังรวมถึงเอกสารและด้านอื่น ๆ ของโครงการ คุณสามารถเปิดปัญหา GitHub หรือแสดงความคิดเห็นบนเซิร์ฟเวอร์ Discord ของเรา
โครงการนี้ยินดีต้อนรับการมีส่วนร่วมและข้อเสนอแนะ โปรดอ่านคู่มือการสนับสนุนของเราก่อน
หากคุณยังใหม่กับ GitHub นี่คือแหล่งข้อมูลช่วยเหลือโดยละเอียดเกี่ยวกับการมีส่วนร่วมกับการพัฒนาบน GitHub
โปรดพิจารณาการมีส่วนร่วมกับ AG2 เนื่องจาก Agentok Studio อาศัยรากฐานที่แข็งแกร่งในการส่งมอบความสามารถ การมีส่วนร่วมของคุณสามารถช่วยปรับปรุงฟังก์ชั่นหลักของแพลตฟอร์มเพื่อให้มั่นใจว่าประสบการณ์การพัฒนาที่ราบรื่นและมีประสิทธิภาพมากขึ้นสำหรับแอปพลิเคชันหลายตัวแทน
โครงการนี้ใช้? การเปิดตัวความหมายเพื่อจัดการการกำหนดเวอร์ชันและการเผยแพร่ เพื่อหลีกเลี่ยงการปลดปล่อยอัตโนมัติบ่อยเกินไปเราทำให้มันเป็นการกระทำของ GitHub ด้วยตนเองเพื่อกระตุ้นการเปิดตัว
ในการปฏิบัติตามกระบวนการปล่อยความหมายเราได้บังคับใช้การประชุม commit-lint ในข้อความที่กระทำ โปรดดูที่ Contimlint สำหรับรายละเอียดเพิ่มเติม
โครงการได้รับใบอนุญาตภายใต้ Apache 2.0 พร้อมข้อกำหนดและเงื่อนไขเพิ่มเติม