ساخت سیستم AI چند عامل با Swarm Openai با استفاده از Ollama

سیستم های هوش مصنوعی چند عامل نشان دهنده تغییر قابل توجهی در نحوه نزدیک شدن ما به حل مسئله پیچیده و اتوماسیون کار است. در هسته اصلی این چارچوب Swarm Openai است که یک رویکرد پیشگامانه برای ارکستر کردن چندین عامل هوش مصنوعی ارائه می دهد. تیمی از یاران هوش مصنوعی را تصور کنید که هر کدام شغل خود را دارند و با هم کار می کنند تا زندگی را آسان تر کنند. این ایده اصلی استفاده از Swarm است. این به نمایندگان مختلف هوش مصنوعی کمک می کند تا مانند یک تیم با هم کار کنند تا کارهای بزرگ را برطرف کنند. این تنظیم برای انواع مختلفی از وظایف ، از رسیدگی به سؤالات مشتری که در آن یک هوش مصنوعی ممکن است از مشتری استقبال کند ، در حالی که دیگری مشکل خود را برای تجزیه و تحلیل داده های بزرگ که در آن یک هوش مصنوعی اطلاعات را جمع می کند ، حل می کند ، و یک سوم آن را به راحتی تبدیل می کند. نمودارهای درک. امکانات بی پایان است.
اگرچه به طور پیش فرض از Swarm با کلید API OpenAi استفاده می شود ، اما بسیاری از توسعه دهندگان تمایلی به تکیه بر یک کلید API برای این سیستم ندارند. برای حل این مشکل ، ما به این مقاله رسیده ایم تا به شما در ساخت یک سیستم هوش مصنوعی چند عامل با چارچوب Swarm با استفاده از LLM نصب شده محلی از طریق Ollama به جای کلید API کمک کنیم.
پیش نیازهای
حداقل نیاز سیستم برای این مورد استفاده عبارتند از:
توجه: پیش نیازهای این امر در موارد استفاده بسیار متغیر است. از پیکربندی سطح بالا می توان برای استقرار در مقیاس بزرگ استفاده کرد.
فرآیند گام به گام برای ساخت یک سیستم AI چند عامل با Swarm OpenAi
برای هدف از این آموزش ، ما از یک دستگاه مجازی با GPU توسط Nodeshift استفاده خواهیم کرد زیرا ماشین های مجازی محاسباتی بالا را با هزینه بسیار مقرون به صرفه در مقیاس ارائه می دهد که مطابق با الزامات GDPR ، SOC2 و ISO27001 است. همچنین ، این یک رابط بصری و کاربر پسند را ارائه می دهد ، و شروع کار را برای مبتدیان با استقرار ابر آسانتر می کند. با این حال ، احساس راحتی کنید که از هر ارائه دهنده ابر انتخابی خود استفاده کنید و همان مراحل را برای بقیه آموزش دنبال کنید.
مرحله 1: تنظیم یک حساب Nodeshift
به App.Nodeshift.com مراجعه کرده و با پر کردن جزئیات اصلی ، یا یک حساب کاربری ایجاد کنید ، یا به ثبت نام در حساب Google/GitHub خود ادامه دهید.
اگر قبلاً یک حساب کاربری دارید ، مستقیماً به داشبورد خود وارد شوید.
مرحله 2: یک گره GPU ایجاد کنید
پس از دسترسی به حساب خود ، باید داشبورد را ببینید (به تصویر مراجعه کنید) ، اکنون:
1) به منوی سمت چپ بروید.
2) روی روی کلیک کنید گره های GPU گزینه
3) روی کلیک کنید شروع برای شروع اولین گره GPU خود.
این گره های GPU دستگاه های مجازی با GPU توسط Nodeshift هستند. این گره ها بسیار قابل تنظیم هستند و به شما امکان می دهند تنظیمات مختلف محیطی را برای GPU های مختلف از H100 تا A100s ، CPU ، RAM و ذخیره سازی با توجه به نیازهای خود کنترل کنید.
مرحله 3: انتخاب پیکربندی برای GPU (مدل ، منطقه ، ذخیره سازی)
1) برای این آموزش ، ما از GPU RTX 4090 استفاده خواهیم کرد. با این حال ، شما می توانید هر پردازنده ای را بر اساس نیاز خود انتخاب کنید.
2) به طور مشابه ، ما با کشویی نوار ، ذخیره 100 گیگابایتی را انتخاب خواهیم کرد. همچنین می توانید منطقه ای را که می خواهید GPU خود را از موارد موجود ساکن کنید ، انتخاب کنید.
مرحله 4: روش پیکربندی و احراز هویت GPU را انتخاب کنید
1) پس از انتخاب گزینه های پیکربندی مورد نیاز خود ، VM های موجود را در منطقه خود و با توجه به پیکربندی (یا بسیار نزدیک به آن) مشاهده خواهید کرد. در مورد ما ، یک گره GPU 1X RTX 4090 با 8 VCPU/32 گیگابایت رم/100 GB SSD را انتخاب خواهیم کرد.
2) در مرحله بعد ، شما باید یک روش تأیید اعتبار را انتخاب کنید. دو روش در دسترس است: رمز عبور و کلید SSH. توصیه می کنیم از کلیدهای SSH استفاده کنید ، زیرا آنها گزینه ای امن تر هستند. برای ایجاد یکی ، به مستندات رسمی ما بروید.
مرحله 5: یک تصویر را انتخاب کنید
مرحله آخر انتخاب تصویری برای VM است که در مورد ما این است نوت بوک Jupyter، جایی که ما SWARM خود را مستقر و اجرا خواهیم کرد.
همین است! شما اکنون آماده استقرار گره هستید. خلاصه پیکربندی را نهایی کنید ، و اگر خوب به نظر می رسد ، کلیک کنید ایجاد کردن برای استقرار گره.
مرحله ششم: با استفاده از SSH به گره محاسبات فعال وصل شوید
1) به محض ایجاد گره ، در چند ثانیه یا یک دقیقه مستقر می شود. پس از استقرار ، وضعیتی را مشاهده خواهید کرد دویدن به رنگ سبز ، به این معنی که گره محاسباتی ما آماده استفاده است!
2) هنگامی که GPU این وضعیت را نشان می دهد ، به سمت سه نقطه در سمت راست حرکت کنید و روی آن کلیک کنید با SSH ارتباط برقرار کنیدبشر با این کار یک برگه جدید با یک جلسه نوت بوک Jupyter باز می شود که در آن می توانیم مدل خود را اجرا کنیم.
مرحله 7: یک مدل را به صورت محلی با Ollama نصب کنید
از آنجا که ما به جای API OpenAI برای تأمین سیستم چند عامل ، از LLM نصب شده محلی استفاده خواهیم کرد ، یک سرور محلی Ollama را که در آن مدل ارائه می دهد ، نصب و راه اندازی خواهیم کرد.
1) یک پنجره ترمینال را در داخل مشتری باز کنید.
2) اولاما را نصب کنید.
curl -fsSL https://ollama.com/install.sh | sh
خروجی:
با اتمام نصب ، ممکن است هشدار زیر را دریافت کنید:
WARNING: Unable to detect NVIDIA/AMD GPU. Install lspci or lshw to automatically detect and install GPU dependencies.
این ممکن است زمانی اتفاق بیفتد که اولاما قادر به تشخیص GPU در سیستم شما به طور خودکار نباشد. برای حل این مسئله ، به سادگی برخی از وابستگی های GPU را با دستور زیر نصب کنید:
sudo apt install pciutils lshw
پس از این ، دستور نصب Ollama را دوباره اجرا کنید ، و این بار ، باید با موفقیت GPU را با موفقیت تشخیص و استفاده کند.
3) نصب را با اجرای دستور Ollama تأیید کنید.
خروجی:
4) اولاما را شروع کنید.
ollama serve
خروجی:
5) یک پنجره ترمینال جدید را باز کنید و دستور زیر را برای بارگیری مدل اجرا کنید.
برای دامنه این آموزش ، ما از مدل LLAMA3.3 به عنوان مغز هوش مصنوعی سیستم چند عامل خود بارگیری و استفاده خواهیم کرد. می توانید هر مدل مورد نظر خود را بارگیری کنید.
ollama pull
خروجی:
توجه داشته باشید که ما فقط مدل را درون سیستم محلی خود می کشیم و نه دویدن آن این امر به این دلیل است که ما فقط به مدل نیاز داریم که در داخل سیستم حضور داشته باشد (ما از آن در کد خود استفاده خواهیم کرد) و اساساً در پشت صحنه اجرا نمی شود.
مرحله 8: یک سیستم ساده چند عامل را بسازید و اجرا کنید
1) برای نوشتن کد برای سیستم ما و اجرای مدل ، یک نوت بوک جدید Python را باز خواهیم کرد.
2) مخزن Swarm OpenAi را کلون کرده و ادغام Openai's Ollama را با PIP نصب کنید.
!pip install git+https://github.com/openai/swarm.git --quiet
!pip install ollama openai --quiet
خروجی:
3) کد را برای سیستم AI چند عامل بنویسید.
from swarm import Swarm, Agent
client = Swarm(ollama_client)
def escalate_to_tech_support():
return tech_support_agent
# Define the sales agent
sales_agent = Agent(
name="Sales Agent",
model=model,
instructions="You only handle inquiries related to product pricing and offers.",
functions=[escalate_to_tech_support],
)
# Define the technical support agent
tech_support_agent = Agent(
name="Tech Support Agent",
model=model,
instructions="You only handle technical issues related to product troubleshooting.",
)
# Simulate conversation with sales agent
response = client.run(
agent=sales_agent,
messages=[{"role": "user", "content": "I need some help from the Tech support. Are you the tech support agent?"}],
)
print(response.messages[-1]["content"])
در کد فوق ، ما دو عامل را به شرح زیر تعریف کرده ایم:
-
نماینده فروش: دستور داده شده برای مدیریت سوالات مربوط به محصولات ، مانند قیمت گذاری ، پیشنهادات و غیره.
-
عامل پشتیبانی فنی: دستور داده شده است تا به کاربران کمک کند تا مشکلات محصول خود را عیب یابی کنند.
پس از این ، ما یک مکالمه را شبیه سازی کردیم تا بررسی کنیم که آیا مأمورین قادر به انجام کار هستند یا خیر. برای این کار ، ما مکالمه ای را با نماینده فروش آغاز کرده ایم و عمداً یک پرس و جو را ارسال خواهیم کرد که قرار است توسط نماینده پشتیبانی فناوری حل شود.
به این ترتیب ، اگر پاسخ مورد انتظار را دریافت کنیم ، می توانیم تأیید کنیم که نماینده فروش باید مکالمه را به نماینده پشتیبانی فناوری تحویل داده باشد.
همانطور که کد فوق را اجرا می کنیم که سؤال زیر را به نماینده فروش می پرسد:
“من از پشتیبانی فنی به کمک نیاز دارم. آیا شما نماینده پشتیبانی فناوری هستید؟”
سیستم پاسخ زیر را ایجاد می کند:
همانطور که ممکن است در خروجی بالا مشاهده کنید ، ما در ابتدا با پرس و جو خود نماینده فروش را نامیدیم. آنها به جای انكار كه این مسئولیت آنها نبوده است ، آنها گفتگو را به عامل مربوطه در Swarm (رفتار مورد انتظار) ، نماینده پشتیبانی فناوری تحویل دادند. سرانجام ، عامل پشتیبانی فناوری این پاسخ را ایجاد کرد.
یک گردش کار اساسی در مورد چگونگی ارتباط نمایندگان داخلی در مثال کد فوق توضیح می دهد:
پایان
ساختمان سیستم های AI چند عامل با Swarm OpenAi امکانات جدیدی را برای خودکار سازی گردش کار پیچیده و امکان همکاری AI در حوزه های مختلف باز می کند. با استفاده از چارچوب Swarm ، توسعه دهندگان می توانند سیستم های هوشمند ایجاد کنند که با هم کار می کنند تا مشکلات پیچیده ای را با راندمان و سازگاری بیشتر حل کنند. در این آموزش ، ما بررسی کرده ایم که چگونه می توانید به سرعت بیش از یک عامل را برای ساختن یک سیستم هوش مصنوعی قوی و استقرار سیستم با استفاده از Nodeshift جمع کنید ، که باعث می شود استقرار و مقیاس بندی چنین سیستم هایی حتی بدون دردسر باشد. Nodeshift Cloud یک زیرساخت قابل اعتماد برای اجرای و مدیریت بارهای کار هوش مصنوعی ، اطمینان از عملکرد صاف ، عملکرد بهینه شده و گردش کار مستقل فراهم می کند و به توسعه دهندگان این امکان را می دهد تا روی کاوش در امکانات بی پایان در دوران هوش مصنوعی تمرکز کنند.
برای اطلاعات بیشتر در مورد Nodeshift: