หลังจากที่บทความก่อนหน้านี้เราได้วิเคราะห์ประเด็นเรื่อง Privacy ของ OpenCode (opencode.ai) และได้แนะนำวิธีติดตั้งตัวโปรแกรมไปแล้วว่า หากใช้ Cloud LLMs ข้อมูลโค้ดของเราก็ยังถูกส่งออกไปหา Third-party API อยู่ดี
ทางออกเดียวที่จะทำให้การใช้ OpenCode ปลดล็อกความปลอดภัยแบบ 100% Offline & Private คือการรันโมเดลประมวลผลบนเครื่องตัวเอง และเครื่องมือที่ตอบโจทย์และนิยมที่สุดในขณะนี้คือ Ollama วันนี้เราจะมาดูขั้นตอนการตั้งค่าให้ OpenCode เรียกใช้ Local LLMs ผ่าน Ollama แบบจับมือทำกันครับ!
1. ทำไมต้องใช้ OpenCode + Ollama?
- End-to-End Privacy 100%: Source Code และ Context ของโปรเจกต์จะไม่ถูกส่งออกนอกเครื่องแม้แต่บิตเดียว เหมาะกับงานความลับขององค์กร
- Zero Cost: ไม่มีค่า Subscription หรือค่า API Token เพิ่มเติม
- Offline Coding: ทำงานได้แม้ไม่มีอินเทอร์เน็ต จะนั่งเขียนโค้ดบนเครื่องบิน หรือที่ที่ไม่มี WiFi ก็ยังใช้งาน AI ช่วยเขียนโค้ดได้ปกติ
2. สิ่งที่ต้องเตรียมก่อนเริ่ม (Prerequisites)
- ติดตั้ง Ollama: Download และติดตั้งจาก ollama.com
- ติดตั้ง OpenCode: มีตัว App หรือ CLI ในเครื่องเรียบร้อยแล้ว (อ้างอิงวิธีติดตั้งจากบทความที่แล้ว)
- Hardware Spec ที่แนะนำ: การรัน Local LLM จะเน้นที่ VRAM (GPU Memory) เป็นหลัก สำหรับเครื่องทั่วไปแนะนำ RAM 16GB และ GPU มี VRAM อย่างน้อย 8GB (หากเป็น Mac Apple Silicon จะใช้ Unified Memory ร่วมกันได้เลย)
3. ขั้นตอนการตั้งค่าและรันโมเดล (Step-by-Step)
ขั้นตอนที่ 1: Pull โมเดลสาย Coding มาลงใน Ollama
เปิด Terminal แล้วสั่ง Pull โมเดลที่เหมาะกับการเขียนโค้ด เช่น Qwen2.5-Coder:
# Pull โมเดล Qwen2.5-Coder (ขนาด 7B ยอดนิยม)
ollama pull qwen2.5-coder:7b
# เช็กรายการโมเดลทั้งหมดที่มีในเครื่อง
ollama list
ขั้นตอนที่ 2: ตรวจสอบว่า Ollama Service รันอยู่หรือไม่
เปิด Browser แล้วไปที่ http://localhost:11434 หรือรันคำสั่งเช็กใน Terminal:
curl http://localhost:11434
หากได้ข้อความตอบกลับว่า Ollama is running แสดงว่า Service พร้อมใช้งานแล้ว
ขั้นตอนที่ 3: Config ไฟล์ opencode.json
การสลับมาใช้ Local Model ให้ OpenCode อ่าน Config File ซึ่งตั้งอยู่ตาม Path ดังนี้:
- Project Level: อยู่ที่ Root Directory ของโปรเจกต์ เช่น
./opencode.json - Global Level:
- macOS / Linux:
~/.config/opencode/opencode.json - Windows:
%USERPROFILE%\.config\opencode\opencode.json
- macOS / Linux:
กรณีที่ยังไม่มี Config File: สามารถสร้างไฟล์ใหม่ขึ้นมาด้วยคำสั่งใน Terminal ได้ทันที
# สร้าง Config File ระดับ Global (macOS/Linux)
mkdir -p ~/.config/opencode
touch ~/.config/opencode/opencode.json
# หรือสร้างไฟล์ในโปรเจกต์ปัจจุบัน
touch opencode.json
จากนั้นใส่ JSON ด้านล่างนี้ลงไปในไฟล์ opencode.json:
{
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"baseURL": "http://localhost:11434"
}
Note: หากใช้งานผ่าน GUI/CLI Interface ของ OpenCode คุณสามารถสลับ Provider เป็น Ollama และเลือก Model ผ่าน UI ได้เช่นกัน
4. แนะนำ Open-Source Models น่าใช้สำหรับ Coding ยุคนี้
| Model Name | จุดเด่น | VRAM ที่ต้องการ | System RAM แนะนำ |
|---|---|---|---|
| Qwen2.5-Coder (7B) | เก่งเรื่อง Code Generation และแก้อัลกอริทึมมาก เป็นตัวเลือกอันดับ 1 สาย Local ตอนนี้ | 5 - 6 GB | 8 - 16 GB |
| DeepSeek-Coder-V2 (16B) | ความสามารถใกล้เคียงกับ GPT-3.5/GPT-4 ในงานเขียนโปรแกรม Logic ซับซ้อน | 10 - 12 GB | 16 - 32 GB |
| Llama-3.1 (8B) | เก่งเรื่องการอธิบายโค้ดและสนทนาทั่วไป (General Knowledge & Logic) | 6 - 7 GB | 16 GB |
5. ข้อจำกัดและสิ่งที่ต้องแลกเมื่อใช้ Local Model
- ความเร็วขึ้นอยู่กับ GPU/VRAM: หาก VRAM ไม่พอจนโมเดลล้นไปรันบน System RAM/CPU ความเร็วในการ Generate โค้ดจะตกอย่างเห็นได้ชัด
- Context Window จำกัดกว่า Cloud: Local Models อาจจดจำไฟล์ขนาดใหญ่ หรือโปรเจกต์ที่มีหลายสิบไฟล์พร้อมกันได้ไม่ดีเท่า Claude 3.5 Sonnet หรือ GPT-4o
6. สรุป
การจับคู่ระหว่าง OpenCode + Ollama คือคำตอบที่สมบูรณ์แบบที่สุดสำหรับ Developer ที่ต้องการความเป็นส่วนตัวระดับสูงสุด ได้ใช้ AI Agent คอยช่วย Refactor และเขียนโค้ดในโปรเจกต์โดยไม่ต้องกังวลเรื่อง Data Leaks หรือค่าบริการรายเดือนอีกต่อไปครับ!
No comments:
Post a Comment