
در این مقاله
برای ساخت ایجنتی که بعد از بستهشدن مرورگر یا ریاستارت سرویس، کار نیمهتمامش را پیدا کند، فقط انتخاب یک مدل قوی کافی نیست. باید بدانیم اجرا کجا متوقف شده، چه دادهای ذخیره شده و ادامه کدام کار هنوز مجاز است. LangGraph برای تعریف چنین جریانهایی، وضعیت برنامه را میان گرههای یک گراف جابهجا میکند. در این آموزش، مدل پاسخگو را از API هوش مصنوعی پاستا میگیریم و مسئولیت ادامه اجرا، ذخیره وضعیت و تأیید کاربر را در برنامه خودمان نگه میداریم.
مثال ما یک دستیار تهیه پیشنویس پاسخ پشتیبانی است: درخواست را میگیرد، متن پیشنهادی میسازد و قبل از تأیید انسانی متوقف میشود. هیچ ایمیلی ارسال نمیکند و هیچ پرداخت یا تغییر سفارشی انجام نمیدهد. ابتدا با ذخیرهسازی محلی پایدار کار میکنیم؛ سپس مسیر انتقال به PostgreSQL و استقرار روی پاستا را بررسی میکنیم. مبنای مستندات، ۲۹ اکتبر ۲۰۲۶ است. نمونه اتصال، قرارداد Chat Completions پاستا را استفاده میکند؛ موفقیت هر مدل، کیفیت فارسی و هزینه واقعی آن باید در حساب خودتان آزمایش شود.
LangGraph چیست و چه مسئلهای را حل میکند؟
در یک برنامه ساده، یک پیام به مدل میفرستید و پاسخ را نمایش میدهید. اما کار واقعی ممکن است شامل خواندن یک سند، تهیه پیشنویس، انتظار برای تأیید و سپس ثبت نتیجه باشد. LangGraph این مراحل را به گرهها و مسیرهای مشخص تبدیل میکند. هر گره بخشی از وضعیت را میخواند و تغییر آن را برمیگرداند. مزیت این ساختار، قابل مشاهدهشدن مسیر کار و جداشدن تصمیمهای برنامه از متن تولیدشده مدل است؛ نه اینکه مدل دیگر خطا نکند یا هر کار طولانی خودبهخود قابل بازیابی شود.
برای آشنایی با تصویر بزرگتر، معماری اجرای AI Agent در محیط عملیاتی را ببینید. اینجا روی یک قسمت مشخص تمرکز داریم: چگونه اجرای متوقفشده را با همان شناسه پیدا کنیم و بدون تکرار بیدلیل کار قبلی ادامه بدهیم. اگر تنها یک پرسش کوتاه و بدون ابزار دارید، اضافهکردن گراف ممکن است ضرورتی نداشته باشد. زمانی سراغ آن بروید که وضعیت، شاخههای مختلف یا انتظار برای ورودی بیرونی واقعاً بخشی از نیاز محصول است.
Checkpoint با حافظه بلندمدت و RAG یکی نیست
Checkpoint تصویر وضعیت یک اجرای مشخص است؛ مثلاً اینکه پیشنویس آماده شده و برنامه منتظر تأیید است. حافظه بلندمدت، اطلاعاتی است که ممکن است در چند گفتوگوی جدا استفاده شود، مانند ترجیح زبانی کاربر. RAG نیز روش بازیابی اطلاعات مرتبط از اسناد است. نگهداشتن همه این موارد در یک جدول یا فرستادن کل تاریخچه به مدل، مرزهای دسترسی و هزینه را مبهم میکند. در مستند رسمی ماندگاری LangGraph، Checkpointer و Store مسئولیتهای جدا دارند.
اگر به بازیابی معنایی نیاز دارید، آموزش حافظه بلندمدت ایجنت با PostgreSQL و Embedding مکمل این مقاله است. برای مثال پشتیبانی، ممکن است مشخصات مجاز محصول را از پایگاه دانش بگیرید، ولی شناسه مشتری، مجوز مشاهده سفارش و مرحله جاری کار را همچنان از پایگاه داده برنامه بخوانید. مدل نباید با یک متن بازیابیشده تصمیم بگیرد که کاربر حق مشاهده اطلاعات حساب دیگری را دارد.
پیشنیازها و انتخاب مدل در پاستا
یک محیط پایتون جدا، کلید مستقل API و شناسه دقیق یک مدل متنی موجود لازم دارید. در صفحه API هوش مصنوعی پاستا مدلها، قیمت تومانی و کنترل مصرف را بررسی کنید. شناسه مدل را از کاتالوگ حساب بردارید؛ نام نمایشی یا یک شناسه قدیمی را حدس نزنید. این مثال فقط متن میخواهد و به قابلیت فراخوانی ابزار وابسته نیست. برای نسخه بعدی که مدل ابزار انتخاب میکند، پشتیبانی همان مدل از Tool Calling باید جدا تأیید شود.
کلید را در متغیر محیطی بگذارید، نه در فایل HTML، مخزن Git یا کد فرانتاند. بهتر است کلید این آزمایش از محصول اصلی جدا باشد و هر محدودیت مصرفی که در حساب در دسترس است برای آن تنظیم شود. قیمت API با هزینه میزبانی برنامه و دیتابیس یکی نیست. اگر چند نفر از دستیار استفاده کنند، تعداد فراخوانی، طول پیام و تلاش مجدد میتواند هزینه مدل را افزایش دهد، حتی وقتی مصرف پردازنده برنامه کم است. مسیر اتصال در مستندات API پاستا توضیح داده شده است.
نصب و تنظیم محیط آزمایش
در یک پوشه آزمایشی، محیط مجازی بسازید و بستههای مورد نیاز را نصب کنید. فرمانهای زیر برای پوسته سازگار با Bash هستند؛ در ویندوز میتوانید از WSL استفاده کنید یا فرمان فعالسازی محیط را متناسب با PowerShell تغییر دهید. بعد از موفقیت آزمایش، نسخههای دقیق نصبشده را در فایل قفل یا خروجی وابستگیهای پروژه ثبت کنید. نصب همیشگی آخرین نسخه هنگام هر انتشار، جای آزمون سازگاری را نمیگیرد؛ بهخصوص وقتی قالب Checkpoint یا نسخه درایور دیتابیس تغییر میکند.
python -m venv .venv
source .venv/bin/activate
python -m pip install langgraph langgraph-checkpoint-sqlite
export PAASTA_API_KEY='YOUR_SCOPED_KEY'
export PAASTA_MODEL='EXACT_MODEL_ID_FROM_CATALOG'
export LANGGRAPH_STRICT_MSGPACK=true
در برنامه زیر از کتابخانه استاندارد پایتون برای درخواست HTTP استفاده کردهایم تا قرارداد اتصال روشن بماند. اگر SDK را ترجیح میدهید، راهنمای اتصال SDK سازگار با OpenAI به پاستا مسیر جایگزین است. این انتخاب به معنی یکسانبودن همه قابلیتهای سرویسهای مختلف نیست؛ پارامترهای خاص یک ارائهدهنده، Responses API و ابزارهای میزبانیشده آن را نباید خودکار به هر endpoint سازگار تعمیم داد.


نظرات کاربران (۰)
هنوز نظری ثبت نشده است. اولین نفر باشید.