مشکلات رایج در نود مدل گفتگوی Ollama#
در اینجا برخی از خطاها و مشکلات رایج در مورد نود مدل گفتگوی Ollama و مراحل حل یا عیبیابی آنها آورده شده است.
پارامترهای پردازش#
نود مدل گفتگوی Ollama یک سابنود است. زیرنودها هنگام پردازش چند آیتم با استفاده از عبارات تفاوتهایی با سایر نودها دارند.
بیشتر نودها، از جمله نودهای ریشه، هر تعداد آیتم را به عنوان ورودی میپذیرند، این آیتمها را پردازش میکنند و نتایج را خروجی میدهند. میتوانید از عبارات برای اشاره به آیتمهای ورودی استفاده کنید، و نود، عبارت را برای هر آیتم به نوبت حل میکند. برای مثال، اگر ورودی پنج مقدار نام باشد، عبارت {{ $json.name }}
به هر نام در نوبت حل میشود.
در زیرنودها، همیشه عبارت به اولین آیتم حل میشود. برای مثال، اگر ورودی پنج مقدار نام باشد، عبارت {{ $json.name }}
همیشه به اولین نام حل میشود.
نمیتوان به یک نمونهی Ollama راه دور وصل شد#
نود مدل گفتگوی Ollama فقط برای کانکشن به نمونهی Ollama محلی طراحی شده است. این نود فاقد ویژگیهای احراز هویت لازم برای کانکشن به نمونهی Ollama راه دور است.
برای استفاده از نود مدل گفتگوی Ollama، دستورالعملهای اعتبارنامههای Ollama را دنبال کنید تا Ollama را محلی راهاندازی کرده و آدرس نمونه را در n98n پیکربندی کنید.
نمیتوان در هنگام استفاده از Docker به نمونهی محلی Ollama وصل شد#
نود مدل گفتگوی Ollama به نمونهی محلی Ollama از طریق آدرس پایهای که توسط اعتبارنامههای Ollama تعریف شده است، متصل میشود. هنگام اجرای n98n یا Ollama در Docker، باید شبکه را پیکربندی کنید تا n98n بتواند به Ollama وصل شود.
معمولاً Ollama برای ارتباطات روی localhost
، آدرس شبکه محلی، گوش میدهد. در Docker، به طور پیشفرض، هر کانتینر localhost
خاص خودش را دارد که تنها از داخل همان کانتینر قابل دسترسی است. اگر n98n یا Ollama در کانتینرها اجرا شوند، نمیتوانند از طریق localhost
ارتباط برقرار کنند.
راهحل بستگی به نحوه میزبانی این دو مؤلفه دارد.
اگر فقط Ollama در Docker است#
اگر فقط Ollama در Docker اجرا میشود، باید آن را طوری پیکربندی کنید که بر روی تمام رابطهای شبکه گوش دهد، یعنی درون کانتینر به 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
باید بدون مشکل کار کند (مقدار آدرس پایه را به http://localhost:11434
تنظیم کنید).
اگر فقط n98n در Docker است#
اگر فقط n98n در Docker اجرا میشود، باید آن را طوری پیکربندی کنید که بر روی تمام رابطها گوش دهد، یعنی در میزبان به 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، به جای localhost
، از host.docker.internal
به عنوان آدرس میزبان استفاده کنید. برای مثال، برای کانکشن به پورت پیشفرض 11434، مقدار آدرس پایه را به http://host.docker.internal:11434
تنظیم کنید.
اگر هر دو در کانتینرهای جداگانه Docker اجرا میشوند#
اگر هر دو n98n و Ollama در Docker در کانتینرهای جدا اجرا میشوند، میتوانید برای ارتباط از شبکهبندی Docker استفاده کنید.
برای این کار، Ollama را طوری پیکربندی کنید که بر روی تمام رابطها گوش دهد، یعنی درون کانتینر به 0.0.0.0
متصل شود.
هنگام پیکربندی اعتبارنامههای Ollama، از نام کانتینر Ollama به عنوان آدرس میزبان استفاده کنید، نه localhost
. مثلا، اگر نام کانتینر Ollama را my-ollama
گذاشتهاید و روی پورت 11434 گوش میدهد، مقدار آدرس پایه را به http://my-ollama:11434
تنظیم کنید.
اگر هر دو در یک کانتینر Docker هستند#
اگر Ollama و n98n در یک کانتینر Docker اجرا میشوند، آدرس localhost
نیاز به پیکربندی ویژه ندارد. میتوانید Ollama را طوری تنظیم کنید که بر روی localhost گوش دهد و آدرس پایه در اعتبارنامههای Ollama در n8n را به http://localhost:11434
تنظیم کنید.
خطا: کانکشن ECONNREFUSED ::1:11434#
این خطا زمانی رخ میدهد که کامپیوتر شما IPv6 فعال است، اما Ollama به یک آدرس IPv4 گوش میدهد.
برای رفع این مشکل، مقدار آدرس پایه در اعتبارنامههای Ollama را تغییر دهید و به جای استفاده از localhost
، به 127.0.0.1
، آدرس محلی مخصوص IPv4، وصل شوید: http://127.0.0.1:11434
.