Trong vài tháng qua, bối cảnh AI đã thay đổi nhanh chóng: OpenAI đã cung cấp GPT-5 cho các nhà phát triển và làm mới bộ công cụ thời gian thực; Anthropic đã cập nhật Claude và các chính sách sử dụng dữ liệu của nó; và Google đã đưa Gemini vào sâu hơn trong hệ sinh thái nhà ở và thiết bị thông minh. Những thay đổi này rất quan trọng vì chúng thay đổi các mô hình bạn muốn tiếp cận và cách bạn giám sát chúng — chính xác là nơi mà sự kết hợp "API + khả năng quan sát thống nhất" như LiteLLM + CometAPI tỏa sáng.
Trong hướng dẫn này, bạn sẽ nhận được hướng dẫn thực tế, tập trung nhiều vào mã để tích hợp LiteLLM với Sao chổiAPI (nói một Tương thích với OpenAI phương ngữ), bao gồm cài đặt, các cuộc gọi cơ bản, phát trực tuyến và bất đồng bộ, cũng như các mẹo triển khai. Trong quá trình này, chúng tôi sẽ lồng ghép những nội dung cập nhật mô hình mới nhất vào các lựa chọn tích hợp của bạn.
LiteLLM là gì?
LiteLLM là một SDK Python mã nguồn mở và proxy (cổng LLM) cung cấp một API duy nhất, nhất quán cho nhiều nhà cung cấp mô hình (OpenAI, Anthropic, Vertex/Google, AWS Bedrock, Hugging Face, v.v.). Nó chuẩn hóa các khác biệt giữa các nhà cung cấp (định dạng đầu vào, lỗi, hình dạng đầu ra), cung cấp logic thử lại/dự phòng/định tuyến và hỗ trợ cả SDK nhẹ và một máy chủ proxy cho việc định tuyến LLM trung tâm trong các ngăn xếp cơ sở hạ tầng. Nói cách khác: một API để gọi nhiều mô hình.
Đặc tính:
- Các hàm Python thống nhất như
completion,responses,embeddings. - Định tuyến tương thích với OpenAI (để các máy khách sử dụng API theo kiểu OpenAI có thể được chuyển hướng đến các nhà cung cấp khác).
- Hỗ trợ phát trực tuyến + không đồng bộ (các trình bao bọc không đồng bộ như
acompletionvàstream=Trueđối với các phản hồi được chia nhỏ).
Cách mô hình LiteLLM và bản đồ điểm cuối
- Sử dụng
completion()(đồng bộ) vàacompletion()(không đồng bộ) trong Python SDK cho các cuộc gọi theo kiểu trò chuyện/hoàn thành. - Đối với các điểm cuối tương thích với OpenAI, LiteLLM hỗ trợ
api_base/api_keyghi đè để SDK biết cách đi theo đường dẫn kiểu OpenAI.
CometAPI là gì?
Sao chổiAPI là dịch vụ “một API cho nhiều mô hình” giúp phơi bày hàng trăm mô hình (bao gồm OpenAI GPT-5, Anthropic Claude, xAI Grok, Qwen, GLM và trình tạo hình ảnh/video) thông qua một Tương thích với OpenAI Giao diện REST. Vì nó tương thích, bạn thường có thể trỏ máy khách OpenAI của mình đến CometAPI base_url và giữ nguyên lược đồ yêu cầu/phản hồi—biến nó thành giải pháp thay thế hoặc bổ sung cho API của bên thứ nhất.
Mẹo: Khả năng tương thích này chính xác là những gì LiteLLM mong đợi. Bạn có thể tham chiếu các mô hình CometAPI thông qua LiteLLM bằng cách sử dụng các lệnh gọi kiểu OpenAI, hoặc định tuyến chúng qua LiteLLM Proxy với
base_urlghi đè.
Điều kiện tiên quyết để tích hợp LiteLLM với CometAPI
Trước khi bạn có thể kết nối LiteLLM với CometAPI, bạn cần chuẩn bị một số thứ sau:
Môi trường Python
- Python 3.8+ (khuyến nghị: môi trường ảo thông qua
venvorconda). pipđã nâng cấp:python -m pip install --upgrade pip
Đã cài đặt LiteLLM pip install litellm (Tùy chọn: cài đặt litellm nếu bạn muốn chạy máy chủ proxy LiteLLM.)
Tài khoản CometAPI và khóa API
- Đăng ký tại cometapi.com.
- Nhận của bạn Mã API từ bảng điều khiển của bạn.
- Lưu trữ nó như một biến môi trường:
export COMETAPI_KEY="sk-xxxx"
Hiểu biết cơ bản về các API tương thích với OpenAI
- CometAPI phơi bày Điểm cuối theo phong cách OpenAI Lượt thích
/v1/chat/completions. - LiteLLM hỗ trợ định dạng này một cách tự nhiên, do đó không cần phải có ứng dụng khách tùy chỉnh.
Làm thế nào để thực hiện lệnh gọi hoàn thiện cơ bản (sử dụng LiteLLM → CometAPI)?
Sử dụng hàm hoàn thành của LiteLLM để gửi tin nhắn đến mô hình CometAPI. Bạn có thể chỉ định các mô hình như cometapi/gpt-5 hoặc cometapi/gpt-4o.
Phương pháp 1: Sử dụng biến môi trường cho khóa API (khuyến nghị).
from litellm import completion
import os
# Option A: use env var
os.environ = "sk_xxx" # CometAPI key
# Direct call with explicit api_base + api_key
resp = completion(
model="cometapi/gpt-5",
api_key=os.environ,
api_base="https://www.cometapi.com/console/", # CometAPI base URL
messages=[
{"role":"system", "content":"You are a concise assistant."},
{"role":"user", "content":"Explain why model-aggregation is useful in 3 bullets."}
],
max_tokens=200,
temperature=0.2
)
print(resp.choices.message)
Nếu bạn thích, bạn cũng có thể thiết lập OPENAI_API_KEY/OPENAI_API_BASE — LiteLLM chấp nhận một số quy ước của nhà cung cấp; hãy kiểm tra phiên bản tài liệu SDK của bạn.
Phương pháp 2: Truyền khóa API một cách rõ ràng:
Ví dụ:
from litellm import completion
import os
# Define your messages (array of dictionaries with 'content' and 'role')
messages =
api_key = 'your-cometapi-key-here' # Alternative: Store it in a variable for explicit passing
# CometAPI call - Method 2: Explicitly passing API key
response_2 = completion(model="cometapi/gpt-4o", messages=messages, api_key=api_key)
# Print the responses
print(response_2.choices.message.content)
Các cuộc gọi không đồng bộ và phát trực tuyến hoạt động như thế nào với LiteLLM → CometAPI?
Cuộc gọi không đồng bộ
- Ý nghĩa: Một cuộc gọi không đồng bộ là khi có yêu cầu thực hiện một việc gì đó (như tìm nạp dữ liệu hoặc chạy một tác vụ), nhưng thay vì đợi yêu cầu đó hoàn tất trước khi tiếp tục, chương trình tiếp tục thực thi mã khác.
- Ý chính: “Đừng chặn, hãy tiếp tục làm việc trong khi chờ đợi.”
- Ví dụ:
- Trong ứng dụng web: lấy dữ liệu từ API mà không làm đóng băng giao diện người dùng.
- Trong Python: sử dụng
async/awaitvớiasyncio. - Trong JavaScript: sử dụng
Promisesorasync/await.
Trường hợp sử dụng: Cải thiện hiệu suất và khả năng phản hồi bằng cách không chặn luồng chính.
Cuộc gọi phát trực tuyến
- Ý nghĩa: Cuộc gọi phát trực tuyến có nghĩa là thay vì chờ tất cả dữ liệu sẵn sàng rồi gửi lại cùng một lúc, máy chủ sẽ gửi từng phần dữ liệu ngay khi chúng có sẵn.
- Ý chính: “Gửi dữ liệu từng phần trong khi dữ liệu đang được tạo ra.”
- Ví dụ:
- Xem video trên YouTube trước khi tải toàn bộ tệp video xuống.
- Ứng dụng trò chuyện thời gian thực hoặc cập nhật giá cổ phiếu.
- Trong API: thay vì chờ đầu ra đầy đủ của mô hình, máy khách sẽ nhận được các từ/mã thông báo theo thứ tự (giống như cách ChatGPT truyền phát văn bản).
An cuộc gọi phát trực tuyến không đồng bộ Cả LiteLLM và CometAPI đều hỗ trợ phát trực tuyến và sử dụng không đồng bộ. LiteLLM cho thấy stream=True để nhận một trình lặp của các khối và acompletion() Đối với việc sử dụng bất đồng bộ. Sử dụng streaming khi bạn muốn đầu ra một phần có độ trễ thấp (tương tác UI, xử lý từng token). Yêu cầu được thực hiện mà không bị chặn, và kết quả được phân phối dần dần khi sẵn sàng. Đối với các ứng dụng không chặn hoặc thời gian thực, hãy sử dụng hàm acompletion của LiteLLM cho các lệnh gọi bất đồng bộ. Điều này hữu ích với asyncio của Python để xử lý đồng thời.
Ví dụ:
from litellm import acompletion
import asyncio, os, traceback
async def completion_call():
try:
print("Testing asynchronous completion with streaming")
response = await acompletion(
model="cometapi/chatgpt-4o-latest",
messages=,
stream=True # Enable streaming for chunked responses
)
print(f"Response object: {response}")
# Iterate over the streamed chunks asynchronously
async for chunk in response:
print(chunk)
except Exception:
print(f"Error occurred: {traceback.format_exc()}")
pass
# Run the async function
await completion_call()
Giải thích:
acompletionlà phiên bản không đồng bộ củacompletion.stream=Truecho phép truyền phát, trong đó phản hồi được tạo thành từng phần theo thời gian thực.- Sử dụng
asynciođể chạy chức năng (ví dụ, trong Jupyter Notebook vớiawaithay quaasyncio.run()trong các kịch bản). - Nếu xảy ra lỗi, lỗi sẽ được phát hiện và in ra để gỡ lỗi.
Sản lượng mong đợi:Bạn sẽ thấy đối tượng phản hồi và các phần riêng lẻ được in ra, ví dụ:
Testing asynchronous completion with streaming
Response object: <async_generator object acompletion at 0x...>
Chunk: {'choices': }
Chunk: {'choices': }
... (full response streamed in parts)
Mẹo thêm
- Không tìm thấy mô hình/điểm cuối không khớp: đảm bảo bạn chọn tên mô hình có trên CometAPI (tài liệu của họ liệt kê các mã định danh có sẵn) và các quy ước tiền tố mô hình LiteLLM của bạn khớp (ví dụ:
cometapi/<model>(khi cần thiết). Các mô hình CometAPI tuân theo định dạng cometapi/, ví dụ: cometapi/gpt-5, cometapi/gpt-4o, cometapi/chatgpt-4o-latest. Kiểm tra tài liệu CometAPI để biết các mô hình mới nhất. - Xử lý lỗi: Luôn gói các cuộc gọi trong khối try-except để xử lý các vấn đề như khóa không hợp lệ hoặc lỗi mạng.
- Tính năng nâng cao: LiteLLM hỗ trợ các tham số như nhiệt độ, max_tokens và top_p để tinh chỉnh phản hồi. Thêm chúng vào các lệnh gọi completion hoặc acompletion, ví dụ: completion(…, temperature=0.7).
- 403 / lỗi xác thực — đảm bảo bạn đang sử dụng đúng khóa CometAPI và gửi nó dưới dạng
api_keyđến LiteLLM
Kết luận
Tích hợp LiteLLM với CometAPI Ma sát thấp vì cả hai bên đều sử dụng giao diện tương thích với OpenAI, được ghi chép đầy đủ. Sử dụng LiteLLM để tập trung việc sử dụng LLM trong cơ sở mã của bạn, thiết lập api_base đến CometAPI và truyền khóa CometAPI, đồng thời tận dụng các trình trợ giúp đồng bộ/không đồng bộ/phát trực tuyến của LiteLLM để tạo ra các ứng dụng linh hoạt và phản hồi nhanh chóng.
Bắt đầu
CometAPI là một nền tảng API hợp nhất tổng hợp hơn 500 mô hình AI từ các nhà cung cấp hàng đầu—chẳng hạn như dòng GPT của OpenAI, Gemini của Google, Claude của Anthropic, Midjourney, Suno, v.v.—thành một giao diện duy nhất thân thiện với nhà phát triển. Bằng cách cung cấp xác thực nhất quán, định dạng yêu cầu và xử lý phản hồi, CometAPI đơn giản hóa đáng kể việc tích hợp các khả năng AI vào ứng dụng của bạn. Cho dù bạn đang xây dựng chatbot, trình tạo hình ảnh, nhà soạn nhạc hay đường ống phân tích dựa trên dữ liệu, CometAPI cho phép bạn lặp lại nhanh hơn, kiểm soát chi phí và không phụ thuộc vào nhà cung cấp—tất cả trong khi khai thác những đột phá mới nhất trên toàn bộ hệ sinh thái AI.
Để bắt đầu, hãy khám phá khả năng của mô hình trong Sân chơi và tham khảo ý kiến Hướng dẫn tích hợp LiteLLM để biết hướng dẫn chi tiết. Trước khi truy cập, vui lòng đảm bảo bạn đã đăng nhập vào CometAPI và lấy được khóa API. Sao chổiAPI cung cấp mức giá thấp hơn nhiều so với giá chính thức để giúp bạn tích hợp.
