Bạn muốn trò chuyện với hơn 100 mô hình ngôn ngữ lớn (LLMs) như thể tất cả đều là API của OpenAI? Cho dù bạn đang xây dựng một chatbot, tự động hóa các tác vụ hay chỉ đơn giản là khám phá công nghệ, LiteLLM là chìa khóa giúp bạn gọi các LLM từ OpenAI, Anthropic, Ollama và nhiều nhà cung cấp khác, tất cả đều sử dụng cùng định dạng kiểu OpenAI. Tôi đã tìm hiểu sâu về LiteLLM để đơn giản hóa các lệnh gọi API của mình, và phải nói rằng—nó thực sự là cứu cánh giúp code gọn gàng và linh hoạt. Trong hướng dẫn dành cho người mới bắt đầu này, tôi sẽ chỉ cho bạn cách thiết lập LiteLLM, gọi một mô hình Ollama cục bộ và GPT-4o của OpenAI, và thậm chí là stream phản hồi, tất cả đều dựa trên tài liệu chính thức. Sẵn sàng để các dự án AI của bạn mượt mà hơn một buổi chiều nắng đẹp chưa? Hãy bắt đầu nào!
LiteLLM là gì? Siêu năng lực API LLM của bạn
LiteLLM là một thư viện Python mã nguồn mở và máy chủ proxy cho phép bạn gọi hơn 100 API LLM—như OpenAI, Anthropic, Azure, Hugging Face, và các mô hình cục bộ thông qua Ollama—sử dụng định dạng OpenAI Chat Completions. Nó chuẩn hóa đầu vào và đầu ra, quản lý các khóa API, và bổ sung các tính năng hữu ích như streaming, fallbacks (dự phòng), và theo dõi chi phí, giúp bạn không cần viết lại code cho mỗi nhà cung cấp. Với hơn 22.7K lượt sao trên GitHub và được áp dụng bởi các công ty như Adobe và Lemonade, LiteLLM là lựa chọn yêu thích của các nhà phát triển. Dù bạn đang viết tài liệu API (như với MkDocs) hay xây dựng ứng dụng AI, LiteLLM đều đơn giản hóa quy trình làm việc của bạn. Hãy cùng thiết lập và xem nó hoạt động nhé!
Thiết lập Môi trường của bạn cho LiteLLM
Trước khi chúng ta gọi các LLM bằng LiteLLM, hãy chuẩn bị hệ thống của bạn. Hướng dẫn này thân thiện với người mới bắt đầu, với mỗi bước được giải thích rõ ràng để giúp bạn đi đúng hướng.
1. Kiểm tra các Điều kiện Tiên quyết: Bạn sẽ cần các công cụ sau:
- Python: Phiên bản 3.8 trở lên. Chạy lệnh
python --version
trong terminal của bạn. Nếu thiếu hoặc quá cũ, hãy tải về từ python.org. Python chạy các script của LiteLLM. - pip: Trình quản lý gói của Python, đi kèm với Python 3.4+. Xác minh bằng lệnh
pip --version
. Nếu không có, tải xuốngget-pip.py
và chạypython get-pip.py
. - Ollama: Dành cho các mô hình cục bộ. Tải về từ ollama.com và xác minh bằng lệnh
ollama --version
(ví dụ: 0.1.44). Chúng ta sẽ sử dụng nó để kiểm tra LLM cục bộ.
Thiếu gì không? Cài đặt ngay bây giờ để mọi thứ diễn ra suôn sẻ.
2. Tạo Thư mục Dự án: Hãy giữ mọi thứ ngăn nắp:
mkdir litellm-api-test
cd litellm-api-test
Thư mục này sẽ chứa dự án LiteLLM của bạn, và lệnh cd
giúp bạn sẵn sàng.
3. Thiết lập Môi trường Ảo (Virtual Environment): Tránh xung đột gói với môi trường ảo Python:
python -m venv venv
Kích hoạt nó:
- Mac/Linux:
source venv/bin/activate
- Windows:
venv\Scripts\activate
Nhìn thấy (venv)
trong terminal có nghĩa là bạn đang ở trong một môi trường sạch, cách ly các phụ thuộc của LiteLLM.
4. Lấy Khóa API OpenAI: Để kiểm tra GPT-4o, đăng ký tại openai.com, điều hướng đến API keys, và tạo một khóa. Lưu trữ nó an toàn—bạn sẽ cần nó sau này.

Cài đặt LiteLLM và Ollama
Bây giờ, hãy cài đặt LiteLLM và thiết lập Ollama cho các mô hình cục bộ. Việc này nhanh chóng và tạo tiền đề cho các lệnh gọi API của chúng ta.
1. Cài đặt LiteLLM: Trong môi trường ảo đã kích hoạt của bạn, chạy:
pip install litellm openai
Lệnh này cài đặt LiteLLM và OpenAI SDK (cần thiết cho khả năng tương thích). Nó kéo các phụ thuộc như pydantic
và httpx
.
2. Xác minh LiteLLM: Kiểm tra cài đặt:
python -c "import litellm; print(litellm.__version__)"
Mong đợi một phiên bản như 1.40.14
hoặc mới hơn. Nếu thất bại, cập nhật pip
(pip install --upgrade pip
).
3. Thiết lập Ollama: Đảm bảo Ollama đang chạy và tải một mô hình nhẹ như Llama 3 (8B):
ollama pull llama3
Việc này tải xuống khoảng 4.7GB, vì vậy hãy kiếm gì đó ăn nhẹ nếu kết nối của bạn chậm. Xác minh bằng lệnh ollama list
để thấy llama3:latest
. Ollama lưu trữ các mô hình cục bộ để LiteLLM gọi.

Gọi các LLM bằng LiteLLM: Ví dụ về OpenAI và Ollama
Hãy đến phần thú vị—gọi các LLM! Chúng ta sẽ tạo một script Python để gọi GPT-4o của OpenAI và một mô hình Llama 3 cục bộ thông qua Ollama, cả hai đều sử dụng định dạng tương thích với OpenAI của LiteLLM. Chúng ta cũng sẽ thử streaming để nhận phản hồi theo thời gian thực.
1. Tạo một Script Kiểm tra: Trong thư mục litellm-api-test
của bạn, tạo tệp test_llm.py
với đoạn code này:
from litellm import completion
import os
# Set environment variables
os.environ["OPENAI_API_KEY"] = "your-openai-api-key" # Replace with your key
os.environ["OLLAMA_API_BASE"] = "http://localhost:11434" # Default Ollama endpoint
# Messages for the LLM
messages = [{"content": "Write a short poem about the moon", "role": "user"}]
# Call OpenAI GPT-4o
print("Calling GPT-4o...")
gpt_response = completion(
model="openai/gpt-4o",
messages=messages,
max_tokens=50
)
print("GPT-4o Response:", gpt_response.choices[0].message.content)
# Call Ollama Llama 3
print("\nCalling Ollama Llama 3...")
ollama_response = completion(
model="ollama/llama3",
messages=messages,
max_tokens=50,
api_base="http://localhost:11434"
)
print("Llama 3 Response:", ollama_response.choices[0].message.content)
# Stream Ollama Llama 3 response
print("\nStreaming Ollama Llama 3...")
stream_response = completion(
model="ollama/llama3",
messages=messages,
stream=True,
api_base="http://localhost:11434"
)
print("Streamed Llama 3 Response:")
for chunk in stream_response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print() # Newline after streaming
Script này:
- Thiết lập các khóa API và điểm cuối (endpoint) của Ollama.
- Định nghĩa một lời nhắc (prompt) (“Viết một bài thơ ngắn về mặt trăng”).
- Gọi GPT-4o và Llama 3 bằng hàm
completion
của LiteLLM. - Stream phản hồi của Llama 3 để có đầu ra theo thời gian thực.
2. Thay thế Khóa API: Cập nhật os.environ["OPENAI_API_KEY"]
bằng khóa OpenAI thực tế của bạn. Nếu bạn không có, hãy bỏ qua lệnh gọi GPT-4o và tập trung vào Ollama.
3. Đảm bảo Ollama đang chạy: Khởi động Ollama trong một terminal riêng biệt:
ollama serve
Lệnh này chạy Ollama tại http://localhost:11434
. Giữ cửa sổ này mở để thực hiện các lệnh gọi Llama 3.
4. Chạy Script: Trong môi trường ảo của bạn, thực thi:
python test_llm.py
- Khi tôi chạy lệnh này, GPT-4o đã trả về một bài thơ trau chuốt như:
>> The moon’s soft glow, a silver dream, lights paths where quiet shadows gleam.
- Llama 3 đưa ra một phiên bản đơn giản nhưng đáng yêu hơn, như:
>> Moon so bright in the night sky, glowing soft as clouds float by.
Phản hồi được stream in ra từng từ, tạo cảm giác như LLM đang gõ trực tiếp. Nếu thất bại, hãy kiểm tra xem Ollama có đang chạy không, khóa OpenAI của bạn có hợp lệ không, hoặc cổng 11434 có mở không. Nhật ký gỡ lỗi nằm trong ~/.litellm/logs
.
Thêm Khả năng Quan sát với LiteLLM Callbacks
Bạn muốn theo dõi các lệnh gọi LLM của mình như một chuyên gia? LiteLLM hỗ trợ các callback để ghi lại đầu vào, đầu ra và chi phí vào các công cụ như Langfuse hoặc MLflow. Hãy thêm một callback đơn giản để ghi lại chi phí.
Cập nhật Script: Sửa đổi tệp test_llm.py
để bao gồm một callback theo dõi chi phí:
from litellm import completion
import os
# Callback function to track cost
def track_cost_callback(kwargs, completion_response, start_time, end_time):
cost = kwargs.get("response_cost", 0)
print(f"Response cost: ${cost:.4f}")
# Set callback
import litellm
litellm.success_callback = [track_cost_callback]
# Rest of the script (same as above)
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"
os.environ["OLLAMA_API_BASE"] = "http://localhost:11434"
messages = [{"role": "user", "content": "Write a short poem about the moon"}]
print("Calling GPT-4o...")
gpt_response = completion(model="openai/gpt-4o", messages=messages, max_tokens=50)
print("GPT-4o Response:", gpt_response.choices[0].message.content)
# ... (Ollama and streaming calls unchanged)
Việc này ghi lại chi phí của mỗi lệnh gọi (ví dụ: “Response cost: $0.0025” cho GPT-4o). Các lệnh gọi Ollama là miễn phí, vì vậy chi phí của chúng là $0.
Chạy lại: Thực thi lệnh python test_llm.py
. Bạn sẽ thấy nhật ký chi phí cùng với các phản hồi, giúp bạn giám sát chi phí cho các LLM dựa trên đám mây.
Viết Tài liệu API của bạn với APIdog
Vì bạn đang làm việc với các API LLM, bạn có thể sẽ muốn viết tài liệu rõ ràng cho nhóm hoặc người dùng của mình. Tôi đặc biệt khuyên bạn nên xem xét APIdog. Tài liệu của APIdog là một công cụ tuyệt vời cho việc này! Nó cung cấp một nền tảng tương tác, mượt mà để thiết kế, kiểm tra và viết tài liệu API, với các tính năng như API playgrounds và tùy chọn tự lưu trữ. Kết hợp các lệnh gọi API của LiteLLM với tài liệu trau chuốt của APIdog có thể đưa dự án của bạn lên một tầm cao mới—hãy thử xem!

Đánh giá của tôi về LiteLLM
Sau khi trải nghiệm với LiteLLM, đây là những điều tôi yêu thích:
- Định dạng Thống nhất: Một cấu trúc code duy nhất cho OpenAI, Ollama và nhiều nhà cung cấp khác—không còn đau đầu với các API riêng biệt.
- Sức mạnh Cục bộ: Tích hợp Ollama cho phép bạn chạy các mô hình ngoại tuyến, hoàn hảo cho các dự án yêu cầu quyền riêng tư hoặc ngân sách thấp.
- Streaming Thú vị: Phản hồi theo thời gian thực làm cho ứng dụng trở nên sống động, giống như trò chuyện với một người bạn.
- Cộng đồng Sôi động: Với hơn 18K lượt sao trên GitHub, LiteLLM là lựa chọn yêu thích của các nhà phát triển.
Thử thách? Thiết lập có thể hơi khó khăn nếu Ollama hoặc khóa API không được cấu hình đúng, nhưng tài liệu hướng dẫn rất đầy đủ.
Mẹo Chuyên nghiệp để Thành công với LiteLLM
- Gỡ lỗi: Bật chế độ ghi nhật ký chi tiết (verbose logging) bằng lệnh
litellm.set_verbose = True
để xem các yêu cầu và phản hồi thô. - Nhiều Mô hình hơn: Thử Claude của Anthropic hoặc Azure OpenAI bằng cách thêm khóa API và tên mô hình của họ (ví dụ:
anthropic/claude-3-sonnet-20240229
). - Gọi Bất đồng bộ (Async Calls): Sử dụng
litellm.acompletion
cho các lệnh gọi không chặn trong các ứng dụng FastAPI. - Máy chủ Proxy: Chạy LiteLLM như một proxy (
litellm --model gpt-3.5-turbo
) để nhiều ứng dụng có thể chia sẻ một điểm cuối duy nhất. - Cộng đồng: Tham gia Discord hoặc GitHub Discussions của LiteLLM để nhận mẹo và cập nhật.
Kết luận: Hành trình LiteLLM của bạn Bắt đầu Từ đây
Bạn vừa mở khóa sức mạnh của LiteLLM để gọi các LLM như một chuyên gia, từ GPT-4o của OpenAI đến Llama 3 cục bộ, tất cả chỉ trong một định dạng gọn gàng! Dù bạn đang xây dựng ứng dụng AI hay thử nghiệm như một lập trình viên tò mò, LiteLLM giúp việc chuyển đổi mô hình, stream phản hồi và theo dõi chi phí trở nên dễ dàng. Hãy thử các lời nhắc mới, thêm nhiều nhà cung cấp hơn, hoặc thiết lập máy chủ proxy cho các dự án lớn hơn. Chia sẻ thành quả của bạn với LiteLLM trên GitHub của LiteLLM—tôi rất mong được thấy những gì bạn tạo ra! Và đừng quên xem APIdog để viết tài liệu cho các API của bạn. Chúc bạn code vui vẻ!