Langflow چیست؟ آموزش ساخت Agent هوش مصنوعی با API درواره

در این آموزش Langflow را با Docker نصب می‌کنیم، آن را به API درواره متصل می‌کنیم و با ویرایشگر تصویری، یک Agent هوش مصنوعی قابل‌فراخوانی از طریق API می‌سازیم.

Share
Langflow چیست؟ آموزش ساخت 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 بعدی متصل شود.

برای مثال، در یک جریان چت ساده مراحل زیر اتفاق می‌افتند:

  1. کاربر پیام خود را در Chat Input وارد می‌کند.
  2. پیام به Agent ارسال می‌شود.
  3. Agent پیام و دستور سیستمی را بررسی می‌کند.
  4. Agent در صورت نیاز یک ابزار را انتخاب می‌کند.
  5. درخواست مدل به API درواره ارسال می‌شود.
  6. پاسخ مدل به Agent بازمی‌گردد.
  7. پاسخ نهایی به Chat Output منتقل می‌شود.
  8. نتیجه در Playground یا برنامه خارجی نمایش داده می‌شود.

این ساختار تصویری باعث می‌شود مسیر اجرای برنامه، وابستگی‌ها و نقاط خطا راحت‌تر دیده شوند.

چرا Langflow برای کاربران ایرانی مناسب است؟

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

با اتصال Langflow به درواره:

  • هزینه مدل‌های هوش مصنوعی به‌صورت ریالی پرداخت می‌شود.
  • نیازی به خرید مستقیم اعتبار از ارائه‌دهندگان خارجی ندارید.
  • مدل‌های مختلف از طریق یک API در دسترس قرار می‌گیرند.
  • آدرس پایه API ثابت می‌ماند.
  • می‌توانید مدل را بدون تغییر معماری Flow عوض کنید.
  • امکان مدیریت مصرف از پنل درواره وجود دارد.
  • Langflow روی زیرساخت تحت کنترل شما اجرا می‌شود.

پس از نصب، استفاده روزمره از ویرایشگر Langflow به یک سرویس خارجی میزبانی‌شده وابسته نیست. تنها درخواست‌های مربوط به مدل انتخاب‌شده برای پردازش به API درواره ارسال می‌شوند.

تفاوت Langflow با LangChain چیست؟

LangChain یک Framework برنامه‌نویسی است و معمولاً برای استفاده از آن باید کد Python یا JavaScript بنویسید. Langflow بسیاری از مفاهیم مشابه را در یک محیط تصویری ارائه می‌کند.

ویژگیLangflowLangChain
روش ساختویرایشگر تصویریبرنامه‌نویسی
زبان اصلیرابط بصری و PythonPython و JavaScript
مناسب نمونه‌سازی سریعبسیار مناسبنیازمند کدنویسی
ساخت Component سفارشیبلهبله
مشاهده مسیر دادهتصویریاز طریق کد و Log
ساخت API از Flowداخلینیازمند پیاده‌سازی
مناسب توسعه‌دهندهبلهبله
مناسب افراد کم‌تجربه‌ترساده‌تردشوارتر

Langflow جایگزین کامل برنامه‌نویسی نیست. برای منطق‌های بسیار خاص همچنان ممکن است به Custom Component یا کد Python نیاز داشته باشید؛ اما برای طراحی، آزمایش و اتصال اجزای متداول، سرعت توسعه را افزایش می‌دهد.

تفاوت Langflow، Flowise و Dify

ابزارتمرکز اصلیفناوری اصلیمناسب برای
Langflowساخت تصویری Flow و AgentPythonتوسعه‌دهندگان Python و نمونه‌سازی Agent
Flowiseساخت جریان‌های مبتنی بر LangChainNode.jsتوسعه‌دهندگان JavaScript
Difyساخت و مدیریت اپلیکیشن هوش مصنوعیپلتفرم کاملتیم‌های محصول و اپلیکیشن‌سازی
LangGraphساخت Agentهای Stateful با کدPython و JavaScriptAgentهای پیچیده و کنترل‌پذیر

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 مراحل زیر را انجام دهید:

  1. روی آیکون پروفایل کلیک کنید.
  2. وارد Settings شوید.
  3. بخش Model Providers را باز کنید.
  4. Provider با نام OpenAI Compatible را انتخاب کنید.
  5. در قسمت Base URL آدرس زیر را قرار دهید:
https://api.darvareh.ir/v1
  1. در قسمت API Key، کلید API درواره را وارد کنید.
  2. روی Save کلیک کنید.

Langflow اتصال را از طریق مسیر /v1/models بررسی می‌کند و مدل‌های قابل‌دسترسی را شناسایی خواهد کرد.

بعد از دریافت مدل‌ها:

  1. مدل‌های موردنیاز را در بخش Language Models پیدا کنید.
  2. مدل‌هایی را که می‌خواهید در Flowها استفاده شوند فعال کنید.
  3. تغییرات را ذخیره کنید.

پس از این مرحله، 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:

  1. Provider را روی OpenAI Compatible قرار دهید.
  2. یکی از مدل‌های فعال‌شده درواره را انتخاب کنید.
  3. در صورت نمایش تنظیمات Temperature، مقدار متعادل انتخاب کنید.
  4. دستور سیستمی Agent را وارد کنید.

نمونه دستور سیستمی:

شما یک دستیار فارسی‌زبان دقیق هستید.
پاسخ‌ها را براساس درخواست کاربر، کوتاه و ساختاریافته ارائه کنید.
اگر اطلاعات کافی ندارید، این موضوع را شفاف اعلام کنید.
از ساختن اطلاعات، آمار یا منبع خودداری کنید.

اکنون Flow را ذخیره کنید و نامی مانند زیر برای آن قرار دهید:

Darvareh Persian Assistant

مرحله ششم: آزمایش در Playground

روی دکمه Playground کلیک کنید و یک پیام آزمایشی بفرستید:

Langflow را در سه بند کوتاه برای یک توسعه‌دهنده توضیح بده.

اگر اتصال صحیح باشد:

  1. پیام از Chat Input دریافت می‌شود.
  2. Agent مدل انتخاب‌شده درواره را فراخوانی می‌کند.
  3. پاسخ از طریق Chat Output نمایش داده می‌شود.

در اولین آزمایش بهتر است Flow ساده باشد. پس از اطمینان از اتصال مدل، Memory، ابزارها و Componentهای بیشتر را اضافه کنید.

مرحله هفتم: اضافه‌کردن ابزار به Agent

Agent زمانی ارزش بیشتری پیدا می‌کند که بتواند ابزار مناسب را براساس درخواست کاربر انتخاب کند.

برای نمونه می‌توانید Component مربوط به Read File را اضافه کنید:

  1. Component مربوط به Read File را روی صفحه قرار دهید.
  2. یک فایل نمونه بارگذاری کنید.
  3. در صورت نیاز Tool Mode را برای Component فعال کنید.
  4. خروجی Toolset یا Tool آن را به ورودی Tools در Agent متصل کنید.
  5. توضیح ابزار را دقیق و مشخص بنویسید.

سپس در Playground از Agent بپرسید:

فایل بارگذاری‌شده را بررسی کن و مهم‌ترین موضوعات آن را به‌صورت فهرست ارائه بده.

Agent باید تشخیص دهد که برای پاسخ‌گویی لازم است ابزار خواندن فایل را اجرا کند.

توضیح هر ابزار اهمیت زیادی دارد. اگر توضیح مبهم باشد، مدل ممکن است ابزار را در زمان نامناسب اجرا کند یا اصلاً از آن استفاده نکند.

مستندات رسمی Langflow نیز ساخت Agent را براساس اتصال Componentهای Tool به ورودی Tools توضیح می‌دهند. راهنمای Agent در Langflow

مرحله هشتم: ذخیره کلید در Global Variables

بهتر است کلیدهای سرویس‌ها مستقیماً در Componentهای متعدد تکرار نشوند.

برای ساخت Global Variable:

  1. وارد Settings شوید.
  2. بخش Global Variables را باز کنید.
  3. روی Add New کلیک کنید.
  4. نام متغیر را وارد کنید.
  5. نوع آن را روی Credential قرار دهید.
  6. کلید را در قسمت Value وارد کنید.
  7. متغیر را ذخیره کنید.

Langflow مقادیر Global Variable را در پایگاه داده داخلی خود به‌صورت رمزگذاری‌شده نگهداری می‌کند. متغیرهای نوع Credential نیز در ویرایشگر مخفی نمایش داده می‌شوند. راهنمای Global Variables

مرحله نهم: ساخت کلید API Langflow

برای فراخوانی Flow از برنامه خارجی به کلید API Langflow نیاز دارید.

مراحل ساخت کلید:

  1. روی آیکون پروفایل کلیک کنید.
  2. وارد Settings شوید.
  3. بخش Langflow API Keys را باز کنید.
  4. روی Add New کلیک کنید.
  5. یک نام مانند website-backend وارد کنید.
  6. کلید را ایجاد و در محل مناسبی ذخیره کنید.

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

مرحله دهم: دریافت 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 آماده ارائه می‌کند.

برای دریافت کد:

  1. Flow را باز کنید.
  2. روی Share کلیک کنید.
  3. گزینه Embed into site را انتخاب کنید.
  4. کد تولیدشده را دریافت کنید.
  5. آدرس HTTPS سرور و Flow ID را بررسی کنید.

این روش برای آزمایش و نمونه‌سازی سریع مناسب است. برای محصول عملیاتی بهتر است درخواست‌ها از Backend خودتان عبور کنند تا کلید Langflow مستقیماً در کد Frontend قرار نگیرد.

Langflow علاوه بر API، امکان انتشار Flow از طریق چت تعبیه‌شده، MCP Server و Endpoint سازگار با OpenAI Responses را نیز ارائه می‌کند. راهنمای انتشار Flow

استفاده از Langflow به‌عنوان MCP Server

Langflow می‌تواند Flowهای ساخته‌شده را به‌عنوان ابزار MCP در اختیار Clientهای سازگار قرار دهد.

در این معماری:

  1. Flow در Langflow ساخته می‌شود.
  2. ورودی و خروجی مناسب برای آن تعریف می‌شود.
  3. Flow از طریق MCP Server در دسترس قرار می‌گیرد.
  4. Agent خارجی آن را به‌عنوان یک Tool مشاهده می‌کند.
  5. 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 و انتشار محصول ارائه می‌کند. انتخاب میان آن‌ها به نوع پروژه و تیم بستگی دارد.

مقالات مرتبط

منابع اصلی

جمع‌بندی

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 محصول فراخوانی کنید و مصرف مدل‌ها را از پنل درواره مدیریت کنید.

این مقاله صرفاً با هدف آموزش و اطلاع‌رسانی تهیه شده است. پیش از استفاده عملی، مستندات رسمی سرویس‌ها و صفحه سلب مسئولیت را مطالعه کنید.

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.