हे मार्गदर्शन अॅप इन्स्टॉल करण्याची परवानगी आणि संवेदनशील माहिती नसलेली स्वतःची चाचणी फाइल असलेल्या Mac मालकासाठी आहे. Ollama मध्ये एक मॉडेल डाउनलोड करून, संभाषण जतन करणारे Open WebUI ब्राउझर चॅट आणि VS Code चे Continue विस्तार त्याच कार्यान्वयन सेवेला जोडाल. त्यानंतर प्रत्यक्ष सुचवलेला बदल पाहून तो ठेवायचा का ठरवाल. खालील कमांड आणि तपासण्या देखभालकर्त्यांच्या सध्याच्या कागदपत्रांवर आधारित आहेत. BIG CHANGE ने ही रचना चालवलेली नाही किंवा वेग, खर्च वा नेटवर्क रहदारी मोजलेली नाही.

मोठा बदल

  • काय बदलते: डाउनलोड केलेले Ollama मॉडेल स्थानिक API मधून ब्राउझर चॅट आणि VS Code संपादन सहाय्यक या दोन्हींना सेवा देऊ शकते. प्रत्येक क्लायंटची जोडणी वेगळी तपासावी लागते.
  • हे महत्त्वाचे का: एकाच Mac वर मॉडेलची एक स्थापना संभाषण आणि तपासलेला कोड बदल समर्थित करू शकते; अंतिम संपादनाचा निर्णय फाइल मालकाकडे राहतो.
  • कशाकडे लक्ष द्यावे: मेनूमधील मॉडेलचे नाव कोणत्या सर्व्हरने उत्तर दिले ते सिद्ध करत नाही. विशेषतः इतर पुरवठादार किंवा क्लाउड सुविधा सेट असल्यास जोडणी आणि प्रत्यक्ष उत्तरे तपासा.

1. Mac तपासा आणि मॉडेल निवडा

तुम्हाला आवश्यक आहे Ollama साठी macOS 14 किंवा नवीन, Mac साठी Docker Desktop, Continue विस्तारअसलेले VS Code आणि खालील लहान JSON व फाइल तपासण्यांसाठी Python 3. Ollama Apple M मालिकेचे CPU आणि GPU कार्यान्वयन समर्थित करते; Intel Mac साठी कागदपत्रांत फक्त CPU आहे. Mac डाउनलोड पानावरून Ollama इन्स्टॉल करा, अॅप Applications मध्ये हलवा, उघडा आणि विचारल्यास कमांड-लाइन लिंकला परवानगी द्या. Docker Desktop इन्स्टॉल करून सुरू करा आणि VS Code च्या Extensions दृश्यातून Continue इन्स्टॉल करा. Python 3 हे Python.org वरून इन्स्टॉल करा, जर python3 उपलब्ध नसेल. Mac वर VS Code आपोआप code शेलच्या शोधमार्गात जोडत नाही. त्याच्या Mac सेटअप सूचनापाळा: Cmd+Shift+Pने Command Palette उघडा, Shell Command: Install 'code' command in PATHचालवा आणि Terminal पुन्हा सुरू करा. आवश्यक साधने उपलब्ध आहेत याची खात्री करा:

Terminal
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version

इन्स्टॉल केलेल्या आवृत्त्या नोंदवा. कोणतेही अॅप चालू नसल्यास किंवा मॉडेल व Docker डेटासाठी जागा नसल्यास थांबा. qwen2.5-coder:7b मॉडेल पानावर सध्या 4.7 GB डाउनलोड आणि Apache 2.0 परवाना नमूद आहे. डाउनलोडचा आकार एकूण आवश्यक कार्यस्मृती नाही. हे ठोस उदाहरण आहे, प्रत्येक Mac साठी शिफारस नाही. गरज असल्यास नोंद असलेला लहान स्थानिक टॅग निवडा आणि खालील सर्व कमांड, ब्राउझर निवड व YAML क्षेत्रातील qwen2.5-coder:7b ऐवजी तोच अचूक टॅग वापरा. पर्यायी मॉडेलचा परवानाही तपासा.

मॉडेल डाउनलोड करा आणि Ollama मध्ये अचूक टॅग दिसतो का तपासा:

Terminal
ollama pull qwen2.5-coder:7b
ollama list
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/tags | python3 -c 'import json,sys; d=json.load(sys.stdin); print([m["name"] for m in d["models"]])'

यादीत qwen2.5-coder:7bअसायला हवा. पुढे स्थानिक चॅट API कडून छोटे उत्तर मागा. HTTP त्रुटी आल्यास कमांड अयशस्वी होते आणि परत आलेले मॉडेल व सहाय्यकाचा रिकामा नसलेला मजकूर तपासते; उत्तराचे अचूक शब्द महत्त्वाचे नाहीत. Ollama कार्यान्वयन पर्याय num_predict ही तपासणी 64 तयार टोकनपर्यंत मर्यादित करतो. तुटलेले वाक्यही मजकूर परत आल्याचे दाखवू शकते; रिकामे उत्तर तपासणी अयशस्वी झाल्याचे दर्शवते आणि कारण शोधावे लागते.

Terminal
set -o pipefail
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen2.5-coder:7b","messages":[{"role":"user","content":"Reply with one short sentence about checking a local connection."}],"stream":false,"options":{"num_predict":64}}' \
  | python3 -c 'import json,sys; d=json.load(sys.stdin); assert d.get("model")=="qwen2.5-coder:7b",d.get("model"); assert d.get("message",{}).get("content","").strip(); print("Model:",d["model"],"Reply:",d["message"]["content"])'

टॅग नसेल तर डाउनलोड पूर्ण करून यादी पुन्हा पाहा. API उपलब्ध नसेल तर Ollama सुरू करा आणि त्याचा Mac सर्व्हर लॉग या ठिकाणी पाहा: ~/.ollama/logs/server.log. डाउनलोड केलेला टॅग आणि यशस्वी स्थानिक उत्तर या तीन तपासण्यांपैकी पहिली आहेत.

2. टिकाऊ स्थानिक डेटासह Open WebUI सुरू करा

हे Open WebUI झटपट सुरुवात मार्गदर्शन खाते, सेटिंग आणि चॅट /app/backend/data मध्ये ठेवते आणि कायम WEBUI_SECRET_KEYमागते. आपण स्थिर v0.12.3 आवृत्ती वापरतो, सतत बदलणारा main टॅग नाही. Docker Mac च्या रचनेनुसार इमेज निवडेल; डाउनलोडनंतर तिची ओळख नोंदवा.

आधी येथे वापरलेली नावे तपासा. नाव आधीच असल्यास तो कंटेनर किंवा व्हॉल्यूम तपासून तो जुन्या सेटअपचा आहे का ठरवा. फक्त कमांड चालवण्यासाठी विद्यमान कंटेनर बदलू किंवा त्याचा व्हॉल्यूम पुसू नका.

Terminal
docker ps -a --filter name=^/bc-open-webui$ 
docker volume inspect bc-open-webui-data

पहिल्या सेटअपमध्ये दुसरी कमांड व्हॉल्यूम नसल्याचे सांगणे सामान्य आहे. पुढील पावले तयार की Mac खात्याच्या खाजगी फाइलमध्ये ठेवतात. कंटेनर पुन्हा बनवण्यासाठी ती सुरक्षित ठेवा. तिचा मजकूर रिपॉझिटरीत कमिट, कुठे पेस्ट किंवा शेअर करू नका. या इन्स्टन्सची की आधीपासून असेल तर तीच वापरा.

Terminal
mkdir -p "$HOME/.config/bc-open-webui"
chmod 700 "$HOME/.config/bc-open-webui"
umask 077
if [ ! -s "$HOME/.config/bc-open-webui/webui-secret" ]; then
  openssl rand -hex 32 > "$HOME/.config/bc-open-webui/webui-secret"
fi
chmod 600 "$HOME/.config/bc-open-webui/webui-secret"
export WEBUI_SECRET_KEY="$(cat "$HOME/.config/bc-open-webui/webui-secret")"
docker pull ghcr.io/open-webui/open-webui:v0.12.3
docker image inspect ghcr.io/open-webui/open-webui:v0.12.3 --format '{{json .RepoDigests}}'
docker volume create bc-open-webui-data
docker run -d --name bc-open-webui --restart unless-stopped \
  -p 127.0.0.1:3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v bc-open-webui-data:/app/backend/data \
  -e WEBUI_SECRET_KEY \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  ghcr.io/open-webui/open-webui:v0.12.3
unset WEBUI_SECRET_KEY
docker ps --filter name=^/bc-open-webui$ --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'

पोर्टच्या आउटपुटमध्ये 127.0.0.1:3000->8080/tcpदिसले पाहिजे. नाव असलेला व्हॉल्यूम कंटेनर पुन्हा बनवला तरी चॅट आणि सेटिंग ठेवतो. की सत्राची सलगता आणि अॅपमधील कूटबद्ध मूल्ये सुरक्षित करते, म्हणून खाजगी प्रत ठेवा. Docker प्रवेश असणाऱ्यांना कंटेनर सेटिंगमधील पर्यावरण मूल्ये दिसू शकतात; ही एका वापरकर्त्याची स्थानिक रचना आहे, सामायिक होस्टचे गुपित भांडार नाही.

ब्राउझरमध्ये http://127.0.0.1:3000 उघडा. पहिल्या वेळी प्रशासक खाते बनवा. अवतार मेनूमध्ये Settings → Admin → Connectionsउघडा. Manage Ollama API Connections तपासा आणि http://host.docker.internal:11434कडे जाणारी फक्त एक जोडणी सुरू ठेवा; या तपासणीसाठी अनपेक्षित पुरवठादार जोडण्या काढा किंवा बंद करा. Open WebUI अनेक Ollama जोडण्यांमध्ये विनंत्या वाटू शकते, म्हणून ड्रॉपडाउनमधील जुळते नाव पुरेसे नाही. नवीन चॅटमध्ये qwen2.5-coder:7b निवडून विचारा: “स्थानिक मॉडेलने उत्तर दिले हे कसे तपासता येईल?” रिकामे नसलेले उत्तर आल्याची खात्री करून जतन केलेले चॅट पुन्हा उघडा. निवडलेले मॉडेल व जोडणी URL नोंदवा. ही ब्राउझर तपासणी आहे; ठरावीक उत्तर अपेक्षित नाही.

पान उघडत नसेल तर docker logs bc-open-webui आणि पोर्ट बांधणी तपासा. मॉडेल यादी रिकामी असेल तर Ollama अजूनही /api/tagsला उत्तर देते का पाहा, जतन केलेली Open WebUI जोडणी तपासा आणि Docker Desktop ची ही आवृत्ती Mac होस्ट सेवेला पोहोचते का चाचपा. host.docker.internal हा Docker Desktop चा होस्ट पत्ताआहे, तर localhost कंटेनरमध्ये वापरल्यास त्या कंटेनरलाच दर्शवतो. Ollama मूलतः 127.0.0.1 शी बांधलेले असते; होस्ट-कंटेनर अग्रेषण सेटिंगनुसार बदलू शकते. अयशस्वी जोडणीला यशस्वी सेटअप समजू नका किंवा सामान्य उपाय म्हणून Ollama 0.0.0.0 वर खुले करू नका. पुढे जाण्यापूर्वी सुरक्षाधोरणाप्रमाणे स्थानिक नेटवर्क मार्ग सोडवा. अडचण शोधताना व्हॉल्यूम आणि जुने चॅट जतन करा.

3. Continue ला त्याच Ollama टॅगशी जोडा

Continue Mac वरील VS Code मध्ये चालते, म्हणून त्याचा Ollama API पत्ता आहे http://localhost:11434. Continue उघडून चॅट इनपुटच्या वर उजवीकडील सेटिंग ड्रॉपडाउन वापरा आणि Local Configजवळच्या गियरवर क्लिक करा. यातून ~/.continue/config.yamlउघडते; Continue चा सध्याचा संदर्भ YAML वापरतो. जुन्या सेटिंगची प्रत जतन करा आणि आवश्यक मॉडेल किंवा नियम ठेवा. नवीन स्थानिक सेटिंगसाठी पूर्ण किमान मजकूर:

YAML
name: Local Ollama check
version: 1.0.0
schema: v1
models:
  - name: Qwen2.5 Coder 7B local
    provider: ollama
    model: qwen2.5-coder:7b
    apiBase: http://localhost:11434
    roles:
      - chat
      - edit

विद्यमान फाइलमध्ये ही मॉडेल नोंद तिच्या models: यादीत जोडा आणि वरची सध्याची सेटिंग ठेवा. जतन करून Local Config आणि नाव दिलेले स्थानिक मॉडेल निवडा, मग Continue Chat मध्ये छोटा प्रश्न विचारा. मजकूर परत येतो का पाहा. हे विस्ताराची जोडणी तपासते; चॅट उत्तर म्हणजे फाइल संपादन नाही. chat आणि edit भूमिका येथे वापरलेल्या दोन कृती सुरू करतात; ही पद्धत Agent किंवा स्वयंपूर्णतेचे आश्वासन देत नाही.

स्वतःची चाचणी निर्देशिका व स्वतंत्रपणे तपासता येणाऱ्या साध्या वर्तनाची फाइल बनवा. कमांड जुनी फाइल किंवा मूळ प्रत वाचवते; नाव वापरात असल्यास ते तपासा किंवा दुसरी निर्देशिका निवडा:

Terminal
mkdir -p "$HOME/continue-local-check"
if [ -e "$HOME/continue-local-check/greeting.py" ] || [ -e "$HOME/continue-local-check/greeting.original.py" ]; then
  printf '%s\n' 'Scratch file already exists; inspect it or choose a new directory.'
else
  cat > "$HOME/continue-local-check/greeting.py" <<'PY'
def greeting(name):
    return "Hello, " + name

if __name__ == "__main__":
    assert greeting("Ada") == "Hello, Ada"
    print(greeting("Ada"))
PY
  if python3 "$HOME/continue-local-check/greeting.py"; then
    cp "$HOME/continue-local-check/greeting.py" "$HOME/continue-local-check/greeting.original.py"
  else
    printf '%s\n' 'Original check failed; inspect the file before requesting an edit.'
  fi
fi

मूळ चाचणीत assertion यशस्वी झाल्यावर Hello, Ada छापले पाहिजे. greeting.py VS Code मध्ये उघडा, फक्त फंक्शन निवडा आणि Cmd+I दाबून Continue Editवापरा. परत मिळणारा मजकूर न बदलता छोटी docstring जोडण्यास सांगा. हळूहळू दिसणारा इनलाइन diff greeting.original.pyशी ताडा; निवडलेल्या कोडचा Edit देखील पूर्ण फाइल संदर्भात घेऊ शकतो, म्हणून फक्त स्वतःची असंवेदनशील फाइल वापरा. मॉडेल सांगितल्यापेक्षा जास्त बदलू शकते. प्रत्येक बदललेली ओळ पाहून योग्य प्रस्ताव Cmd+Opt+Yने स्वीकारा किंवा Cmd+Opt+Nने नाकारा. Continue मध्ये सर्व स्वीकारा किंवा सर्व नाकारा नियंत्रणही आहे, पण लहान diff एक-एक बदल पाहायला सोपा आहे.

स्वीकारल्यानंतर फाइल जतन करून चालवा:

Terminal
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"

diff मध्ये फक्त अपेक्षित बदल आहे आणि मूळ assertion अजूनही यशस्वी आहे का तपासा. प्रस्ताव नाकारल्यास फाइल मूळसारखी असल्याची खात्री करून नकार नोंदवा; संपादन पूर्ण झाल्याचा दावा करू नका. फाइल, diff आणि स्वतंत्र Python चाचणी मॉडेलच्या स्वतःच्या वर्णनापेक्षा अधिक विश्वासार्ह पुरावा देतात.

4. सीमा स्पष्ट ठेवा

Ollama, Open WebUI आणि Continue ची वेगळी सेटिंग आहेत. फक्त Ollama क्लाउड बंद करण्यासाठी सर्व्हर चालवणाऱ्या खात्याच्या ~/.ollama/server.jsonमध्ये खालील क्षेत्र जोडा; सध्याची JSON क्षेत्रे ठेवा. नवीन फाइलचा पूर्ण मजकूर:

JSON
{
  "disable_ollama_cloud": true
}

Ollama अॅप पुन्हा सुरू करून सर्व्हर लॉग पाहा:

Terminal
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"

हे Ollama FAQ त्या लॉग ओळीची नोंद देते. ती नसेल तर क्लाउड बंद झाल्याचे म्हणण्यापूर्वी Ollama चालवणारे Mac खाते, JSON आणि पुन्हा सुरू करणे तपासा. ही सेटिंग Open WebUI चे इतर पुरवठादार, पर्यायी ऑनलाइन सुविधा किंवा Continue वाहतूक तपासत नाही. Continue च्या ऑफलाइन मार्गदर्शिका नुसार Allow Anonymous Telemetryबंद करा, स्थानिक मॉडेल वापरा आणि VS Code पुन्हा सुरू करा. संवेदनशील सामग्री वापरण्यापूर्वी प्रत्येक अॅपची जोडणी पाहा. फक्त लूपबॅक URL म्हणजे नेटवर्क लेखापरीक्षण नाही.

तुमच्या प्रत्यक्ष वापरासाठी Docker Desktop परवाना पाहा. वैयक्तिक, शैक्षणिक, अव्यावसायिक मुक्त-स्रोत वापर आणि अशा लहान व्यवसायांना तो मोफत आहे ज्यांचे कर्मचारी 250 पेक्षा कमी आणि वार्षिक उत्पन्न 1 कोटी अमेरिकी डॉलरपेक्षा कमी आहे. मोठ्या संस्था व सरकारमधील व्यावसायिक वापरासाठी सशुल्क सदस्यता लागते. मॉडेलचा Apache 2.0 परवाना वेगळा आहे. डिस्क, मेमरी, डाउनलोड बँडविड्थ आणि वीज महत्त्वाचीच आहेत; या मार्गदर्शिकेसाठी खर्च किंवा कार्यक्षमता मोजली नाही.

फक्त Ollama टर्मिनल आणि API च्या लहान प्रक्रियेसाठी पाहा स्थानिक Ollama मॉडेल चालवून त्याचा चॅट API तपासा. स्थानिक Ollama मॉडेलने Claude Code मध्ये एक तपासलेला बदल करा हा वेगळा प्रोग्रामिंग क्लायंट सांगतो.

स्रोत आणि पुढील वाचन