การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp
Ollama ทำให้การเรียกใช้ LLM ง่ายเหมือน 'docker run' ส่วน llama.cpp เจาะลึกถึงการทำควอนไทซ์และการควบคุม C++ โดยตรง
การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
สองแนวทางที่ทำได้ง่าย
สำหรับการโฮสต์โมเดลแบบเปิดเองบนเวิร์กสเตชันหรือเซิร์ฟเวอร์:
- Ollama — ใช้งานง่ายที่สุด มีประสบการณ์ใช้งานสำหรับ LLM คล้าย Docker
- llama.cpp — ควบคุมการทำงานระดับล่างได้มากกว่า และใช้ทรัพยากรน้อยกว่า
Ollama Quick Start
# Install (macOS):
brew install ollama
# Pull a model:
ollama pull llama3.1:8b
# Run interactively:
ollama run llama3.1:8b 'Hello'
# Serve via HTTP (OpenAI-compatible):
ollama serveCalling Ollama Via SDK
from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
response = client.chat.completions.create(
model='llama3.1:8b',
messages=[{'role': 'user', 'content': 'Hello'}]
)
print(response.choices[0].message.content)การเรียกใช้เครื่องมือใน Ollama
Ollama รองรับการเรียกใช้เครื่องมือสำหรับโมเดลที่เข้ากันได้ เช่น Llama 3.1 ขึ้นไป, Mistral และ Qwen 2.5:
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)พื้นฐาน llama.cpp
llama.cpp คือการนำไปใช้งานด้วย C++ ซึ่งสามารถเรียกใช้โมเดลรูปแบบ GGUF ใด ๆ บน CPU, GPU หรือ Metal ของ Apple Silicon ได้:
# Build (or install pre-built):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
# Run a quantized model:
./llama-cli -m models/llama-3.1-8b-instruct.Q4_K_M.gguf -p 'Hello'Server Mode
./llama-server -m models/llama-3.1-8b-instruct.Q4_K_M.gguf --port 8080
# Now OpenAI-compatible endpoint at http://localhost:8080/v1การทำควอนไทซ์
การทำควอนไทซ์แบบ 4 บิต (Q4_K_M) ช่วยให้คุณเรียกใช้โมเดลขนาด "16GB" โดยใช้ RAM ประมาณ 5GB และสูญเสียคุณภาพเพียงเล็กน้อย ลองใช้ Q4 ก่อน แล้วเพิ่มเป็น Q5, Q6 หรือ Q8 สำหรับงานที่คุณภาพมีความสำคัญอย่างยิ่ง
ข้อกำหนดด้านฮาร์ดแวร์
| โมเดล | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ประมาณ 6 GB | ประมาณ 6 GB |
| 13B | ประมาณ 10 GB | ประมาณ 10 GB |
| 70B | ประมาณ 40 GB | ประมาณ 40 GB |
หน่วยความจำแบบรวมของ Apple Silicon ทำให้โมเดลขนาดใหญ่ที่ทำงานภายในเครื่องใช้งานได้จริงอย่างน่าประหลาดใจ
vLLM เพื่อปริมาณงานสูง
สำหรับการให้บริการในระบบใช้งานจริงที่มีการทำงานพร้อมกันจำนวนมาก ให้ใช้ vLLM ซึ่งมี PagedAttention และการรวมชุดงานต่อเนื่อง:
# pip install vllm
from vllm import LLM, SamplingParams
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
params = SamplingParams(temperature=0.2, max_tokens=512)
result = llm.generate(['Hello world'], params)การอนุมานเพื่อสร้างข้อความ (TGI)
HuggingFace TGI คือเซิร์ฟเวอร์สำหรับระบบใช้งานจริงอีกตัวหนึ่ง และรองรับการใช้เครื่องมือได้ดี
การเปรียบเทียบเซิร์ฟเวอร์
- Ollama — ประสบการณ์ใช้งานดีที่สุด มี CLI/HTTP ที่เรียบง่าย เหมาะสำหรับการพัฒนา
- llama.cpp — ใช้ทรัพยากรน้อยที่สุดและทำงานได้ทุกที่
- vLLM — มีปริมาณงานสูงที่สุด ใช้ได้เฉพาะ GPU
- TGI — ผสานการทำงานกับ HuggingFace และรองรับการตรวจสอบระบบ
ควรโฮสต์เองเมื่อใด
- ต้องการความเป็นส่วนตัวอย่างเข้มงวด
- มีปริมาณการใช้งานสูงมาก โดยจุดคุ้มทุนด้านค่าใช้จ่ายอยู่ที่ประมาณ 10 ล้านโทเค็นต่อวัน
- ใช้โมเดลที่ฝึกต่อยอดแล้ว
- กรณีใช้งานบนอุปกรณ์ปลายทางหรือแบบออฟไลน์
เมื่อใดไม่ควรโฮสต์เอง
- โครงการเสริมที่มีปริมาณการใช้งานน้อย เพราะการใช้บริการบนโฮสต์มีราคาถูกกว่า
- ต้องการคุณภาพการให้เหตุผลระดับแนวหน้า
- งานหลายรูปแบบ
จุดปลายทางที่เข้ากันได้กับ OpenAI
เหตุใดข้อตกลงของจุดปลายทางที่เข้ากันได้กับ OpenAI จึงเหมาะกับโมเดลภายในเครื่อง
ทบทวน
ใช้ Ollama เพื่อความง่ายในการพัฒนา ใช้ llama.cpp เพื่อการพกพา และใช้ vLLM เพื่อปริมาณงานระดับระบบใช้งานจริง ทั้งหมดรองรับ API รูปแบบ OpenAI จึงสลับใช้งานได้โดยไม่ต้องแก้โค้ด
เรียนรู้ AI Agents ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 60
- บทเรียน
- 239
คำถามที่พบบ่อย
บทเรียน “การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp”
Ollama ทำให้การเรียกใช้ LLM ง่ายเหมือน 'docker run' ส่วน llama.cpp เจาะลึกถึงการทำควอนไทซ์และการควบคุม C++ โดยตรง คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ภาพรวม Llama, Mistral และ Qwen
- การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp
- โมเดลเปิดที่รองรับการเรียกใช้ฟังก์ชัน (Hermes, Functionary)
- ข้อแลกเปลี่ยน: เวลาแฝง ต้นทุน ความสามารถ