Skip to content

Ollama cung cấp tính tương thích với API Messages của Anthropic để giúp kết nối các ứng dụng hiện có với Ollama, bao gồm cả các công cụ như Claude Code.

Cách sử dụng

Biến môi trường

Để sử dụng Ollama với các công cụ yêu cầu API Anthropic (như Claude Code), hãy thiết lập các biến môi trường sau:

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # required but ignored
export ANTHROPIC_BASE_URL=http://localhost:11434

Ví dụ đơn giản về /v1/messages

Ví dụ streaming

Ví dụ gọi công cụ (tool calling)

Sử dụng với Claude Code

Claude Code có thể được cấu hình để sử dụng Ollama làm backend.

Mô hình được đề xuất

Đối với các trường hợp sử dụng lập trình, các mô hình như glm-4.7, minimax-m2.1qwen3-coder được đề xuất.

Tải mô hình xuống trước khi sử dụng:

shell
ollama pull qwen3-coder

Lưu ý: Qwen 3 coder là mô hình 30B tham số, yêu cầu ít nhất 24GB VRAM để chạy mượt mà. Cần nhiều dung lượng hơn nếu độ dài ngữ cảnh dài hơn.

shell
ollama pull glm-4.7:cloud

Thiết lập nhanh

shell
ollama launch claude

Lệnh này sẽ nhắc bạn chọn mô hình, tự động cấu hình Claude Code và khởi chạy nó. Để cấu hình mà không khởi chạy:

shell
ollama launch claude --config

Thiết lập thủ công

Thiết lập các biến môi trường và chạy Claude Code:

shell
ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 claude --model qwen3-coder

Hoặc thiết lập các biến môi trường trong hồ sơ shell của bạn:

shell
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434

Sau đó chạy Claude Code với bất kỳ mô hình Ollama nào:

shell
claude --model qwen3-coder

Điểm cuối (Endpoints)

/v1/messages

Tính năng được hỗ trợ

  • [x] Messages
  • [x] Streaming
  • [x] System prompts
  • [x] Multi-turn conversations
  • [x] Vision (images)
  • [x] Tools (function calling)
  • [x] Tool results
  • [x] Thinking/extended thinking

Trường yêu cầu được hỗ trợ

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Text content
    • [x] Image content (base64)
    • [x] Array of content blocks
    • [x] tool_use blocks
    • [x] tool_result blocks
    • [x] thinking blocks
  • [x] system (string or array)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Trường phản hồi được hỗ trợ

  • [x] id
  • [x] type
  • [x] role
  • [x] model
  • [x] content (text, tool_use, thinking blocks)
  • [x] stop_reason (end_turn, max_tokens, tool_use)
  • [x] usage (input_tokens, output_tokens)

Sự kiện streaming

  • [x] message_start
  • [x] content_block_start
  • [x] content_block_delta (text_delta, input_json_delta, thinking_delta)
  • [x] content_block_stop
  • [x] message_delta
  • [x] message_stop
  • [x] ping
  • [x] error

Mô hình

Ollama hỗ trợ cả mô hình cục bộ và mô hình đám mây.

Mô hình cục bộ

Tải mô hình cục bộ xuống trước khi sử dụng:

shell
ollama pull qwen3-coder

Mô hình cục bộ được đề xuất:

  • qwen3-coder - Rất phù hợp cho các tác vụ lập trình
  • gpt-oss:20b - Mô hình đa năng mạnh mẽ

Mô hình đám mây

Các mô hình đám mây có thể sử dụng ngay mà không cần tải xuống:

  • glm-4.7:cloud - Mô hình đám mây hiệu năng cao
  • minimax-m2.1:cloud - Mô hình đám mây tốc độ cao

Tên mô hình mặc định

Đối với các công cụ phụ thuộc vào tên mô hình mặc định của Anthropic như claude-3-5-sonnet, hãy sử dụng lệnh ollama cp để sao chép tên mô hình hiện có:

shell
ollama cp qwen3-coder claude-3-5-sonnet

Sau đó, tên mô hình mới này có thể được chỉ định trong trường model:

shell
curl http://localhost:11434/v1/messages \
    -H "Content-Type: application/json" \
    -d '{
        "model": "claude-3-5-sonnet",
        "max_tokens": 1024,
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Khác biệt so với API Anthropic

Khác biệt về hành vi

  • Khóa API được chấp nhận nhưng không được xác thực
  • Tiêu đề anthropic-version được chấp nhận nhưng không được sử dụng
  • Số lượng token là các ước tính dựa trên bộ phân tích token (tokenizer) của mô hình cơ bản

Tính năng không được hỗ trợ

Các tính năng của API Anthropic sau đây hiện không được hỗ trợ:

Tính năngMô tả
/v1/messages/count_tokensĐiểm cuối đếm token
tool_choiceBuộc sử dụng công cụ cụ thể hoặc vô hiệu hóa công cụ
metadataSiêu dữ liệu yêu cầu (user_id)
Prompt cachingCác khối cache_control dùng để lưu bộ nhớ đệm các tiền tố
Batches API/v1/messages/batches dùng để xử lý hàng loạt không đồng bộ
CitationsCác khối nội dung citations
PDF supportCác khối nội dung document hỗ trợ tệp PDF
Server-sent errorsCác sự kiện error được gửi từ máy chủ trong quá trình streaming (lỗi được trả về dưới dạng trạng thái HTTP)

Hỗ trợ một phần

Tính năngTrạng thái
Image contentHỗ trợ hình ảnh base64; không hỗ trợ hình ảnh URL
Extended thinkingHỗ trợ cơ bản; budget_tokens được chấp nhận nhưng không được thực thi