llama-cpp

โดย firecrawl

รันการอนุมาน LLM บน CPU, Apple Silicon และ GPU ทั่วไปโดยไม่ต้องใช้ฮาร์ดแวร์ NVIDIA ใช้สำหรับการปรับใช้บนอุปกรณ์ปลายทาง, Mac รุ่น M1/M2/M3, GPU AMD/Intel หรือเมื่อไม่มี CUDA…

npx skills add https://github.com/firecrawl/ai-research-skills --skill llama-cpp

llama.cpp

Pure C/C++ LLM inference with minimal dependencies, optimized for CPUs and non-NVIDIA hardware.

When to use llama.cpp

Use llama.cpp when:

  • Running on CPU-only machines
  • Deploying on Apple Silicon (M1/M2/M3/M4)
  • Using AMD or Intel GPUs (no CUDA)
  • Edge deployment (Raspberry Pi, embedded systems)
  • Need simple deployment without Docker/Python

Use TensorRT-LLM instead when:

  • Have NVIDIA GPUs (A100/H100)
  • Need maximum throughput (100K+ tok/s)
  • Running in datacenter with CUDA

Use vLLM instead when:

  • Have NVIDIA GPUs
  • Need Python-first API
  • Want PagedAttention

Quick start

Installation

# macOS/Linux
brew install llama.cpp

# Or build from source
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

# With Metal (Apple Silicon)
make LLAMA_METAL=1

# With CUDA (NVIDIA)
make LLAMA_CUDA=1

# With ROCm (AMD)
make LLAMA_HIP=1

Download model

# Download from HuggingFace (GGUF format)
huggingface-cli download \
    TheBloke/Llama-2-7B-Chat-GGUF \
    llama-2-7b-chat.Q4_K_M.gguf \
    --local-dir models/

# Or convert from HuggingFace
python convert_hf_to_gguf.py models/llama-2-7b-chat/

Run inference

# Simple chat
./llama-cli \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    -p "Explain quantum computing" \
    -n 256  # Max tokens

# Interactive chat
./llama-cli \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    --interactive

Server mode

# Start OpenAI-compatible server
./llama-server \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    --host 0.0.0.0 \
    --port 8080 \
    -ngl 32  # Offload 32 layers to GPU

# Client request
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama-2-7b-chat",
    "messages": [{"role": "user", "content": "Hello!"}],
    "temperature": 0.7,
    "max_tokens": 100
  }'

Quantization formats

GGUF format overview

FormatBitsSize (7B)SpeedQualityUse Case
Q4_K_M4.54.1 GBFastGoodRecommended default
Q4_K_S4.33.9 GBFasterLowerSpeed critical
Q5_K_M5.54.8 GBMediumBetterQuality critical
Q6_K6.55.5 GBSlowerBestMaximum quality
Q8_08.07.0 GBSlowExcellentMinimal degradation
Q2_K2.52.7 GBFastestPoorTesting only

Choosing quantization

# General use (balanced)
Q4_K_M  # 4-bit, medium quality

# Maximum speed (more degradation)
Q2_K or Q3_K_M

# Maximum quality (slower)
Q6_K or Q8_0

# Very large models (70B, 405B)
Q3_K_M or Q4_K_S  # Lower bits to fit in memory

Hardware acceleration

Apple Silicon (Metal)

# Build with Metal
make LLAMA_METAL=1

# Run with GPU acceleration (automatic)
./llama-cli -m model.gguf -ngl 999  # Offload all layers

# Performance: M3 Max 40-60 tokens/sec (Llama 2-7B Q4_K_M)

NVIDIA GPUs (CUDA)

# Build with CUDA
make LLAMA_CUDA=1

# Offload layers to GPU
./llama-cli -m model.gguf -ngl 35  # Offload 35/40 layers

# Hybrid CPU+GPU for large models
./llama-cli -m llama-70b.Q4_K_M.gguf -ngl 20  # GPU: 20 layers, CPU: rest

AMD GPUs (ROCm)

# Build with ROCm
make LLAMA_HIP=1

# Run with AMD GPU
./llama-cli -m model.gguf -ngl 999

Common patterns

Batch processing

# Process multiple prompts from file
cat prompts.txt | ./llama-cli \
    -m model.gguf \
    --batch-size 512 \
    -n 100

Constrained generation

# JSON output with grammar
./llama-cli \
    -m model.gguf \
    -p "Generate a person: " \
    --grammar-file grammars/json.gbnf

# Outputs valid JSON only

Context size

# Increase context (default 512)
./llama-cli \
    -m model.gguf \
    -c 4096  # 4K context window

# Very long context (if model supports)
./llama-cli -m model.gguf -c 32768  # 32K context

Performance benchmarks

CPU performance (Llama 2-7B Q4_K_M)

CPUThreadsSpeedCost
Apple M3 Max1650 tok/s$0 (local)
AMD Ryzen 9 7950X3235 tok/s$0.50/hour
Intel i9-13900K3230 tok/s$0.40/hour
AWS c7i.16xlarge6440 tok/s$2.88/hour

GPU acceleration (Llama 2-7B Q4_K_M)

GPUSpeedvs CPUCost
NVIDIA RTX 4090120 tok/s3-4×$0 (local)
NVIDIA A1080 tok/s2-3×$1.00/hour
AMD MI25070 tok/s$2.00/hour
Apple M3 Max (Metal)50 tok/s~Same$0 (local)

Supported models

LLaMA family:

  • Llama 2 (7B, 13B, 70B)
  • Llama 3 (8B, 70B, 405B)
  • Code Llama

Mistral family:

  • Mistral 7B
  • Mixtral 8x7B, 8x22B

Other:

  • Falcon, BLOOM, GPT-J
  • Phi-3, Gemma, Qwen
  • LLaVA (vision), Whisper (audio)

Find models: https://huggingface.co/models?library=gguf

References

Resources

Skills เพิ่มเติมจาก firecrawl

oracle
firecrawl
แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ oracle CLI (การรวม prompt และไฟล์, เอ็นจิน, เซสชัน, และรูปแบบการแนบไฟล์)
official
firecrawl-monitor
firecrawl
ตรวจจับเมื่อเนื้อหาบนเว็บไซต์เปลี่ยนแปลงและรับการแจ้งเตือนทางเว็บฮุคหรืออีเมล — ไม่ต้องใช้ cron jobs, scrapers หรือ diff scripts ใช้สกิลนี้เมื่อผู้ใช้ต้องการติดตามการเปลี่ยนแปลงบนหน้าเว็บ ดูราคาคู่แข่ง แจ้งเตือนเมื่อมีประกาศรับสมัครงานหรือโพสต์บล็อกใหม่ ติดตามหน้าเอกสาร/บันทึกการเปลี่ยนแปลง/สถานะ หรือพูดว่า "มอนิเตอร์" "ดู" "ติดตาม" "แจ้งเตือนฉันเมื่อ" "แจ้งเตือนเมื่อ X เปลี่ยนแปลง" "ส่งข้อความหาฉันถ้า" "ส่งอีเมลถึงฉันเมื่อ" หรือ "ส่งเว็บฮุคเมื่อ" ผู้ตัดสิน AI ในตัวจะกรองการจัดรูปแบบ การประทับเวลา และ...
officialweb-scrapingresearch
firecrawl-deep-research
firecrawl
ดำเนินการวิจัยเชิงลึกจากหลายแหล่งที่มาด้วย Firecrawl ใช้เมื่อผู้ใช้ขอให้ค้นคว้าหัวข้อ เปรียบเทียบมุมมอง จัดทำสรุปข้อมูลพร้อมแหล่งอ้างอิง สอบถามประเด็นทางเทคนิคหรือตลาด หรือสังเคราะห์หลักฐานจากเว็บจากหลายแหล่ง
officialresearchweb-scraping
firecrawl-research-papers
firecrawl
ค้นหาและสังเคราะห์เอกสารวิจัย เอกสารไวท์เปเปอร์ ไฟล์ PDF รายงานทางเทคนิค และแหล่งข้อมูลทางวิชาการด้วย Firecrawl ใช้เมื่อผู้ใช้ต้องการทบทวนวรรณกรรม สรุปเอกสาร ภาพรวมงานวิจัย หรือการสังเคราะห์ที่มีแหล่งอ้างอิงจากไฟล์ PDF และสิ่งพิมพ์ทางวิชาการ/อุตสาหกรรม
officialresearchweb-scraping
firecrawl-market-research
firecrawl
ดึงข้อมูลตลาด การเงิน รายได้ อุตสาหกรรม และเมตริกของบริษัทด้วย Firecrawl ใช้เมื่อผู้ใช้สอบถามเกี่ยวกับการวิจัยตลาด แนวโน้มอุตสาหกรรม ข้อมูลบริษัทมหาชน การเปรียบเทียบทางการเงิน การวิจัยรายได้ หรือรายงานตลาดที่มีโครงสร้าง
officialresearchweb-scraping
firecrawl-website-design-clone
firecrawl
ดึงระบบการออกแบบของเว็บไซต์ใดๆ ออกมาเป็น DESIGN.md ที่พร้อมใช้งานสำหรับเอเจนต์ โดยใช้หลักฐานจากการสืบค้นด้วย Firecrawl ใช้เมื่อผู้ใช้ต้องการสี ฟอนต์ ระยะห่าง คอมโพเนนต์ รูปแบบเลย์เอาต์ หรือคำแนะนำด้านแบรนด์/UI จากเว็บไซต์ เพื่อให้เอเจนต์ AI สามารถสร้างเว็บไซต์ใหม่ เลียนแบบรูปลักษณ์ หรือสร้างหน้าที่ได้รับแรงบันดาลใจจากการออกแบบนั้น
officialdesignweb-scraping
firecrawl-knowledge-base
firecrawl
สร้างฐานความรู้จากเนื้อหาเว็บด้วย Firecrawl ใช้สำหรับเอกสารอ้างอิงในเครื่อง, ชิ้นส่วนที่พร้อมสำหรับ RAG, ชุดข้อมูลสำหรับปรับแต่งละเอียด, กระจกสะท้อนเอกสาร, คลังข้อมูลหัวข้อ, หรือมาร์กดาวน์ที่พร้อมสำหรับ LLM ซึ่งจัดระเบียบจากแหล่งข้อมูลเว็บ
officialweb-scrapingresearch
firecrawl-lead-research
firecrawl
สร้างรายงานสรุปข้อมูลลูกค้าเป้าหมายก่อนการประชุมด้วย Firecrawl ใช้เมื่อผู้ใช้ต้องการค้นหาข้อมูลบริษัท ข้อมูลบุคคล ข่าวล่าสุด ประเด็นพูดคุย จุดเจ็บปวด หรือเตรียมการติดต่อก่อนการโทรขาย การประชุมพันธมิตร การสนทนากับนักลงทุน หรือการสัมภาษณ์ลูกค้า
officialresearchweb-scraping