Langflow چیست؟ آموزش ساخت Agent هوش مصنوعی با API درواره
در این آموزش Langflow را با Docker نصب میکنیم، آن را به API درواره متصل میکنیم و با ویرایشگر تصویری، یک Agent هوش مصنوعی قابلفراخوانی از طریق API میسازیم.
برای ساخت یک Agent هوش مصنوعی معمولاً باید مدل زبانی، پرامپت، ابزارها، حافظه، ورودی کاربر و خروجی برنامه را با کد به یکدیگر متصل کنیم. Langflow این فرایند را به یک محیط تصویری تبدیل میکند که در آن اجزای مختلف را روی صفحه قرار میدهید و ارتباط میان آنها را مشخص میکنید.
Langflow یک پلتفرم متنباز و مبتنی بر Python برای ساخت Agentها و جریانهای کاری هوش مصنوعی است. این ابزار از مدلهای مختلف، پایگاههای برداری، APIها، ابزارهای Agent، RAG و MCP پشتیبانی میکند و برای استفاده از آن به یک ارائهدهنده خاص محدود نیستید.
یکی از قابلیتهای مهم Langflow، پشتیبانی داخلی از سرویسهای سازگار با OpenAI است. به همین دلیل میتوان آن را مستقیماً به API درواره متصل کرد و مدلهای موجود در درواره را از داخل ویرایشگر تصویری Langflow به کار گرفت.
در این آموزش Langflow را با Docker نصب میکنیم، API درواره را بهعنوان یک OpenAI Compatible Provider معرفی میکنیم، نخستین Agent را میسازیم و آن را از طریق API در یک برنامه خارجی فراخوانی میکنیم.
Langflow چیست؟
Langflow یک محیط بصری برای ساخت برنامههای مبتنی بر مدلهای زبانی است. در این محیط، هر بخش از برنامه بهشکل یک Component یا گره نمایش داده میشود.
برای مثال یک جریان ساده چت میتواند از اجزای زیر تشکیل شود:
- Chat Input برای دریافت پیام کاربر
- Language Model برای ارتباط با مدل هوش مصنوعی
- Prompt Template برای ساخت دستور
- Agent برای تصمیمگیری و استفاده از ابزارها
- Memory برای نگهداری سابقه گفتگو
- Chat Output برای نمایش پاسخ
این اجزا بهصورت تصویری به یکدیگر متصل میشوند. بنابراین میتوانید مسیر حرکت داده را ببینید، هر قسمت را جداگانه تنظیم کنید و بدون بازنویسی کل برنامه، یک Component را تغییر دهید.
Langflow در مستندات رسمی بهعنوان یک Framework متنباز، قابل سفارشیسازی و مبتنی بر Python معرفی شده است که برای ساخت برنامههای هوش مصنوعی، Agent و جریانهای مبتنی بر MCP به کار میرود. مستندات رسمی Langflow
Langflow چه کاربردی دارد؟
با Langflow میتوان پروژههای مختلفی ساخت، از جمله:
- چتبات پاسخگویی به مشتریان
- دستیار داخلی سازمان
- Agent متصل به APIهای مختلف
- دستیار تحلیل فایل و اسناد
- سیستم تولید و بازنویسی محتوا
- جریان استخراج اطلاعات از متن
- پردازش خودکار پیامهای کاربران
- برنامههای مبتنی بر RAG
- Agent متصل به پایگاه داده
- ابزار خلاصهسازی گزارشها
- دستیار جستوجو در دانش سازمانی
- MCP Server برای استفاده در Agentهای دیگر
- Backend هوش مصنوعی برای وبسایت یا اپلیکیشن
Langflow فقط یک ابزار آزمایشی نیست. هر Flow ساختهشده را میتوان از طریق API، Webhook، چت تعبیهشده یا MCP در برنامههای دیگر استفاده کرد.
Langflow چگونه کار میکند؟
در Langflow هر Component وظیفه مشخصی دارد. خروجی یک Component میتواند به ورودی Component بعدی متصل شود.
برای مثال، در یک جریان چت ساده مراحل زیر اتفاق میافتند:
- کاربر پیام خود را در Chat Input وارد میکند.
- پیام به Agent ارسال میشود.
- Agent پیام و دستور سیستمی را بررسی میکند.
- Agent در صورت نیاز یک ابزار را انتخاب میکند.
- درخواست مدل به API درواره ارسال میشود.
- پاسخ مدل به Agent بازمیگردد.
- پاسخ نهایی به Chat Output منتقل میشود.
- نتیجه در Playground یا برنامه خارجی نمایش داده میشود.
این ساختار تصویری باعث میشود مسیر اجرای برنامه، وابستگیها و نقاط خطا راحتتر دیده شوند.
چرا Langflow برای کاربران ایرانی مناسب است؟
Langflow متنباز و خودمیزبان است. میتوانید آن را روی کامپیوتر شخصی، سرور داخلی یا سرور ابری خودتان اجرا کنید. استفاده از نسخه متنباز آن به خرید اشتراک خارجی نیاز ندارد.
با اتصال Langflow به درواره:
- هزینه مدلهای هوش مصنوعی بهصورت ریالی پرداخت میشود.
- نیازی به خرید مستقیم اعتبار از ارائهدهندگان خارجی ندارید.
- مدلهای مختلف از طریق یک API در دسترس قرار میگیرند.
- آدرس پایه API ثابت میماند.
- میتوانید مدل را بدون تغییر معماری Flow عوض کنید.
- امکان مدیریت مصرف از پنل درواره وجود دارد.
- Langflow روی زیرساخت تحت کنترل شما اجرا میشود.
پس از نصب، استفاده روزمره از ویرایشگر Langflow به یک سرویس خارجی میزبانیشده وابسته نیست. تنها درخواستهای مربوط به مدل انتخابشده برای پردازش به API درواره ارسال میشوند.
تفاوت Langflow با LangChain چیست؟
LangChain یک Framework برنامهنویسی است و معمولاً برای استفاده از آن باید کد Python یا JavaScript بنویسید. Langflow بسیاری از مفاهیم مشابه را در یک محیط تصویری ارائه میکند.
| ویژگی | Langflow | LangChain |
|---|---|---|
| روش ساخت | ویرایشگر تصویری | برنامهنویسی |
| زبان اصلی | رابط بصری و Python | Python و JavaScript |
| مناسب نمونهسازی سریع | بسیار مناسب | نیازمند کدنویسی |
| ساخت Component سفارشی | بله | بله |
| مشاهده مسیر داده | تصویری | از طریق کد و Log |
| ساخت API از Flow | داخلی | نیازمند پیادهسازی |
| مناسب توسعهدهنده | بله | بله |
| مناسب افراد کمتجربهتر | سادهتر | دشوارتر |
Langflow جایگزین کامل برنامهنویسی نیست. برای منطقهای بسیار خاص همچنان ممکن است به Custom Component یا کد Python نیاز داشته باشید؛ اما برای طراحی، آزمایش و اتصال اجزای متداول، سرعت توسعه را افزایش میدهد.
تفاوت Langflow، Flowise و Dify
| ابزار | تمرکز اصلی | فناوری اصلی | مناسب برای |
|---|---|---|---|
| Langflow | ساخت تصویری Flow و Agent | Python | توسعهدهندگان Python و نمونهسازی Agent |
| Flowise | ساخت جریانهای مبتنی بر LangChain | Node.js | توسعهدهندگان JavaScript |
| Dify | ساخت و مدیریت اپلیکیشن هوش مصنوعی | پلتفرم کامل | تیمهای محصول و اپلیکیشنسازی |
| LangGraph | ساخت Agentهای Stateful با کد | Python و JavaScript | Agentهای پیچیده و کنترلپذیر |
Langflow برای افرادی مناسب است که یک ویرایشگر تصویری میخواهند، اما همچنان به Componentهای Python، API، MCP و امکان توسعه سفارشی نیاز دارند.
امکانات مهم Langflow
ویرایشگر تصویری
Componentها را میتوان با کشیدن و رهاکردن روی صفحه قرار داد و به یکدیگر متصل کرد. این قابلیت برای طراحی و عیبیابی Flow بسیار مفید است.
Agent
Agent میتواند براساس درخواست کاربر تصمیم بگیرد چه ابزاری را اجرا کند و چگونه از خروجی ابزار برای تولید پاسخ استفاده کند.
مدلهای مختلف
Langflow از Providerهای متعدد و Endpointهای سازگار با OpenAI پشتیبانی میکند. مدلها را میتوان از بخش Model Providers مدیریت کرد.
RAG و پایگاه برداری
میتوانید اسناد را پردازش، بخشبندی و به یک Vector Store متصل کنید تا پاسخ مدل براساس اطلاعات اختصاصی تولید شود.
API داخلی
هر Flow را میتوان از طریق API اجرا کرد. Langflow برای Flowها نمونه کدهای Python، JavaScript و curl تولید میکند.
MCP
Langflow میتواند هم بهعنوان MCP Client و هم MCP Server استفاده شود. بنابراین Flowها را میتوان بهعنوان ابزار در اختیار Agentهای دیگر قرار داد.
Custom Component
اگر Component موردنیاز در Langflow وجود نداشته باشد، میتوانید Component سفارشی خود را با Python بنویسید.
پیشنیازهای نصب Langflow
برای دنبالکردن این آموزش به موارد زیر نیاز دارید:
- کامپیوتر یا سرور دارای Windows، Linux یا macOS
- Docker و Docker Compose
- حداقل ۲ گیگابایت RAM برای آزمایش ساده
- ترجیحاً ۴ گیگابایت RAM یا بیشتر
- مرورگر وب
- حساب کاربری درواره
- کلید API درواره
- شناسه یک مدل مناسب Agent و Tool Calling
مستندات رسمی برای نصب Python، نسخههای Python 3.10 تا 3.14 را پشتیبانی میکنند؛ اما برای جلوگیری از تداخل وابستگیها، در این مقاله از Docker استفاده میکنیم. راهنمای رسمی نصب Langflow
مرحله اول: دریافت کلید API درواره
ابتدا وارد درواره شوید و از پنل کاربری یک کلید API بسازید.
کلید API را داخل کد Frontend، Repository عمومی یا فایلهایی که در اختیار دیگران قرار میگیرند ننویسید.
برای بررسی کلید و دریافت فهرست مدلها میتوانید از دستور زیر استفاده کنید:
curl https://api.darvareh.ir/v1/models \
-H "Authorization: Bearer YOUR_DARVAREH_API_KEY"
در خروجی، شناسه دقیق مدل موردنظر را از فیلد id کپی کنید.
برای Flowهای Agent بهتر است مدلی را انتخاب کنید که از Tool Calling پشتیبانی کند و در دنبالکردن دستورهای چندمرحلهای عملکرد مناسبی داشته باشد.
مرحله دوم: نصب Langflow با Docker
برای اجرای Langflow روی سیستم محلی، دستور زیر را اجرا کنید:
docker run -d \
--name langflow \
--restart unless-stopped \
-p 7860:7860 \
-e LANGFLOW_HOST=0.0.0.0 \
-e LANGFLOW_PORT=7860 \
-e LANGFLOW_AUTO_LOGIN=false \
-e LANGFLOW_SUPERUSER_PASSWORD="YOUR_STRONG_PASSWORD" \
-v langflow-data:/app/langflow \
langflowai/langflow:latest
مقدار زیر را با یک رمز مناسب جایگزین کنید:
YOUR_STRONG_PASSWORD
وضعیت کانتینر را بررسی کنید:
docker ps
برای مشاهده Logها:
docker logs -f langflow
پس از راهاندازی، آدرس زیر را در مرورگر باز کنید:
http://localhost:7860
اگر Langflow روی سرور نصب شده است، از IP سرور استفاده کنید:
http://SERVER_IP:7860
نام کاربری پیشفرض Superuser برابر است با:
langflow
رمز عبور همان مقداری است که در LANGFLOW_SUPERUSER_PASSWORD قرار دادید.
نسخههای جدید Image رسمی Langflow، ورود خودکار را بهصورت پیشفرض غیرفعال میکنند و در صورت غیرفعالبودن Auto Login باید رمز Superuser مشخص شود. راهنمای رسمی استقرار با Docker
چرا از Volume استفاده کردیم؟
در دستور نصب، بخش زیر یک Docker Volume میسازد:
-v langflow-data:/app/langflow
این Volume کمک میکند فایلها و اطلاعات Langflow با توقف یا تعویض کانتینر از بین نروند.
وجود Volume جای نسخه پشتیبان را نمیگیرد، اما از وابستگی مستقیم دادهها به عمر کانتینر جلوگیری میکند.
مرحله سوم: اتصال Langflow به API درواره
پس از ورود به Langflow مراحل زیر را انجام دهید:
- روی آیکون پروفایل کلیک کنید.
- وارد Settings شوید.
- بخش Model Providers را باز کنید.
- Provider با نام OpenAI Compatible را انتخاب کنید.
- در قسمت Base URL آدرس زیر را قرار دهید:
https://api.darvareh.ir/v1
- در قسمت API Key، کلید API درواره را وارد کنید.
- روی Save کلیک کنید.
Langflow اتصال را از طریق مسیر /v1/models بررسی میکند و مدلهای قابلدسترسی را شناسایی خواهد کرد.
بعد از دریافت مدلها:
- مدلهای موردنیاز را در بخش Language Models پیدا کنید.
- مدلهایی را که میخواهید در Flowها استفاده شوند فعال کنید.
- تغییرات را ذخیره کنید.
پس از این مرحله، Provider نوع OpenAI Compatible و مدلهای درواره در Componentهای Language Model و Agent نمایش داده خواهند شد.
پشتیبانی OpenAI Compatible بهصورت داخلی همراه Langflow نصب میشود و برای استفاده از آن به Component خارجی یا کدنویسی جداگانه نیاز ندارید. مستندات OpenAI Compatible در Langflow
تفاوت کلید API درواره و کلید API Langflow
در این معماری با دو نوع کلید مواجه میشوید:
| کلید | کاربرد |
|---|---|
| کلید API درواره | اتصال Langflow به مدل هوش مصنوعی |
| کلید API Langflow | فراخوانی Flow از برنامه خارجی |
کلید درواره در Model Provider قرار میگیرد. کلید Langflow زمانی استفاده میشود که بخواهید Flow ساختهشده را از وبسایت، اپلیکیشن یا Backend فراخوانی کنید.
این دو کلید جایگزین یکدیگر نیستند.
مرحله چهارم: ساخت نخستین Flow
از صفحه اصلی Langflow روی New Flow کلیک کنید.
برای شروع دو انتخاب دارید:
- استفاده از قالب Simple Agent
- ساخت Flow از گزینه Blank Flow
در این آموزش از Blank Flow استفاده میکنیم تا ارتباط Componentها مشخص باشد.
Componentهای زیر را به صفحه اضافه کنید:
- Chat Input
- Agent
- Chat Output
اتصالها باید به این صورت باشند:
Chat Input → Agent → Chat Output
خروجی Chat Input را به ورودی Agent و خروجی Agent را به Chat Output متصل کنید.
مرحله پنجم: تنظیم Agent
روی Component مربوط به Agent کلیک کنید.
در قسمت Language Model:
- Provider را روی OpenAI Compatible قرار دهید.
- یکی از مدلهای فعالشده درواره را انتخاب کنید.
- در صورت نمایش تنظیمات Temperature، مقدار متعادل انتخاب کنید.
- دستور سیستمی Agent را وارد کنید.
نمونه دستور سیستمی:
شما یک دستیار فارسیزبان دقیق هستید.
پاسخها را براساس درخواست کاربر، کوتاه و ساختاریافته ارائه کنید.
اگر اطلاعات کافی ندارید، این موضوع را شفاف اعلام کنید.
از ساختن اطلاعات، آمار یا منبع خودداری کنید.
اکنون Flow را ذخیره کنید و نامی مانند زیر برای آن قرار دهید:
Darvareh Persian Assistant
مرحله ششم: آزمایش در Playground
روی دکمه Playground کلیک کنید و یک پیام آزمایشی بفرستید:
Langflow را در سه بند کوتاه برای یک توسعهدهنده توضیح بده.
اگر اتصال صحیح باشد:
- پیام از Chat Input دریافت میشود.
- Agent مدل انتخابشده درواره را فراخوانی میکند.
- پاسخ از طریق Chat Output نمایش داده میشود.
در اولین آزمایش بهتر است Flow ساده باشد. پس از اطمینان از اتصال مدل، Memory، ابزارها و Componentهای بیشتر را اضافه کنید.
مرحله هفتم: اضافهکردن ابزار به Agent
Agent زمانی ارزش بیشتری پیدا میکند که بتواند ابزار مناسب را براساس درخواست کاربر انتخاب کند.
برای نمونه میتوانید Component مربوط به Read File را اضافه کنید:
- Component مربوط به Read File را روی صفحه قرار دهید.
- یک فایل نمونه بارگذاری کنید.
- در صورت نیاز Tool Mode را برای Component فعال کنید.
- خروجی Toolset یا Tool آن را به ورودی Tools در Agent متصل کنید.
- توضیح ابزار را دقیق و مشخص بنویسید.
سپس در Playground از Agent بپرسید:
فایل بارگذاریشده را بررسی کن و مهمترین موضوعات آن را بهصورت فهرست ارائه بده.
Agent باید تشخیص دهد که برای پاسخگویی لازم است ابزار خواندن فایل را اجرا کند.
توضیح هر ابزار اهمیت زیادی دارد. اگر توضیح مبهم باشد، مدل ممکن است ابزار را در زمان نامناسب اجرا کند یا اصلاً از آن استفاده نکند.
مستندات رسمی Langflow نیز ساخت Agent را براساس اتصال Componentهای Tool به ورودی Tools توضیح میدهند. راهنمای Agent در Langflow
مرحله هشتم: ذخیره کلید در Global Variables
بهتر است کلیدهای سرویسها مستقیماً در Componentهای متعدد تکرار نشوند.
برای ساخت Global Variable:
- وارد Settings شوید.
- بخش Global Variables را باز کنید.
- روی Add New کلیک کنید.
- نام متغیر را وارد کنید.
- نوع آن را روی Credential قرار دهید.
- کلید را در قسمت Value وارد کنید.
- متغیر را ذخیره کنید.
Langflow مقادیر Global Variable را در پایگاه داده داخلی خود بهصورت رمزگذاریشده نگهداری میکند. متغیرهای نوع Credential نیز در ویرایشگر مخفی نمایش داده میشوند. راهنمای Global Variables
مرحله نهم: ساخت کلید API Langflow
برای فراخوانی Flow از برنامه خارجی به کلید API Langflow نیاز دارید.
مراحل ساخت کلید:
- روی آیکون پروفایل کلیک کنید.
- وارد Settings شوید.
- بخش Langflow API Keys را باز کنید.
- روی Add New کلیک کنید.
- یک نام مانند
website-backendوارد کنید. - کلید را ایجاد و در محل مناسبی ذخیره کنید.
کلید فقط هنگام ساخت بهصورت کامل نمایش داده میشود. آن را در کد سمت مرورگر قرار ندهید.
مرحله دهم: دریافت Flow ID
Flow موردنظر را باز کنید و روی Share کلیک کنید. سپس وارد بخش API access شوید.
Langflow برای Flow شما نمونه کدهای آماده در قالبهای مختلف تولید میکند:
- curl
- Python
- JavaScript
- API نسخه اول
- Workflow API
نمونههای تولیدشده شامل آدرس سرور، Flow ID، Headerها و پارامترهای موردنیاز هستند.
بهتر است نمونه کد تولیدشده داخل همین بخش را مبنای اصلی اتصال برنامه قرار دهید؛ زیرا براساس نسخه Langflow و ساختار Flow شما ساخته میشود.
فراخوانی Flow با curl
ابتدا متغیر کلید Langflow را تعریف کنید:
export LANGFLOW_API_KEY="YOUR_LANGFLOW_API_KEY"
سپس Flow را فراخوانی کنید:
curl --request POST \
--url "http://localhost:7860/api/v1/run/YOUR_FLOW_ID" \
--header "Content-Type: application/json" \
--header "x-api-key: $LANGFLOW_API_KEY" \
--data '{
"input_value": "سه پیشنهاد برای بهبود پشتیبانی مشتری ارائه بده.",
"input_type": "chat",
"output_type": "chat"
}'
مقادیر زیر را جایگزین کنید:
YOUR_LANGFLOW_API_KEY
YOUR_FLOW_ID
در Langflow نسخه 1.5 و جدیدتر، بیشتر Endpointهای API به کلید Langflow نیاز دارند. این کلید معمولاً در Header با نام x-api-key ارسال میشود. راهنمای API Langflow
فراخوانی Flow با Python
ابتدا کتابخانه Requests را نصب کنید:
pip install requests
سپس کد زیر را اجرا کنید:
import os
import requests
LANGFLOW_URL = "http://localhost:7860"
FLOW_ID = "YOUR_FLOW_ID"
LANGFLOW_API_KEY = os.environ["LANGFLOW_API_KEY"]
payload = {
"input_value": "یک متن کوتاه برای معرفی محصول بنویس.",
"input_type": "chat",
"output_type": "chat",
}
response = requests.post(
f"{LANGFLOW_URL}/api/v1/run/{FLOW_ID}",
headers={
"Content-Type": "application/json",
"x-api-key": LANGFLOW_API_KEY,
},
json=payload,
timeout=120,
)
response.raise_for_status()
print(response.json())
کلید API در این نمونه از Environment Variable خوانده میشود و داخل کد قرار نمیگیرد.
انتشار چتبات در وبسایت
Langflow برای Flowهایی که Chat Input و Chat Output دارند، یک Web Component آماده ارائه میکند.
برای دریافت کد:
- Flow را باز کنید.
- روی Share کلیک کنید.
- گزینه Embed into site را انتخاب کنید.
- کد تولیدشده را دریافت کنید.
- آدرس HTTPS سرور و Flow ID را بررسی کنید.
این روش برای آزمایش و نمونهسازی سریع مناسب است. برای محصول عملیاتی بهتر است درخواستها از Backend خودتان عبور کنند تا کلید Langflow مستقیماً در کد Frontend قرار نگیرد.
Langflow علاوه بر API، امکان انتشار Flow از طریق چت تعبیهشده، MCP Server و Endpoint سازگار با OpenAI Responses را نیز ارائه میکند. راهنمای انتشار Flow
استفاده از Langflow بهعنوان MCP Server
Langflow میتواند Flowهای ساختهشده را بهعنوان ابزار MCP در اختیار Clientهای سازگار قرار دهد.
در این معماری:
- Flow در Langflow ساخته میشود.
- ورودی و خروجی مناسب برای آن تعریف میشود.
- Flow از طریق MCP Server در دسترس قرار میگیرد.
- Agent خارجی آن را بهعنوان یک Tool مشاهده میکند.
- Agent در صورت نیاز Flow را فراخوانی میکند.
این قابلیت برای اتصال Langflow به Agentهای برنامهنویسی، دستیارهای دسکتاپ و سیستمهای چندعاملی مفید است.
Langflow از Streamable HTTP و SSE برای MCP Server پشتیبانی میکند. مستندات MCP Server در Langflow
نصب Langflow با Docker Compose و PostgreSQL
دستور docker run برای شروع سریع مناسب است. برای استفاده تیمی یا عملیاتی، Docker Compose و PostgreSQL انتخاب مناسبتری هستند.
مخزن Langflow دارای نمونه آماده Docker Compose است:
git clone https://github.com/langflow-ai/langflow.git
cd langflow/docker_example
فایل .env را بسازید و اطلاعات لازم را وارد کنید:
POSTGRES_USER=langflow
POSTGRES_PASSWORD=CHANGE_DATABASE_PASSWORD
POSTGRES_DB=langflow
LANGFLOW_DATABASE_URL=postgresql://langflow:CHANGE_DATABASE_PASSWORD@postgres:5432/langflow
LANGFLOW_CONFIG_DIR=/app/langflow
LANGFLOW_AUTO_LOGIN=false
LANGFLOW_SUPERUSER=langflow
LANGFLOW_SUPERUSER_PASSWORD=CHANGE_ADMIN_PASSWORD
سپس سرویسها را اجرا کنید:
docker compose up -d
وضعیت کانتینرها:
docker compose ps
مشاهده Log:
docker compose logs -f
نسخه Docker Compose رسمی Langflow از PostgreSQL و فضای ذخیرهسازی ماندگار استفاده میکند و برای توسعه به استقرار عملیاتی نزدیکتر است.
اتصال دامنه و HTTPS
برای دسترسی تیمی میتوانید زیردامنهای مانند نمونه زیر تعریف کنید:
flow.example.ir
رکورد DNS را به سرور متصل و با Nginx یا Caddy یک Reverse Proxy ایجاد کنید. درخواستها باید به پورت داخلی ۷۸۶۰ فرستاده شوند.
در استقرار عمومی:
- از HTTPS استفاده کنید.
- ورود خودکار را فعال نکنید.
- پورت ۷۸۶۰ را مستقیماً برای عموم باز نگذارید.
- PostgreSQL را روی اینترنت منتشر نکنید.
- برای حساب مدیر رمز مناسب تعیین کنید.
- از Flowها و پایگاه داده نسخه پشتیبان تهیه کنید.
این موارد بخشی از آمادهسازی عادی سرویس برای استفاده تیمی هستند و تغییری در ساختار Flow ایجاد نمیکنند.
مدیریت هزینه مدلها
Agent ممکن است برای یک درخواست چند بار مدل را فراخوانی کند. برنامهریزی، انتخاب ابزار، دریافت خروجی و تولید پاسخ نهایی میتوانند درخواستهای جداگانه ایجاد کنند.
برای کنترل هزینه:
- نخستین Flow را ساده نگه دارید.
- فقط ابزارهای ضروری را به Agent متصل کنید.
- توضیح ابزارها را دقیق بنویسید.
- برای کارهای ساده از مدل اقتصادیتر استفاده کنید.
- مدلهای قویتر را برای وظایف چندمرحلهای انتخاب کنید.
- متن دستور سیستمی را بیدلیل طولانی نکنید.
- خروجی ابزارها را قبل از ارسال به مدل محدود و پاکسازی کنید.
- از ارسال کامل فایلهای حجیم در هر درخواست خودداری کنید.
- مصرف API را از پنل درواره بررسی کنید.
- قبل از ارائه Flow به کاربران زیاد، الگوی مصرف آن را آزمایش کنید.
عیبیابی خطاهای رایج
مدلهای درواره نمایش داده نمیشوند
موارد زیر را بررسی کنید:
- Base URL دقیقاً
https://api.darvareh.ir/v1باشد. - کلید API معتبر باشد.
- حساب درواره موجودی کافی داشته باشد.
- کلید به مدلهای موردنظر دسترسی داشته باشد.
- پس از ذخیره Provider، مدلها در Language Models فعال شده باشند.
Langflow هنگام ذخیره OpenAI Compatible Provider مسیر /v1/models را بررسی میکند.
خطای 401 Unauthorized از درواره
این خطا معمولاً به کلید API مربوط است.
کلید را با درخواست مستقیم آزمایش کنید:
curl https://api.darvareh.ir/v1/models \
-H "Authorization: Bearer YOUR_DARVAREH_API_KEY"
اگر درخواست مستقیم نیز خطا داشت، کلید یا وضعیت حساب را در پنل درواره بررسی کنید.
خطای model not found
شناسه مدل انتخابشده باید با شناسهای که /v1/models برمیگرداند یکسان باشد.
Provider را دوباره ذخیره و فهرست مدلها را Refresh کنید. از واردکردن نام نمایشی مدل بهجای شناسه API خودداری کنید.
مدل پاسخ میدهد اما Agent ابزار را اجرا نمیکند
دلایل رایج:
- مدل از Tool Calling پشتیبانی نمیکند.
- توضیح ابزار مبهم است.
- اتصال Component ابزار به Agent اشتباه است.
- Component در Tool Mode قرار نگرفته است.
- درخواست کاربر استفاده از ابزار را ضروری نمیکند.
برای آزمایش، یک درخواست کاملاً مشخص بنویسید که بدون اجرای ابزار قابل پاسخگویی نباشد.
Langflow اجرا نمیشود
Log کانتینر را بررسی کنید:
docker logs langflow
یا در Docker Compose:
docker compose logs langflow
دلایل رایج عبارتاند از:
- Docker اجرا نشده است.
- پورت ۷۸۶۰ اشغال است.
- رمز Superuser تنظیم نشده است.
- Container Image کامل دریافت نشده است.
- پایگاه داده در دسترس نیست.
- متغیرهای
.envاشتباه هستند.
پورت ۷۸۶۰ اشغال است
پورت بیرونی را تغییر دهید:
docker run -d \
--name langflow \
-p 7861:7860 \
-e LANGFLOW_AUTO_LOGIN=false \
-e LANGFLOW_SUPERUSER_PASSWORD="YOUR_STRONG_PASSWORD" \
-v langflow-data:/app/langflow \
langflowai/langflow:latest
سپس آدرس زیر را باز کنید:
http://localhost:7861
API Flow خطای 401 میدهد
کلید درواره برای فراخوانی API خود Langflow کافی نیست. باید یک Langflow API Key بسازید و آن را در Header زیر ارسال کنید:
x-api-key
Flow در Playground کار میکند اما از API اجرا نمیشود
موارد زیر را بررسی کنید:
- Flow ID درست باشد.
- Langflow API Key معتبر باشد.
input_typeوoutput_typeبا Flow سازگار باشند.- Chat Input و Chat Output به Flow متصل باشند.
- آدرس سرور شامل مسیر درست API باشد.
- نمونه کد بخش Share → API access را با درخواست خود مقایسه کنید.
روش بهروزرسانی Langflow
پیش از بهروزرسانی، پروژهها و Flowهای مهم را Export کنید.
برای دریافت Image جدید:
docker pull langflowai/langflow:latest
سپس کانتینر را با همان Volume دوباره ایجاد کنید.
در Docker Compose:
docker compose pull
docker compose up -d
پس از بهروزرسانی موارد زیر را آزمایش کنید:
- ورود مدیر
- اتصال OpenAI Compatible
- نمایش مدلهای درواره
- اجرای Flow اصلی
- فراخوانی API
- اتصال ابزارهای Agent
- دسترسی به پروژههای قبلی
Langflow در مستندات رسمی توصیه میکند پیش از ارتقا، پروژهها Export و نسخه جدید ابتدا در محیط جداگانه آزمایش شود. یادداشتهای انتشار Langflow
اشتباهات رایج هنگام کار با Langflow
- قرار دادن تمام منطق در یک Flow بسیار بزرگ
- اضافهکردن ابزارهای زیاد به یک Agent
- واردکردن کلید API در Componentهای متعدد
- اشتباهگرفتن کلید درواره با کلید Langflow
- انتخاب مدل فاقد Tool Calling
- ننوشتن توضیح دقیق برای ابزارها
- استفاده از SQLite برای استقرار پرترافیک
- نداشتن نسخه پشتیبان از Flowها
- انتشار مستقیم پنل Langflow روی اینترنت
- قراردادن کلید Langflow داخل Frontend
- بهروزرسانی بدون Export پروژهها
- استفاده از
latestبدون آزمایش نسخه جدید - ساخت Flow پیچیده قبل از آزمایش اتصال ساده مدل
چکلیست نهایی
- Langflow با Docker اجرا شده است.
- Volume برای نگهداری دادهها وجود دارد.
- ورود خودکار غیرفعال است.
- حساب Superuser قابلاستفاده است.
- کلید API درواره ایجاد شده است.
- OpenAI Compatible Provider تنظیم شده است.
- Base URL روی
https://api.darvareh.ir/v1قرار دارد. - مدلهای درواره شناسایی و فعال شدهاند.
- Chat Input، Agent و Chat Output متصل هستند.
- Flow در Playground آزمایش شده است.
- ابزار Agent بهدرستی متصل شده است.
- کلید API Langflow ساخته شده است.
- فراخوانی Flow از طریق API آزمایش شده است.
- برای استقرار عمومی دامنه و HTTPS تنظیم شدهاند.
- از Flowها و پایگاه داده نسخه پشتیبان وجود دارد.
پرسشهای متداول
آیا Langflow رایگان است؟
نسخه متنباز Langflow رایگان است و میتوانید آن را روی زیرساخت خودتان اجرا کنید. هزینه سرور و مصرف مدلهای ابری جداگانه محاسبه میشود.
آیا Langflow در ایران قابل استفاده است؟
بله. Langflow را میتوان روی کامپیوتر یا سرور خودتان نصب و به API درواره متصل کرد. در این روش برای استفاده از مدلهای درواره به پرداخت ارزی مستقیم نیاز ندارید.
آیا Langflow بدون برنامهنویسی کار میکند؟
برای ساخت بسیاری از Flowهای متداول به کدنویسی نیاز ندارید. بااینحال برای منطقهای اختصاصی، یکپارچهسازیهای خاص یا Custom Component ممکن است به Python نیاز داشته باشید.
آیا Langflow خودش مدل هوش مصنوعی است؟
خیر. Langflow محیط ساخت و اجرای برنامه هوش مصنوعی است. برای تولید پاسخ باید آن را به درواره، یک مدل محلی یا Provider دیگری متصل کنید.
آیا Langflow از API سازگار با OpenAI پشتیبانی میکند؟
بله. Provider داخلی OpenAI Compatible میتواند با دریافت Base URL و API Key به Endpointهای سازگار متصل شود و مدلها را از مسیر /v1/models شناسایی کند.
آیا Langflow برای ساخت RAG مناسب است؟
بله. Langflow دارای Componentهای مربوط به بارگذاری سند، تقسیم متن، Embedding و Vector Store است. برای پروژه عملی باید مطمئن شوید مدل Embedding موردنظر نیز در دسترس و با Component انتخابشده سازگار است.
آیا میتوان Flow را داخل وبسایت استفاده کرد؟
بله. Flow را میتوان از طریق API فراخوانی یا با Web Component چت Langflow در سایت تعبیه کرد. برای محصول واقعی بهتر است مدیریت کلید و درخواستها در Backend انجام شود.
آیا Langflow از MCP پشتیبانی میکند؟
بله. Langflow میتواند هم MCP Client و هم MCP Server باشد و Flowها را بهعنوان Tool در اختیار Agentهای دیگر قرار دهد.
Langflow بهتر است یا Flowise؟
اگر محیط Python، Custom Component و یکپارچگی عمیق با ابزارهای Python برایتان مهم است، Langflow انتخاب مناسبی است. اگر زیرساخت اصلی شما Node.js است، Flowise ممکن است هماهنگی بیشتری با Stack شما داشته باشد.
Langflow بهتر است یا Dify؟
Langflow بیشتر روی طراحی تصویری Flow و Agent تمرکز دارد. Dify امکانات گستردهتری برای مدیریت اپلیکیشن، Dataset و انتشار محصول ارائه میکند. انتخاب میان آنها به نوع پروژه و تیم بستگی دارد.
مقالات مرتبط
- آموزش اتصال Dify و Flowise به API درواره
- آموزش LangGraph و ساخت Agent دارای State
- راهنمای ساخت RAG با LangChain و LlamaIndex
- RAG چیست؟
- راهنمای کامل MCP
- Agent هوش مصنوعی چیست؟
- API سازگار با OpenAI چیست؟
- آموزش دریافت کلید API هوش مصنوعی
منابع اصلی
- مستندات رسمی Langflow
- راهنمای نصب Langflow
- استقرار Langflow با Docker
- تنظیم OpenAI Compatible Provider
- راهنمای ساخت Agent در Langflow
- راهنمای انتشار Flow و دسترسی API
- مخزن رسمی Langflow در GitHub
جمعبندی
Langflow یک ابزار متنباز و بصری برای ساخت Agent، چتبات، RAG و جریانهای کاری هوش مصنوعی است. با استفاده از Componentهای آماده میتوان مسیر دریافت ورودی، فراخوانی مدل، اجرای ابزار و تولید پاسخ را بدون درگیری با کدنویسی پیچیده طراحی کرد.
پشتیبانی داخلی Langflow از OpenAI Compatible Provider باعث میشود اتصال آن به درواره بسیار ساده باشد. کافی است آدرس زیر را در تنظیمات Model Providers وارد کنید:
https://api.darvareh.ir/v1
پس از واردکردن کلید API، Langflow مدلهای در دسترس را شناسایی میکند و میتوانید آنها را در Agentها و Flowهای مختلف به کار بگیرید.
برای استفاده تیمی یا عملیاتی، Langflow را با Docker Compose و PostgreSQL اجرا کنید، Flowها را از طریق API در Backend محصول فراخوانی کنید و مصرف مدلها را از پنل درواره مدیریت کنید.
این مقاله صرفاً با هدف آموزش و اطلاعرسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویسها و صفحه سلب مسئولیت را مطالعه کنید.