مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

آموزش ساخت AI Agent همیشه‌روشن روی VPS | دستیار هوش مصنوعی ۲۴ ساعته شخصی

تصور کنید یک دستیار هوش مصنوعی شخصی دارید که ۲۴ ساعته آنلاین است، بدون اینکه لازم باشد کامپیوترتان روشن بماند. پیام‌هایتان را دریافت می‌کند، گزارش می‌سازد، ایمیل‌ها را خلاصه می‌کند و حتی به ابزارهای…

✍ Amir Jabbari 📅 6 مهر 1405 ⏱ 8 دقیقه مطالعه 👁 9 بازدید 💬 0 دیدگاه

تصور کنید یک دستیار هوش مصنوعی شخصی دارید که ۲۴ ساعته آنلاین است، بدون اینکه لازم باشد کامپیوترتان روشن بماند. پیام‌هایتان را دریافت می‌کند، گزارش می‌سازد، ایمیل‌ها را خلاصه می‌کند و حتی به ابزارهای کاری شما مثل تلگرام، دیتابیس و APIهای مختلف وصل می‌شود.

مشکل اصلی بیشتر کاربران این است که Agent را روی لپ‌تاپ یا کامپیوتر شخصی اجرا می‌کنند. تا وقتی سیستم روشن است همه‌چیز کار می‌کند، اما به محض خاموش شدن کامپیوتر، دستیار هوشمند هم از کار می‌افتد. اینجاست که سرور مجازی (VPS) راه‌حل واقعی است.

در این آموزش، قدم‌به‌قدم یاد می‌گیرید چگونه یک AI Agent همیشه‌روشن روی VPS راه‌اندازی کنید، چطور آن را در برابر قطعی و خاموش شدن محافظت کنید و در نهایت یک دستیار هوش مصنوعی واقعی داشته باشید که بدون وابستگی به سیستم شخصی شما کار کند.

🔹 AI Agent چیست و چرا VPS برای آن ضروری است؟

یک AI Agent با چت‌بات معمولی تفاوت اساسی دارد. چت‌بات فقط پاسخ تولید می‌کند و در همان نقطه متوقف می‌شود. اما یک Agent واقعی حلقه‌ای از تصمیم‌گیری و اقدام است: وضعیت را می‌خواند، تصمیم می‌گیرد، ابزاری را فراخوانی می‌کند، نتیجه را می‌بیند و این چرخه را تا تکمیل وظیفه ادامه می‌دهد [citation:6].

برای مثال یک AI Agent شخصی می‌تواند:

🔹 پیام‌های تلگرام را بررسی کند و خلاصه‌ای از پیام‌های مهم بفرستد
🔹 هر روز صبح گزارش وضعیت پروژه را بسازد
🔹 ایمیل‌های جدید را دسته‌بندی و خلاصه کند
🔹 فایل‌های آپلودشده را تحلیل کند
🔹 به APIهای داخلی و خارجی متصل شود و داده دریافت کند

اما برای اینکه این Agent همیشه در دسترس باشد، به محیطی نیاز دارد که ۲۴ ساعته روشن بماند، اینترنت پایدار داشته باشد و به کامپیوتر شخصی شما وابسته نباشد. VPS دقیقاً همین بستر را فراهم می‌کند.

دستیار هوش مصنوعی همیشه‌روشن نیاز به زیرساختی دارد که هرگز نخوابد

سرور مجازی ایرانیکاسرور با آپ‌تایم بالا، منابع اختصاصی CPU و RAM، دیسک NVMe و پهنای باند پرسرعت، بستر ایده‌آل برای اجرای AI Agentهای Self-hosted است. همین حالا پلن مناسب نیاز پردازشی خود را انتخاب کنید.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

🔹 پیش‌نیازهای سخت‌افزاری و نرم‌افزاری

برای این آموزش از Ubuntu 24.04 استفاده می‌کنیم. اما انتخاب منابع سرور بستگی به نوع Agent شما دارد. اگر از APIهای ابری مثل OpenAI استفاده می‌کنید، منابع کمتری نیاز دارید. اگر می‌خواهید مدل را به‌صورت Local اجرا کنید، به منابع بسیار بیشتری احتیاج خواهید داشت.

نوع Agent CPU RAM توضیح
Agent ساده (فقط API) ۲ هسته ۴GB مناسب برای پاسخ‌دهی متنی و ابزارهای سبک
Agent با حافظه و ابزارها ۴ هسته ۸GB مناسب برای Redis، PostgreSQL و چند ابزار همزمان
اجرای مدل Local (۷B) ۴ هسته+ ۱۶GB+ مدل‌های کوچک‌تر قابل اجرا روی CPU با سرعت پایین
مدل‌های بزرگ‌تر GPU Server VRAM بالا برای ۱۳B به بالا، GPU ضروری است [citation:5]
⚠️ توجه: اگر قصد دارید مدل‌های ۷۰B را Local اجرا کنید، VPS معمولی پاسخگو نیست. برای این کار به سرور اختصاصی با GPU نیاز دارید که در مقالات جداگانه بررسی می‌کنیم.

🔹 مرحله اول: اتصال به VPS و آماده‌سازی محیط

وارد سرور خود شوید. اگر کلید SSH دارید، از آن استفاده کنید. در غیر این صورت با رمز عبور وارد شوید:

ssh root@SERVER_IP

سیستم را کاملاً به‌روز کنید. این کار از بروز مشکلات امنیتی و ناسازگاری جلوگیری می‌کند:

apt update && apt upgrade -y

ابزارهای مورد نیاز را نصب کنید. برای ساخت Agent به Python 3.11+، Git و در ادامه Docker نیاز داریم:

apt install python3 python3-pip python3-venv git curl -y

بررسی کنید که نسخه Python نصب‌شده حداقل 3.11 باشد:

python3 --version

🔹 مرحله دوم: ساخت اولین AI Agent

یک پوشه برای پروژه بسازید و وارد آن شوید:

mkdir ai-agent && cd ai-agent

محیط مجازی Python بسازید و آن را فعال کنید. این کار باعث می‌شود کتابخانه‌ها روی سیستم اصلی نصب نشوند:

python3 -m venv venv
source venv/bin/activate

کتابخانه‌های اصلی LangChain را نصب کنید. ما از LangChain استفاده می‌کنیم چون یکی از محبوب‌ترین فریمورک‌های ساخت Agent است:

pip install langchain langchain-openai python-dotenv

فایل .env بسازید و کلید API خود را در آن قرار دهید:

nano .env

محتوای فایل:

OPENAI_API_KEY=sk-your-actual-api-key-here

حالا فایل agent.py را بسازید. این یک Agent ساده است که پیام شما را دریافت کرده و پاسخ تولید می‌کند:

nano agent.py

محتوای فایل:

from langchain_openai import ChatOpenAI
from dotenv import load_dotenv

load_dotenv()

model = ChatOpenAI(model="gpt-4.1-mini")

print("AI Agent آماده است. برای خروج 'exit' بنویسید.")
while True:
    user = input("You: ")
    if user.lower() == "exit":
        break
    response = model.invoke(user)
    print(f"Agent: {response.content}")

اجرای Agent:

python agent.py

اگر پاسخ دریافت کردید، Agent پایه شما کار می‌کند. اما هنوز یک مشکل بزرگ وجود دارد: اگر SSH را ببندید، Agent متوقف می‌شود. در بخش بعدی این را حل می‌کنیم.

🔹 چگونه Agent را همیشه روشن نگه داریم؟ (Systemd)

وقتی SSH را می‌بندید، تمام پروسه‌های وابسته به آن Session متوقف می‌شوند. برای حل این مشکل از Systemd استفاده می‌کنیم که مدیر سرویس‌های لینوکس است. با این کار، Agent به‌صورت یک سرویس پس‌زمینه اجرا می‌شود و حتی پس از ری‌استارت سرور هم خودکار بالا می‌آید [citation:2][citation:15].

فایل سرویس را بسازید:

nano /etc/systemd/system/ai-agent.service

محتوای فایل سرویس:

[Unit]
Description=AI Agent Service
After=network.target

[Service]
Type=simple
WorkingDirectory=/root/ai-agent
ExecStart=/root/ai-agent/venv/bin/python agent.py
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
⚠️ مهم: مقدار WorkingDirectory و ExecStart را با مسیر واقعی پروژه خود تطبیق دهید. اگر پروژه در جای دیگری است، مسیر را تغییر دهید.

حالا Systemd را از تغییرات مطلع کنید و سرویس را فعال و اجرا کنید:

systemctl daemon-reload
systemctl enable ai-agent
systemctl start ai-agent

بررسی وضعیت سرویس:

systemctl status ai-agent

اگر وضعیت active (running) بود، Agent شما اکنون ۲۴ ساعته روشن است و حتی با بستن SSH هم متوقف نمی‌شود.

Agent شما به منابع پایدار و بدون قطعی نیاز دارد

اگر Agent شما روی سرورهای اشتراکی یا با منابع محدود اجرا شود، ممکن است وسط انجام یک وظیفه مهم Crash کند. سرور مجازی ایرانیکاسرور با منابع اختصاصی، پهنای باند پرسرعت و پشتیبانی فنی ۲۴/۷ تضمین می‌کند دستیار هوشمند شما همیشه در دسترس باشد.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

🔹 اضافه کردن حافظه دائمی به Agent

Agent پایه‌ای که ساختیم حافظه ندارد. هر بار که برنامه را ری‌استارت کنید، تمام context از دست می‌رود. برای یک دستیار واقعی، حافظه ضروری است. خوشبختانه LangChain چندین گزینه برای حافظه بلندمدت ارائه می‌دهد [citation:3][citation:14].

نوع حافظه مناسب برای سطح
InMemoryStore تست و توسعه سریع مبتدی
Redis حافظه سریع و موقت متوسط
PostgreSQL حافظه پایدار و ساختاریافته حرفه‌ای
Vector Database جستجوی معنایی در حافظه پیشرفته

برای شروع، ساده‌ترین راه استفاده از PostgreSQL است که هم پایدار است و هم امکانات جستجوی پیشرفته دارد. LangChain یک کلاس PostgresSaver ارائه می‌دهد که می‌توانید مستقیماً در پروژه خود استفاده کنید [citation:14].

🔹 با PostgreSQL، Agent شما می‌تواند مکالمات قبلی را به خاطر بسپارد
🔹 اطلاعات کاربران را ذخیره کند
🔹 بین Sessionهای مختلف، context خود را حفظ کند

🔹 روش حرفه‌ای: اجرا با Docker

اگر می‌خواهید پروژه را در محیط Production اجرا کنید، Docker انتخاب بهتری است. مزایای Docker:

🔹 جداسازی کامل محیط اجرا از سیستم اصلی
🔹 انتقال آسان بین سرورها
🔹 مدیریت خودکار restart در صورت crash
🔹 مناسب برای CI/CD و Deploymentهای حرفه‌ای

فایل Dockerfile بسازید:

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "agent.py"]

فایل requirements.txt را از محیط مجازی بسازید:

pip freeze > requirements.txt

فایل docker-compose.yml بسازید تا مدیریت سرویس ساده‌تر شود:

version: "3.8"
services:
  agent:
    build: .
    restart: always
    env_file:
      - .env
    volumes:
      - ./data:/app/data

اجرا:

docker compose up -d

🔹 عیب‌یابی مشکلات رایج

🔹 مشکل: Agent بعد از بستن SSH خاموش می‌شود

دلیل: برنامه را مستقیماً در ترمینال اجرا کرده‌اید. با بستن SSH، پروسه فرزند آن Session هم kill می‌شود.

راه‌حل: از Systemd یا Docker استفاده کنید (در بخش‌های قبلی توضیح داده شد).

🔹 مشکل: مصرف RAM بالا و کند شدن سرور

دلایل: Memory Leak، اجرای چند Agent همزمان، یا استفاده از مدل‌های Local بزرگ.

راه‌حل: وضعیت حافظه را بررسی کنید:

htop
free -h

اگر RAM پر شده، Swap اضافه کنید:

fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

🔹 مشکل: خطای API و پاسخ نگرفتن از Agent

دلایل: کلید API اشتباه، اتمام موجودی، یا محدودیت نرخ درخواست.

راه‌حل: لاگ سرویس را بررسی کنید:

journalctl -u ai-agent -n 50 --no-pager

کلید API را در فایل .env دوباره بررسی کنید.

🔹 مشکل: امنیت VPS

راه‌حل: فایروال را فعال کنید و پورت‌های ضروری را باز بگذارید:

ufw allow ssh
ufw allow 443
ufw enable

نصب Fail2Ban برای جلوگیری از حملات Brute Force:

apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

در اجرای Agent روی VPS به مشکل خورده‌اید؟

تیم فنی ایرانیکاسرور آماده است تا در انتخاب منابع مناسب، کانفیگ بهینه، رفع خطاهای اجرایی و امنیت سرور شما را همراهی کند. همین حالا درخواست خود را ثبت کنید.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

🔹 جمع‌بندی

ساخت یک AI Agent همیشه‌روشن روی VPS دیگر یک پروژه پیچیده نیست. با Systemd یا Docker، Agent شما ۲۴ ساعته فعال می‌ماند و از هر نقطه‌ای قابل دسترسی است.

نکات کلیدی این آموزش:

🔹 انتخاب منابع مناسب: برای Agentهای API-based، ۲ هسته و ۴GB RAM کافی است
🔹 Systemd: ساده‌ترین راه برای اجرای همیشگی
🔹 Docker: مناسب برای پروژه‌های حرفه‌ای و Production
🔹 حافظه: برای دستیار واقعی، PostgreSQL یا Redis ضروری است
🔹 امنیت: فایروال و Fail2Ban را فراموش نکنید

با یک VPS مناسب و پیکربندی صحیح، دستیار هوش مصنوعی شخصی شما می‌تواند به یک ابزار واقعی و کاربردی در زندگی روزمره و کار تبدیل شود.

این آموزش برایت مفید بود؟ می‌توانی لینک آن را ذخیره یا برای دیگران ارسال کنی.

Amir Jabbari

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

سرویس مرتبط را ببین؛ معرفی خدمات در این بخش کوتاه نگه داشته شده تا تمرکز اصلی صفحه روی آموزش باقی بماند.

ایرانیکاسرور
گفت‌وگو درباره آموزش

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.