AI Agents · บทเรียน

การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp

Ollama ทำให้การเรียกใช้ LLM ง่ายเหมือน 'docker run' ส่วน llama.cpp เจาะลึกถึงการทำควอนไทซ์และการควบคุม C++ โดยตรง

บทเรียน 2 จาก 415 ขั้นตอน

การเรียกใช้โมเดลภายในเครื่องด้วย 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 serve

Calling 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 Q4VRAM 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ภาพรวม Llama, Mistral และ Qwen
  2. การเรียกใช้โมเดลภายในเครื่องด้วย Ollama และ llama.cpp
  3. โมเดลเปิดที่รองรับการเรียกใช้ฟังก์ชัน (Hermes, Functionary)
  4. ข้อแลกเปลี่ยน: เวลาแฝง ต้นทุน ความสามารถ
← กลับไปที่ AI Agents