VPS-ல் Ollama எப்படி இயக்குவது
7B மாதிரிக்கு 8 GB RAM தேவை; CPU-வில் வினாடிக்கு 4-10 tokens கிடைக்கும். VPS-ல் Ollama நிறுவி 127.0.0.1:11434/v1 இல் அழைக்கலாம். port 11434 வெளியே மூடியே வைக்கவும்.
நீங்கள் உருவாக்குவது என்ன
நீங்கள் சொந்தமாக வைத்திருக்கும் ஒரு சர்வரில் இயங்கும் ஒரு திறந்த-எடை கொண்ட மொழி மாதிரி. இது HTTP API வழியாக பதிலளிக்கும். தேவைப்பட்டால், உங்கள் உலாவியில் ஒரு அரட்டை பக்கத்தையும் பெறலாம். Ollama தான் மாதிரியைப் பதிவிறக்கும் கருவி. இது மாதிரியை நினைவகத்தில் ஏற்றுகிறது. பின்னர் http://127.0.0.1:11434 இல் கோரிக்கைகளுக்கு சேவை செய்கிறது. நிறுவல் ஒரே ஒரு கட்டளையில் முடிகிறது. இதில் உள்ள கடினமான வேலை வேறு இடங்களில் உள்ளது: உங்கள் VPS இல் நினைவகத்தில் நிஜமாக அமர்த்தக்கூடிய ஒரு மாதிரியைத் தேர்ந்தெடுப்பது. மேலும், அங்கீகரிக்கப்படாத ஒரு inference சர்வரை முழு இணையத்திற்கும் தவறுதலாக வெளியிடாமல் பார்த்துக்கொள்வது.
முதலில் இரண்டு நேர்மையான எச்சரிக்கைகள். CPU மட்டும் கொண்ட VPS சிறிய மாதிரிகளை மெதுவாக இயக்குகிறது. மேலும் API இல் உள்ளிட்ட அங்கீகாரம் எதுவும் இல்லை. இரண்டும் கீழே விரிவாக விளக்கப்பட்டுள்ளன. ஏனெனில் இவை இரண்டும் தான் மக்கள் பாதிக்கப்படும் இடங்கள்.
அளவீட்டின் உண்மை நிலை, எளிய எண்களில்
ஒரு மாதிரியின் நினைவக அளவு ஏறக்குறைய அதன் கோப்பு அளவுக்குச் சமம். இதற்கு கூடுதலாக ஏறக்குறைய ஒரு கிகாபைட் இயக்க நேர மேலாக்கம் தேவைப்படும். மேலும் சில அளவு context window-க்குத் தேவை. Ollama-வின் இயல்புநிலை மாதிரிகள் 4-bit quantized (Q4 என அடையாளப்படுத்தப்பட்டவை) ஆகும். ஒவ்வொரு பில்லியன் அளவுருக்களுக்கும் ஏறக்குறைய அரை கிகாபைட் RAM தேவைப்படும். எனவே இந்தக் கணக்கீடு எளிது. இதுதான் அனைத்தையும் தீர்மானிக்கிறது.
llama3.2:3b போன்ற 3B மாதிரி ஏறக்குறைய 2 GB பதிவிறக்கமாகும். இதை இயக்க 4 GB காலி RAM தேவை. mistral:7b அல்லது llama3.1:8b போன்ற 7B அல்லது 8B மாதிரி வட்டில் ஏறக்குறைய 5 GB இடம் எடுக்கும். இதற்கு 8 GB RAM தேவை. சிக்கலின்றி இயக்க 16 GB வேண்டும். 13B அல்லது 14B மாதிரிக்கு ஏறக்குறைய 16 GB தேவை. 30B முதல் 70B வரம்பில் உள்ள எதற்கும் அதிக RAM கொண்ட சேவையகம் தேவை. நடைமுறையில், ஒரு GPU தேவை. CPU VPS-ல் இது ஒன்றும் பொருந்தாது. இல்லையெனில், மிக மெதுவாக பதிலளிக்கும். எனவே இது பயனற்றது.
இப்போது வேகம். இதைத்தான் மக்கள் குறைவாக மதிப்பிடுகிறார்கள். CPU inference என்பது memory bandwidth-ஆல் கட்டுப்படுத்தப்படுகிறது. clock speed-ஆல் அல்ல. பகிரப்பட்ட vCPU VPS-க்கு மிதமான bandwidth உண்டு. ஒரு வினாடிக்கு ஒரு இலக்கம் முதல் குறைந்த இரட்டைப்படு இலக்கம் வரை tokens எதிர்பார்க்கலாம். 7-8B Q4 மாதிரி ஒரு வினாடிக்கு 4 முதல் 10 tokens வரை தரலாம். 3B மாதிரி 10 முதல் 25 வரை தரலாம். ஒரு GPU ஏறக்குறைய பத்து மடங்கு வேகமானது. இவை வெறும் கணக்கீட்டு எண்களே. சரியான வழி உங்கள் சேவையகத்தை நீங்களே அளவிடுவதுதான். கீழே உள்ள run படி இதை எப்படி செய்வது என்பது காட்டப்பட்டுள்ளது. எந்தக் கட்டுரையிலும் உள்ள எண்களை நம்பாதீர்கள். இந்தக் கட்டுரையும் அதில் சேர்ந்ததே. உங்கள் eval rate-ஐ நம்புங்கள்.
நடைமுறை முடிவு: CPU-ல் இயங்கும் சிறிய quantized மாதிரிகள் வரைவதற்கு, சுருக்குவதற்கு, மற்றும் வகைப்படுத்துவதற்கு உண்மையில் பயனுள்ளவை. வேகத்தை ஏற்றுக்கொண்டால் இது சாத்தியம். இதை விடப் பெரிய அல்லது வேகமானது தேவையெனில், ஒரு GPU instance-க்கு பட்ஜெட் ஒதுக்குங்கள்.
ஒரு குறிப்பிட்ட மாதிரியை ஒரு குறிப்பிட்ட சேவையகத்துடன் ஒப்பிட, இங்கே அதன் நினைவக அளவை மதிப்பிடுங்கள்:
Ollama ஐ நிறுவுதல்
இரண்டு சரியான முறைகள் உள்ளன. வெற்று VPS இல் அதிகாரப்பூர்வ ஸ்கிரிப்ட் எளிதானது:
curl -fsSL https://ollama.com/install.sh | shஇது ollama என்ற பெயரில் ஒரு system user ஐ உருவாக்குகிறது, binary ஐ /usr/local/bin/ollama இல் நிறுவுகிறது, மற்றும் ollama.service என்ற systemd service ஐ பதிவுசெய்கிறது. இந்த service boot செய்யும்போது தொடங்கி 127.0.0.1:11434 உடன் இணைக்கப்படும். அது இயங்குகிறதா என்பதை உறுதிப்படுத்தவும்:
systemctl status ollama
ollama --versionநீங்கள் ஏற்கனவே Docker ஐ இயக்கினால், அதற்கு பதிலாக container ஐ பயன்படுத்தவும்:
docker run -d --name ollama \
-p 127.0.0.1:11434:11434 \
-v ollama:/root/.ollama \
--restart always \
ollama/ollamaport mapping இல் 127.0.0.1: prefix ஐ கவனியுங்கள். அது port ஐ localhost உடன் மட்டுமே இணைக்கிறது. அதற்கு பதிலாக -p 11434:11434 என எழுதினால் அது ஒவ்வொரு interface இலும் வெளியிடப்படும். இதுதான் பாதுகாப்பு பிரிவு எச்சரிக்கும் தவறு. ஒரு நிறுவல் முறையை தேர்ந்தெடுக்கவும். ஸ்கிரிப்ட் மற்றும் container இரண்டையும் ஒரே நேரத்தில் இயக்க வேண்டாம். இல்லையெனில் இரண்டு process களும் port க்காக போட்டியிடும்.
உங்கள் முதல் மாதிரியை இறக்கவும், இயக்கவும்
ollama pull llama3.2:3b
ollama run llama3.2:3bpull மாதிரியின் அடுக்குகளை வட்டில் பதிவிறக்கம் செய்கிறது (இதற்கு சுமார் 2 GB). run அவற்றை நினைவகத்தில் ஏற்றி, உங்களை >>> தூண்டுதலுக்கு அழைத்துச் செல்கிறது. ஒரு கேள்வியைத் தட்டச்சு செய்யவும். நிறைகள் வட்டிலிருந்து RAM இற்கு ஏற்றப்படுவதால், முதல் டோக்கன் சில நொடிகள் எடுத்துக்கொள்ளலாம்; பிறகு பதில் தொடர்ந்து வரும். அரட்டையை விட்டு வெளியேற /bye எனத் தட்டச்சு செய்யவும்; Ollama பின்னணியில் தொடர்ந்து இயங்கும்.
எது ஏற்றப்பட்டுள்ளது மற்றும் அது எப்படி பொருந்துகிறது என்பதைப் பார்க்கவும்:
ollama psPROCESSOR நெடுவரிசை உண்மையைக் கூறுகிறது. 100% CPU என்பது GPU எதுவும் ஈடுபடவில்லை என்பதைக் குறிக்கிறது; மெதுவான தன்மைக்கு இதுவே காரணம். verbose flag உடன் உண்மையான வேகத்தை அளவிடவும்:
ollama run --verbose llama3.2:3b "Write two sentences about Linux."இறுதியில் அச்சிடப்படும் eval rate வரி, இந்த வன்பொருளில் வினாடிக்கு கிடைக்கும் உங்கள் டோக்கன்களின் எண்ணிக்கை. திட்டமிடுவதற்கு நீங்கள் கருத்தில் கொள்ள வேண்டிய எண் இதுவே.
மாடல்கள் எங்கே சேமிக்கப்படுகின்றன, மற்றும் எவ்வளவு வட்டு இடம் தேவை
ஸ்கிரிப்ட் மூலம் நிறுவப்பட்டு சேவையாக இயக்கப்படும்போது, மாடல்கள் ollama பயனரின் முகப்பு அடைவில் சேமிக்கப்படுகின்றன:
sudo du -sh /usr/share/ollama/.ollama/modelsஉங்கள் சொந்த பயனராக நேரடியாக இயக்கும்போது, அவை ~/.ollama/models இல் இருக்கும். கன்டெய்னருக்குள் அவை ollama பெயரிடப்பட்ட வால்யூமில் சேமிக்கப்படுகின்றன. இது முக்கியம், ஏனெனில் குவாண்டைஸ் செய்யப்பட்ட வெயிட்கள் விரைவாக ஒன்றுசேர்கின்றன: 3B மாடல் ~2 GB, 7-8B மாடல் ~5 GB, 14B மாடல் ~9 GB. ஒப்பீட்டுக்காக நான்கு மாடல்களை இறக்கவும்; 20 GB இடம் தெரியாமலே செலவாகிவிடும். வைத்திருக்க விரும்பும் மாடல்களுக்கு ஏற்ப வட்டு இடத்தை திட்டமிடுங்கள். மீதமுள்ளவற்றை ollama rm <model> கட்டளையால் நீக்கவும்.
நீங்கள் கட்டுப்படுத்தும் ஒரு சேவையாக இதை இயக்கவும்
நிறுவல் ஸ்கிரிப்ட் ஏற்கனவே ollama.service ஐ பதிவுசெய்துவிட்டது. எனவே கூடுதல் வேலை இல்லாமலே இது பூட் செய்யும்போது மறுதொடக்கம் ஆகும். மாற்றியமைக்க வேண்டிய அமைப்பு எது என்றால், ஒரு மாடல் நினைவகத்தில் எவ்வளவு காலம் தங்கியிருக்கிறது என்பதுதான். சில அமைப்புகளில், bind address-உம் கூட. இவ்விரண்டும் ஒரு systemd drop-in-ல் சேர்க்கப்படுகின்றன. அப்போதுதான் Ollama மேம்படுத்தல் அவற்றை மேலெழுதாது:
sudo systemctl edit ollama.serviceஎடிட்டர் காட்டும் [Service] தலைப்பின் கீழ் இதைச் சேர்க்கவும்:
[Service]
Environment="OLLAMA_KEEP_ALIVE=30m"OLLAMA_KEEP_ALIVE என்பது கடைசி கோரிக்கைக்குப் பிறகு ஒரு மாடல் நினைவகத்தில் எவ்வளவு காலம் தங்கியிருக்கும் என்பதாகும் (இயல்புநிலை 5 நிமிடங்கள்). நாள் முழுவதும் நீங்கள் வினவும் ஒரு சர்வரில் ஒவ்வொரு முறையும் weights-ஐ மீண்டும் ஏற்றுவதைத் தவிர்க்க இதை அதிகரிக்கவும். RAM குறைவாக உள்ள சர்வரில், ஒரு கோரிக்கை முடிந்ததும் நினைவகத்தை விடுவிக்க 0 என அமைக்கவும். systemctl edit உங்களுக்காக unit files-ஐ மீண்டும் ஏற்றுகிறது. எனவே மாற்றத்தைப் பயன்படுத்த மறுதொடக்கம் செய்யவும்:
sudo systemctl restart ollamaமிக முக்கியமான பாதுகாப்பு அம்சம்
இயல்பாக Ollama என்பது 127.0.0.1:11434 ஐ இணைக்கிறது. எனவே VPS இல் உள்ள செயல்முறைகள் மட்டுமே அதை அணுக முடியும். இந்த இயல்புநிலை சரியானது. அதை மாற்றாதீர்கள்.
API க்கு அங்கீகாரம் எதுவும் இல்லை. எந்தவிதமான API key, login, rate limit, allow-list எதுவும் இல்லை. port 11434 ஐ அணுக முடிந்த எவரும் நீங்கள் pull செய்த எந்த model ஐ வேண்டுமானாலும் இயக்கலாம். புதியவற்றை pull செய்யலாம். அவற்றை நீக்கலாம். மேலும் உங்கள் CPU அல்லது GPU ஐ கட்டாயப்படுத்தி தொடர்ந்து முழு சுமையில் இயக்கலாம். Shodan போன்ற ஸ்கேனர்கள் திறந்திருக்கும் Ollama நிகழ்வுகளை ஆயிரக்கணக்கில் கண்டறிகின்றன. வெளிப்படுத்தப்பட்ட ஒரு நிகழ்வு சில மணிநேரங்களில் கண்டறியப்பட்டு துஷ்பிரயோகம் செய்யப்படுகிறது.
எனவே, இதுதான் நீங்கள் ஒருபோதும் செய்யக்கூடாத ஒரே தவறு: OLLAMA_HOST=0.0.0.0 ஐ அமைத்து உங்கள் firewall இல் 11434 ஐ திறக்க வேண்டாம். அது அங்கீகாரமற்ற ஒரு inference server ஐ முழு இணையத்திற்கும் வெளியிட்டுவிடும். எவ்வளவு கட்டமைப்பு செய்தாலும் 0.0.0.0 இல் திறந்திருக்கும் 11434 ஐ பாதுகாப்பானதாக மாற்ற முடியாது. ஏனெனில் Ollama இல் கட்டமைக்க ஏதும் இல்லை — அங்கீகாரம் என்பதே இல்லை.
வேறு இடத்திலிருந்து model ஐ அணுக மூன்று பாதுகாப்பான வழிகள் உள்ளன:
- அதை local ஆக வைத்திருங்கள். ஒரே VPS இல் உள்ள வேறு ஒரு நிரல் மட்டுமே அழைக்கும் நிலையில் — ஒரு cron script, ஒரு bot, அல்லது ஒரு உங்கள் கருவிகளை model உடன் இணைக்கும் MCP server — இணைப்பை
127.0.0.1இலேயே விட்டுவிட்டு, அந்த நிரல்http://127.0.0.1:11434ஐ அழைக்கட்டும். எதுவும் வெளிப்படுவதில்லை. வேறு எதுவும் தேவையில்லை. - ஒரு private tunnel வழியாக அணுகுங்கள். VPS ஐ ஒரு நீங்களே host செய்யும் WireGuard VPN இல் இணைத்து,
OLLAMA_HOSTஐ tunnel address ஆக அமைக்கவும் (உதாரணமாக10.8.0.1,0.0.0.0அல்ல). இப்போது VPN peers மட்டுமே இணைக்க முடியும். பொது இணையத்திற்கு 11434 இல் எதுவும் தெரியாது. - முன்னால் ஒரு அங்கீகாரம் வழங்கும் reverse proxy ஐ வைக்கவும். nginx, Traefik, அல்லது Caddy இல் TLS ஐ முடித்து ஒரு password அல்லது token கட்டாயமாக்கி, பிறகு
127.0.0.1:11434க்கு proxy செய்யவும். Ollama தன் localhost இணைப்பைத் தக்கவைத்துக்கொள்ளும். பொது port இல் கவனிப்பது proxy மட்டுமே. இது எந்த local service முன்னாலும் ஒரு Let's Encrypt certificate ஐ nginx இல் வைப்பதைப் போன்றதே.
உண்மையான login உடன் கூடிய chat UI ஆனது, reverse-proxy விருப்பத்தைத்தான் அடுத்து உங்களுக்கு வழங்குகிறது.
TLS இறக்கைப் பின்னால் Open WebUI உடன் அரட்டை UI ஐச் சேர்க்கவும்
Open WebUI என்பது சுயமாக நடத்தப்படும் ஒரு அரட்டை இடைமுகம். இதை Docker இல் இயக்கி, உள்ளமைந்த Ollama க்கு சுட்டிக்கொடுங்கள்:
docker run -d \
--name open-webui \
--network=host \
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
-v open-webui:/app/backend/data \
--restart always \
ghcr.io/open-webui/open-webui:mainLinux VPS இல் --network=host flag தான் முக்கியமான விவரம். இது கொள்கலனை host இன் network namespace இல் வைக்கிறது. எனவே கொள்கலனுக்குள் உள்ள 127.0.0.1 என்பது host இன் சொந்த loopback ஆகும். Ollama வேறு எந்த interface இலும் கேட்காமல், கொள்கலன் 127.0.0.1:11434 இல் Ollama ஐ அடைகிறது. நீங்கள் வேறிடங்களில் பார்க்கும் bridge-network recipe — OLLAMA_BASE_URL=http://host.docker.internal:11434 உடன் --add-host=host.docker.internal:host-gateway — இங்கே வேலை செய்யாது: அந்தப் பெயர் Docker bridge gateway ஆக தீர்க்கப்படுகிறது. host இல் 127.0.0.1 உடன் பிணைக்கப்பட்ட ஒரு சேவை bridge வழியாக அடைய முடியாது. எனவே Open WebUI ஆனது Ollama உடன் இணைக்க முடியவில்லை என்று தெரிவித்துக்கொண்டே இருக்கும்.
Host networking இன் பரிமாற்றம் என்னவென்றால், Open WebUI இப்போது ஒவ்வொரு interface இலும் host இன் port 8080 இல் கேட்கிறது. எந்த -p mapping ம் நிராகரிக்கப்படுகிறது. Docker அதைக் குறித்து எச்சரிக்கை அச்சிடுகிறது. எனவே host மற்றும் provider firewall இரண்டிலும் 8080 ஐ மூடிவிடுங்கள். TLS reverse proxy மட்டுமே ஒரே பொது வாயிலாக இருக்கட்டும். முதல் வருகையிலேயே Open WebUI உங்களை ஒரு admin account உருவாக்கச் சொல்லும் — அந்த account தான் உங்கள் அங்கீகார அடுக்கு. எனவே வலுவான கடவுச்சொல்லைத் தேர்ந்தெடுங்கள்.
உங்கள் மடிக்கணினியிலிருந்து HTTPS வழியாக அரட்டையைத் திறக்க, 127.0.0.1:8080 முன் ஒரு TLS reverse proxy ஐ வையுங்கள். நீங்கள் ஏற்கனவே பெட்டியில் பல Docker செயலிகளை இயக்கினால், பல செயலிகளில் தானியங்கி TLS உடன் Traefik தான் சரியான பொருத்தம்: ஒரே label block சான்றிதழை வழங்கி, chat.example.com ஐ Open WebUI க்கு வழிமாற்றுகிறது. பாதுகாப்பு பிரிவிலிருந்த விதி இன்னும் நிறைவேறுகிறது — proxy தான் பொது port மற்றும் உள்நுழைவை வைத்திருக்கிறது. Ollama localhost இலேயே இருக்கிறது. Open WebUI இன் சொந்த 8080 ம் firewall க்குள் இருக்கிறது.
உங்கள் குறியீட்டிலிருந்து OpenAI-இணக்க முனையத்தைப் பயன்படுத்தவும்
Ollama ஆனது /v1 இல் OpenAI chat API இன் ஒரு பகுதியைப் பேசுகிறது. எனவெல்லாம் பெரும்பாலான OpenAI கிளையன்ட் நூலகங்கள் இரண்டை மாற்றிய பிறகு வேலை செய்கின்றன: base URL மற்றும் ஒரு நிராகரிக்கக்கூடிய விசை.
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:11434/v1", api_key="ollama")
resp = client.chat.completions.create(
model="llama3.2:3b",
messages=[{"role": "user", "content": "Name three Linux distributions."}],
)
print(resp.choices[0].message.content)api_key கிளையன்ட் நூலகத்தால் கட்டாயமாகத் தேவைப்படுகிறது. ஆனால் Ollama அதைப் புறக்கணிக்கிறது. எனவே எந்தச் சரமும் வேலை செய்யும். model நீங்கள் ஏற்கனவே pull செய்த ஒரு பெயராக இருக்க வேண்டும். தெரியாத பெயர் model "x" not found, try pulling it first ஐ திருப்பி அனுப்பும். சாதாரண curl அழைப்பும் இதே கருத்தாகும்:
curl http://127.0.0.1:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"llama3.2:3b","messages":[{"role":"user","content":"Hello"}]}'மாதிரியை agent மற்றும் editor கருவிகளுடன் இணைப்பதும் இவ்வாறே தான். நீங்கள் ஏற்கனவே இந்த பெட்டியில் உருவாக்கம் செய்தால், ஒரு உள்ளக மாதிரி ஸ்கிரிப்ட் மற்றும் செருகுநிரல்களுக்கு ஆதாரமாக இருக்கலாம். இது tmux க்குள் VPS இல் இயங்கும் Claude Code உடன் சேர்ந்து வேலை செய்யும். இது கட்டண API இலிருந்து மலிவான, தனிப்பட்ட வரைவு வேலைகளை விலக்கி வைக்கும். அதே சமயம் கனரக தர்க்கம் hosted மாதிரியிடமே இருக்கும்.
பிழை வகைகள், நீங்கள் காணும் சரியான சரங்களுடன்
செயல்முறை உருவாக்கத்தின் நடுவே "Killed" ஆகிறது. நீங்கள் ஒரு பெரிய மாடலைத் தொடங்குகிறீர்கள். முனையம் Killed என அச்சிடுகிறது. அல்லது சர்வர் பதிவு llama runner process has terminated: signal: killed எனக் காட்டுகிறது. மாடலுக்குத் தேவையான RAM கணினியில் உள்ளதை விட அதிகமாகையால் Linux OOM killer அதை நிறுத்தியது. காரணத்தை sudo dmesg | grep -i oom உடன் உறுதிப்படுத்திக் கொள்ளுங்கள். அங்கே Out of memory: Killed process ... (ollama) போன்ற ஒரு வரி தெரியும். தீர்வு ஒரு சிறிய அல்லது அதிகமாக quantize செய்யப்பட்ட மாடலாகும் — 13B க்குப் பதிலாக llama3.2:3b — அல்லது swap சேர்ப்பதாகும். இதனால் பௌதிக RAM-ஐ மிகச் சற்றே தாண்டும் சுமை முற்றிலும் நின்றுவிடாமல் மெதுவாகச் செயல்படும். swap உடனடி செயலிழப்பை மெதுவான பதிலாக மாற்றுகிறது. இது 4 GB-ல் 70B மாடலைப் பயனுள்ளதாக்குவதில்லை.
"Error: model requires more system memory". Ollama மாடலைத் தொடங்க மறுக்கிறது. Error: model requires more system memory (X GiB) than is available (Y GiB) என அச்சிடுகிறது. இது மேலே உள்ள செயலிழப்பின் மரியாதையான வடிவம். Ollama கணக்கீட்டைச் செய்து OOM killer செய்வதற்கு முன் தானே நிறுத்தியது. இரண்டு எண்களையும் கூட உங்களுக்குத் தருகிறது. உங்கள் காலி RAM-ஐ விடக் குறைவான தேவை கொண்ட மாடலைத் தேர்ந்தெடுங்கள் (free -h உடன் சரிபார்க்கவும்). சூழல் நீளத்தைச் சுருக்குங்கள். அல்லது பெரிய VPS-க்கு மாறுங்கள். எந்த flag-ம் மாடலைப் பொருத்திப் பார்க்க வைப்பதில்லை — நினைவகத் தேவை உண்மையானது.
முதல் token நீண்ட நேரம் எடுக்கிறது, பிறகு சரியாகிறது. குளிர்ந்த மாடல் ஐந்து முதல் முப்பது விநாடிகளுக்கு ஒன்றும் அச்சிடுவதில்லை. பிறகு இயல்பாக வெளியேறுகிறது. அந்த இடைவெளி வட்டிலிருந்து RAM-க்கு முதன்முறையாக weights ஏற்றப்படுவதாகும். மெதுவான சேமிப்பு இதை மேலும் மோசமாக்குகிறது. ஒருமுறை ஏற்றப்பட்ட பிறகு, மாடல் OLLAMA_KEEP_ALIVE காலத்திற்கு நினைவகத்திலேயே இருக்கும். எனவே இரண்டாவது கேள்விக்கு உடனடியாகப் பதில் வரும். இந்த இடைவெளிகள் உங்களைத் தொந்தரவு செய்தால் அந்த மதிப்பை உயர்த்துங்கள். ஒரு மாடல் தற்போது ஏற்றப்பட்டுள்ளதா என்பதைப் பார்க்க ollama ps ஐப் பயன்படுத்துங்கள்.
எல்லாமே வெறுமனே மெதுவாக உள்ளன. விநாடிக்குப் பத்து token அல்லது அதற்கும் குறைவாக, எந்தப் பிழையும் இல்லை. இது CPU inference அது செய்யும் காரியத்தைச் சரியாகச் செய்கிறது. ollama ps ஆனது 100% CPU எனக் காட்டுகிறது. இதன் பொருள் GPU இல்லை என்பதாகும். இது பிழை அல்ல. எந்த அமைப்பும் இதைச் சரிசெய்வதில்லை. ஏனெனில் வரம்பு நினைவக அலைவரிசையாகும், தவறான அமைப்பு அல்ல. சிறிய மாடலைப் பயன்படுத்துங்கள், வேகத்தை ஏற்றுக்கொள்ளுங்கள், அல்லது GPU instance-க்கு மாறுங்கள். ஏதாவது உடைந்ததா என முடிவெடுப்பதற்கு முன் உங்கள் உண்மையான வேகத்தை --verbose உடன் அளவிடுங்கள்.
வேறு கணினியிலிருந்து இணைப்பு மறுக்கப்படுகிறது. உங்கள் மடிக்கணினியிலிருந்து நீங்கள் curl: (7) Failed to connect to <ip> port 11434: Connection refused பெறுகிறீர்கள். இது வடிவமைக்கப்பட்டபடியே செயல்படுகிறது: Ollama localhost-ஐ மட்டுமே பிணைக்கிறது. இதை 0.0.0.0 ஐப் பிணைப்பதன் மூலம் "சரிசெய்ய" வேண்டாம். அது மேலே உள்ள வெளிப்பாட்டுப் பிழையே. மாறாக, VPN வழியாகவோ அங்கீகரிக்கும் proxy வழியாகவோ மாடலை அணுகுங்கள்.
நீங்கள் 11434-ஐ இணையத்திற்கு வெளிப்படுத்தியுள்ளீர்கள். நீங்கள் OLLAMA_HOST=0.0.0.0 என அமைத்தீர்கள் என்றும், firewall திறந்தீர்கள் என்றும், இப்போது நீங்கள் தொடங்காத மாடல் pull-கள் அல்லது தெரியாத கிளையன்ட்களால் CPU 100%-ல் பூட்டப்பட்டதைக் காண்கிறீர்கள் என்றால், உங்களைக் கண்டுபிடித்துப் பயன்படுத்தியுள்ளனர். இது ஒரு விதிவிலக்கு அல்ல, முக்கியப் பிழை. 127.0.0.1 அல்லது VPN முகவரிக்கு மீண்டும் பிணையுங்கள். firewall-ல் 11434-ஐ மூடுங்கள். முன்னால் அங்கீகரிப்பை வையுங்கள். அது திறந்திருந்தபோது அந்த முகவரியில் அணுகக்கூடிய எதையும் அந்நியர்கள் வினவியதாகக் கருதுங்கள்.
காப்புப்பிரதிகள் மற்றும் மேம்படுத்தல்கள்
இழக்க வேண்டிய நிலைத் தரவு மிகக் குறைவு. மாதிரிகளை மீண்டும் பதிவிறக்கலாம். எனவே காப்புப்பிரதி எடுக்க வேண்டியவை Open WebUI-இன் தரவு தொகுதி — கணக்குகள், அரட்டை வரலாறு, அமைப்புகள் — மற்றும் நீங்கள் எழுதிய ஏதேனும் systemd drop-in ஆகியவை மட்டுமே. ஒரு நிலையற்ற கொள்கலனைப் பயன்படுத்தி தொகுதியைக் காப்புப்பிரதி எடுக்கவும்:
docker run --rm -v open-webui:/data -v "$PWD":/backup alpine \
tar czf /backup/open-webui.tgz -C /data .நிறுவல் சுருளை மீண்டும் இயக்கி Ollama-வை மேம்படுத்தவும். docker pull ghcr.io/open-webui/open-webui:main ஐப் பயன்படுத்தி Open WebUI-ஐ மேம்படுத்தி, பின்னர் கொள்கலனை மீண்டும் உருவாக்கவும். எதையும் நீண்ட காலத்திற்குப் பூட்ட வேண்டாம். மாதிரியின் தரமும் இயக்க நேரமும் வேகமாக மாறுகின்றன. எனவே வெளியீட்டுக் குறிப்புகளைப் படித்து, கடந்த காலாண்டின் எண்களை நம்புவதற்குப் பதிலாக உங்கள் சொந்த இயந்திரத்தில் மீண்டும் அளவீடு செய்யவும்.
FAQ
CPU மட்டும் கொண்ட VPS-ல் நான் உண்மையில் ஒரு LLM-ஐ இயக்க முடியுமா?
ஆம், வரம்புகளுக்குள். 3B முதல் 8B வரம்பிலான சிறிய quantized மாடல்கள் CPU-ல் இயங்கும். வரைவது, சுருக்குவது, மற்றும் வகைப்படுத்துவது ஆகியவற்றுக்கு இவை உண்மையிலேயே பயனுள்ளவை. ஆனால் மெதுவாக இயங்கும் — பகிரப்பட்ட vCPU-ல் வினாடிக்கு ஒற்றைப்படை முதல் குறைந்த இரட்டைப்படை tokens வரை கிடைக்கும். 13B மற்றும் அதற்கு மேற்பட்ட மாடல்கள் மிக மெதுவாக இயங்கும் அல்லது RAM-ல் ஒருபோதும் பொருந்தாது. உண்மையான வேகம் அல்லது பெரிய மாடல்களுக்கு உங்களுக்கு GPU instance தேவை.
ஒவ்வொரு மாடலுக்கும் எவ்வளவு RAM தேவை?
இயல்புநிலை 4-bit quantized மாடல்களுக்கான தோராய விதி: weights-க்கு ஒரு billion parameters-க்கு சுமார் 0.5 GB RAM, அத்துடன் சுமார் 1 GB overhead மற்றும் context-க்கு சிறிது அதிகம். எனவே 3B மாடலுக்கு சுமார் 4 GB காலி இடம் தேவை, 7-8B மாடலுக்கு சுமார் 8 GB, மற்றும் 14B மாடலுக்கு சுமார் 16 GB. உங்கள் காலி இடத்தை free -h கொண்டு சரிபார்க்கவும். இயக்க முறைமை மற்றும் பெட்டியில் உள்ள பிற சேவைகளுக்கும் இடம் விடவும்.
Ollama API அங்கீகரிக்கப்பட்டதா?
இல்லை. Ollama-வில் உள்ளே கட்டமைக்கப்பட்ட அங்கீகாரம், API key அல்லது rate limit இல்லை — port 11434-ஐ அணுக முடிந்த எவரும் அதன் முழு கட்டுப்பாட்டையும் பெற்றிருப்பார். அதுதான் அது இயல்பாகவே 127.0.0.1-உடன் பிணைக்கப்படுவதற்கும், 11434-ஐ இணையத்தில் 0.0.0.0-இல் நீங்கள் ஒருபோதும் வெளிப்படுத்தக்கூடாது என்பதற்கும் காரணம். அதை உள்ளூர், தனியார் VPN வழியாக, அல்லது login சேர்க்கும் reverse proxy வழியாக அணுகவும்.
நான் ஒரு web chat interface-ஐ எப்படி சேர்ப்பது?
Open WebUI-ஐ Docker-ல் --network=host உடன் இயக்கவும். அது host-இன் loopback-ஐ பகிர்ந்து பூர்வீக Ollama-வை http://127.0.0.1:11434-இல் அணுகும். பின்னர் அதன் port 8080-க்கு முன்னால் TLS reverse proxy-ஐ வைக்கவும். உங்கள் மடிக்கணினியிலிருந்து அணுக, இது உதவும். 8080-ஐ firewall-ல் மூடியே வைக்கவும். அப்போது proxy மட்டுமே பொது வாயிலாக இருக்கும். Open WebUI-இன் சொந்த admin account login-ஐ வழங்குகிறது. முதல் தொடக்கத்தில் அதன் கடவுச்சொல்லை அமைப்பீர்கள்.
எனது சொந்த பயன்பாட்டிலிருந்து அதை எப்படி அழைப்பது?
http://127.0.0.1:11434/v1-இல் உள்ள OpenAI-பொருந்தக்கூடிய endpoint-ஐ பயன்படுத்தவும். எந்த OpenAI SDK-ஐயும் அந்த base URL-க்கு சுட்டவும். API key-ஆக எந்த string-ஐயும் அனுப்பவும், ஏனெனில் அது புறக்கணிக்கப்படும். நீங்கள் pull செய்த பெயருக்கு model-ஐ அமைக்கவும். base URL மற்றும் key தவிர ஏற்கனவே உள்ள OpenAI குறியீடு பொதுவாக மாற்றப்படாமல் இயங்கும்.