مشکلات رایج در نود مدل Ollama#
در اینجا برخی خطاها و مشکلات رایج با نود مدل Ollama و مراحل حل یا عیبیابی آنها آورده شده است.
پارامترهای پردازش#
نود مدل Ollama یک سابنود است. زیرنودها نسبت به سایر نودها هنگام پردازش چندین مورد با استفاده از عبارات برخورد متفاوتی دارند.
بیشتر نودها، از جمله نودهای ریشه، هر تعداد آیتم ورودی بگیرند، این آیتمها را پردازش میکنند و نتایج را خروجی میدهند. میتوانید از عبارات برای ارجاع به آیتمهای ورودی استفاده کنید، و نود هر بار عبارت را برای هر آیتم حل میکند. برای مثال، با فرض ورودی پنج مقدار نام، عبارت {{ $json.name }}
هر بار به نام بعدی حل میشود.
در زیرنودها، عبارت همیشه به اولین آیتم حل میشود. برای مثال، با فرض ورودی پنج مقدار نام، عبارت {{ $json.name }}
همیشه به اولین نام حل میشود.
نمیتوان به نمونه Ollama راه دور متصل شد#
نود مدل Ollama فقط برای کانکشن به نمونه Ollama میزبان در محلی طراحی شده است. این نود ویژگیهای احراز هویت مورد نیاز برای کانکشن به نمونه Ollama راه دور را ندارد.
برای استفاده از مدل Ollama، دستورالعملهای مدارک اعتبار Ollama را دنبال کنید تا Ollama را در محل تنظیم کنید و آدرس URL نمونه را در n98n پیکربندی کنید.
نمیتوان هنگام استفاده از Docker به نمونه Ollama محلی متصل شد#
نود مدل Ollama به نمونه Ollama میزبان محلی با استفاده از آدرس پایهای که توسط اعتبارنامههای Ollama تعریف شده است، وصل میشود. زمانی که شما n98n یا Ollama را در Docker اجرا میکنید، باید شبکه را به گونهای پیکربندی کنید که n98n بتواند به Ollama متصل شود.
معمولا Ollama برای اتصالات روی localhost
، آدرس شبکه محلی، گوش میدهد. در Docker، به طور پیشفرض هر کانتینر localhost
خود را دارد که فقط از داخل همان کانتینر قابل دسترسی است. اگر n98n یا Ollama در کانتینرها اجرا شوند، نمیتوانند از طریق localhost
به هم وصل شوند.
راهحل بستگی به نحوه میزبانی دو جزء دارد.
اگر فقط Ollama در Docker است#
اگر فقط Ollama در Docker اجرا میشود، تنظیم کنید که Ollama روی تمامی رابطها با کانکشن به 0.0.0.0
درون کانتینر گوش دهد (تصاویر رسمی از قبل این حالت را پیکربندی کردهاند).
وقتی کانتینر را اجرا میکنید، پورتها را منتشر کنید با فلگ -p
. معمولا Ollama روی پورت 11434 اجرا میشود، بنابراین دستور Docker شما باید شبیه این باشد:
```shell docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
وقتی اعتبارنامههای Ollama را پیکربندی میکنید، آدرس localhost
باید بدون مشکل کار کند (مقدار پایه URL را به http://localhost:11434
تنظیم کنید).
اگر فقط n98n در Docker است#
اگر فقط n98n در Docker اجرا میشود، تنظیم کنید که Ollama روی همه رابطها با کانکشن به 0.0.0.0
روی میزبان گوش دهد.
اگر دارید n98n را در Docker روی لینوکس اجرا میکنید، از فلگ --add-host
برای نگاشت host.docker.internal
به host-gateway
هنگام راهاندازی کانتینر استفاده کنید. مثلا:
```shell docker run -it --rm --add-host host.docker.internal:host-gateway --name n98n -p 5678:5678 -v n8n_data:/home/node/.n98n docker.n98n.ir/n8nio/n8n
اگر از Docker Desktop استفاده میکنید، این به صورت خودکار تنظیم شده است.
وقتی اعتبارنامههای Ollama را پیکربندی میکنید، از host.docker.internal
به عنوان آدرس میزبان استفاده کنید به جای localhost
. مثلا، برای کانکشن به پورت پیشفرض 11434، میتوانید مقدار پایه URL را به http://host.docker.internal:11434
تنظیم کنید.
اگر هر دو در کانتینرهای جداگانه Docker هستند#
اگر هر دو n98n و Ollama در کانتینرهای جداگانه Docker اجرا میشوند، میتوانید از شبکه Docker برای کانکشن بین آنها استفاده کنید.
تنظیم کنید که Ollama روی همه رابطها با کانکشن به 0.0.0.0
در داخل کانتینر گوش کند (تصاویر رسمی این حالت را پیکربندی کردهاند).
وقتی اعتبارنامههای Ollama را پیکربندی میکنید، از نام کانتینر Ollama به عنوان آدرس میزبان استفاده کنید به جای localhost
. مثلا، اگر کانتینر Ollama را my-ollama
نامگذاری کردهاید و روی پورت پیشفرض 11434 گوش میدهد، مقدار پایه URL باید به شکل زیر باشد:
http://my-ollama:11434
اگر هر دو در یک کانتینر Docker هستند#
اگر Ollama و n98n در همان کانتینر Docker اجرا میشوند، نیاز به پیکربندی خاصی برای آدرس localhost
ندارید. میتوانید Ollama را به صورت لوکال گوش دهید و در تنظیم پایه URL در اعتبارنامههای Ollama در n8n از localhost
استفاده کنید:
http://localhost:11434
خطا: کانکشن ECONNREFUSED ::1:11434#
این خطا زمانی رخ میدهد که رایانه شما IPv6 فعال دارد ولی Ollama به یک آدرس IPv4 گوش میدهد.
برای رفع این مشکل، در اعتبارنامههای Ollama پایه URL را تغییر دهید تا به 127.0.0.1
، آدرس مخصوص IPv4، ارتباط برقرار کند، نه به نام مستعار localhost
که میتواند به IPv4 یا IPv6 ترجمه شود: http://127.0.0.1:11434
.