Cách tích hợp LlamaIndex với CometAPI

CometAPI
AnnaSep 10, 2025
Cách tích hợp LlamaIndex với CometAPI

CometAPI cung cấp một cổng duy nhất, tương thích với OpenAI cho nhiều mô hình (họ GPT, Anthropic/Claude, Google Gemini và nhiều mô hình khác). LlamaIndex ("khung dữ liệu" để xây dựng các ứng dụng LLM được tăng cường truy xuất) hiện đã tích hợp CometAPI LLM gốc — nghĩa là bạn có thể **gọi bất kỳ mô hình nào thông qua CometAPI từ LlamaIndex.

LlamaIndex (khung dữ liệu để xây dựng trợ lý kiến ​​thức) hiện chính thức hỗ trợ Sao chổiAPI như một nền tảng LLM. Hướng dẫn này sẽ chỉ ra lý do tại sao bạn nên kết hợp chúng, cách thiết lập môi trường, tích hợp từng bước (với mã), trường hợp sử dụng RAG cụ thể và các mẹo để cải thiện độ tin cậy, chi phí và khả năng quan sát. Các ví dụ sau đây Tài liệu LlamaIndexVí dụ tích hợp CometAPI.

LlamaIndex là gì và các tính năng chính của nó là gì?

LlamaIndex (trước đây là GPT-Index) là một khung trừu tượng hóa và truy xuất dữ liệu, kết nối các mô hình ngôn ngữ lớn (LLM) với dữ liệu của riêng bạn bằng cách thu thập tài liệu, xây dựng chỉ mục và điều phối quy trình truy xuất + nhắc nhở cho các ứng dụng kiểu RAG. Các tính năng chính bao gồm các trình kết nối thu thập tài liệu (PDF, web, cơ sở dữ liệu), chỉ mục vector/từ khóa/đồ thị, công cụ truy vấn linh hoạt và một lớp trừu tượng hóa để hoán đổi các nhà cung cấp LLM. LlamaIndex được thiết kế để cho phép bạn "mang dữ liệu của riêng mình" vào bất kỳ LLM nào và xây dựng hệ thống đường ống cho việc phân đoạn tài liệu, nhúng, truy xuất và điều phối nhắc nhở.

Các tính năng chính là gì?

  • Kết nối dữ liệu: thu thập dữ liệu từ các tệp, cơ sở dữ liệu và nhiều nguồn SaaS.
  • Lập chỉ mục nguyên thủy: chỉ mục lưu trữ vector, chỉ mục cây/đồ thị và đường ống truy xuất.
  • Công cụ truy vấn: điều phối truy vấn linh hoạt (xếp hạng lại, tổng hợp phản hồi, nhắc nhở nhiều bước).
  • Bộ điều hợp LLM: các nền tảng LLM có thể cắm thêm — OpenAI, Anthropic, Vertex và hiện tại là CometAPI cùng nhiều nền tảng khác.
  • Khả năng quan sát và gọi lại: các móc để theo dõi và giám sát các cuộc gọi LLM.

CometAPI là gì và tại sao nên sử dụng nó với LlamaIndex?

CometAPI là gì?

CometAPI là một cổng API cho phép hiển thị hàng trăm mô hình AI của bên thứ ba (LLM, trình tạo hình ảnh/video và nhúng) đằng sau một giao diện REST duy nhất tương thích với OpenAI. Thay vì phải sử dụng một SDK và khóa riêng biệt cho từng nhà cung cấp mô hình, bạn có thể gọi URL cơ sở của CometAPI và chọn tên mô hình trong phần thân yêu cầu — ví dụ: gpt, claude, geminihoặc nhiều công cụ nhúng/hình ảnh chuyên dụng khác. Phương pháp "một API cho hơn 500 mô hình" này giúp tăng tốc quá trình thử nghiệm và giảm chi phí vận hành.

Tại sao nên kết hợp CometAPI với LlamaIndex?

LlamaIndex là một khung dữ liệu chuyển đổi tài liệu của bạn thành chỉ mục (vector và các loại khác) và sử dụng LLM để tổng hợp câu trả lời cuối cùng. Vì CometAPI sử dụng API theo phong cách OpenAI, LlamaIndex có thể:

  • Sử dụng nó được xây dựng trong CometAPI Tích hợp LLM (được khuyến nghị), hoặc
  • Sử dụng LLM OpenAI/“OpenAI-compatible” và các bộ điều hợp nhúng bằng cách trỏ api_base đến CometAPI.

LlamaIndex đã cung cấp một chuyên dụng CometAPI Trình bao bọc và ví dụ LLM — do đó, việc tích hợp được thực hiện một cách cố ý đơn giản.

Tích hợp mang lại lợi ích gì?

  1. RAG + lựa chọn mô hình linh hoạt — LlamaIndex xử lý việc truy xuất dữ liệu và tổng hợp nhanh chóng; CometAPI cho phép bạn chọn LLM mà bạn gọi mà không cần phải thiết kế lại đường ống của mình.
  2. Tối ưu hóa chi phí/độ trễ — hãy thử các mô hình rẻ hơn hoặc nhanh hơn cho các truy vấn thông thường và các mô hình chất lượng cao hơn cho các suy luận phức tạp.
  3. Tính di động của nhà cung cấp — hoán đổi nhà cung cấp mô hình bằng cách chỉ thay đổi tên mô hình hoặc cấu hình máy khách nhỏ.
  4. Thử nghiệm nhanh — mô hình A/B dễ dàng trong khi vẫn giữ nguyên quy trình lập chỉ mục và truy xuất của bạn.

Điều kiện tiên quyết và thiết lập môi trường là gì?

Tài khoản và khóa

Đăng ký CometAPI và nhận khóa API từ bảng điều khiển CometAPI: https://api.cometapi.com/console/token. (Bạn sẽ cần giá trị này để xác thực yêu cầu.)

Python và các gói

  • Khuyến nghị sử dụng Python 3.9 trở lên.
  • Môi trường Jupyter Notebook hoặc Python (khuyến nghị sử dụng Google Colab để thử nghiệm tương tác).
  • Các gói cần cài đặt: llama-index (cốt lõi) và llama-index-llms-cometapi (bộ điều hợp / tích hợp CometAPI)
  • Tùy chọn: các thư viện lưu trữ vector mà bạn dự định sử dụng (ví dụ: faiss-cpu, pinecone-client, v.v.). LlamaIndex có hướng dẫn chính thức/cửa hàng vector.

Biến môi trường

Thực hành phổ biến: đặt khóa CometAPI dưới dạng biến env (ví dụ: COMETAPI_KEY), hoặc truyền khóa trực tiếp cho hàm tạo CometAPI của LlamaIndex. Tài liệu LlamaIndex trình bày cả hai cách tiếp cận — để tránh sự mơ hồ và các bài kiểm tra, hãy truyền api_key= rõ ràng với hàm tạo là an toàn nhất.

Làm thế nào để tích hợp LlamaIndex và CometAPI từng bước?

Danh sách từng bước sau đây bao gồm các hành động cụ thể: tạo tài khoản, cài đặt gói, đặt khóa, cấu hình LlamaIndex để sử dụng CometAPI.

1) Làm thế nào để tạo tài khoản CometAPI và nhận khóa API?

  1. Truy cập trang web CometAPI và đăng ký tài khoản. (Trang chủ và quy trình đăng ký của họ sẽ chuyển hướng bạn đến bảng điều khiển API.)
  2. Trong bảng điều khiển CometAPI (tài liệu tham khảo https://api.cometapi.com/console/token), tạo hoặc sao chép mã thông báo API của bạn. Bạn sẽ cần mã này cho COMETAPI_API_KEY (xem bên dưới).

2) Làm thế nào để cài đặt LlamaIndex và tích hợp CometAPI?

Chạy các lệnh pip này (khuyến nghị trong môi trường ảo):

# core LlamaIndex

pip install llama-index

# CometAPI LLM integration for LlamaIndex

pip install llama-index-llms-cometapi

# optional: vectorstore (FAISS example)

pip install faiss-cpu

(If you're in a Jupyter/Colab environment you can prefix with `%pip`.)

Ghi chú:

  • LlamaIndex sử dụng các gói tích hợp không gian tên để tránh việc vận chuyển mọi thứ trong lõi. Tích hợp CometAPI LLM được cung cấp dưới dạng llama-index-llms-cometapi.

3) Làm thế nào để thiết lập khóa CometAPI (biến môi trường)?

Lớp CometAPI LLM của LlamaIndex đọc khóa API từ tham số khởi tạo hoặc biến môi trường. Mã tích hợp yêu cầu tên biến môi trường. COMETAPI_API_KEY (bạn cũng có thể truyền khóa trực tiếp cho trình xây dựng lớp). Nó cũng hỗ trợ COMETAPI_API_BASE nếu bạn phải ghi đè URL cơ sở API.

Đề xuất (rõ ràng) — truyền khóa API cho hàm tạo. Bạn cũng có thể thiết lập biến env COMETAPI_KEY nếu bạn thích

import os
# Option A: set env var (optional)

os.environ = "sk-xxxx-your-key"

# Option B: pass the key explicitly (recommended for clarity)

api_key = os.getenv("COMETAPI_KEY", "sk-xxxx-your-key")

Thiết lập cục bộ (Unix/macOS):

export COMETAPI_API_KEY="sk-<your-cometapi-key>"
# optional override:

export COMETAPI_API_BASE="https://www.cometapi.com/console/"

Trên Windows (PowerShell):

$env:COMETAPI_API_KEY = "sk-<your-cometapi-key>"

4) Cấu hình LlamaIndex để sử dụng CometAPI

Dưới đây là một ví dụ tối giản từ đầu đến cuối: nhập tài liệu, xây dựng chỉ mục vector và đưa ra truy vấn. Ví dụ này sử dụng API LlamaIndex hiện đại (Ví dụ A: ServiceContext + chỉ mục vector); hãy điều chỉnh tên nếu bạn đang sử dụng phiên bản LlamaIndex cũ hơn/mới hơn.

minimal RAG example using CometAPI as the LLM backend
from llama_index import SimpleDirectoryReader, VectorStoreIndex, ServiceContext
from llama_index.llms.cometapi import CometAPI
from llama_index.core.llms import ChatMessage

# 1) API key and LLM client

api_key = "sk-xxxx-your-key"  # or read from env

llm = CometAPI(
    api_key=api_key,
    model="gpt-4o-mini",      # pick a CometAPI-supported model

    max_tokens=512,
    context_window=4096,
)

# 2) Optional: wrap in ServiceContext (customize prompt settings, embedding model etc)

service_context = ServiceContext.from_defaults(llm=llm)

# 3) Load documents (assumes a ./data directory with files)

documents = SimpleDirectoryReader("data").load_data()

# 4) Build a vector index (FAISS, default vector store)

index = VectorStoreIndex.from_documents(documents, service_context=service_context)

# 5) Query the index

query_engine = index.as_query_engine()
resp = query_engine.query("Summarize the main points in the documents.")
print(resp)
  • Tên model và các tính năng khả dụng phụ thuộc vào CometAPI — hãy xem tài liệu CometAPI để chọn model phù hợp nhất cho trường hợp sử dụng của bạn. Bộ điều hợp Comet LlamaIndex hỗ trợ chế độ trò chuyện, hoàn thành và phát trực tuyến.
  • Nếu bạn muốn phản hồi trực tuyến, bạn có thể gọi llm.stream_chat() hoặc sử dụng stream_complete biến thể được hiển thị trong tài liệu.

Lưu ý: tùy thuộc vào phiên bản LlamaIndex của bạn, API chính xác cho as_query_engine chấp nhận một llm lập luận có thể khác nhau. Nếu phiên bản của bạn không chấp nhận lServiceContext ở đây, hãy xem LLM bên dưới. CometAPI LLM được triển khai như CometAPI in llama_index.llms.cometapi.

Ví dụ B — Sử dụng tối thiểu, trực tiếp CometAPI LLM (khuyến nghị để rõ ràng hơn)

import os
from llama_index.llms.cometapi import CometAPI
from llama_index import VectorStoreIndex, SimpleDirectoryReader

# ensure env var set, or pass api_key explicitly

os.environ = "sk-<your-key>"  # or set externally

api_key = os.getenv("COMETAPI_API_KEY")
llm = CometAPI(
    api_key=api_key,          # or pass None to use env var

    model="gpt-4o-mini",      # change model string as required

    max_tokens=256,
    context_window=4096,
)

# build a simple index (local documents)

documents = SimpleDirectoryReader("data/").load_data()
index = VectorStoreIndex.from_documents(documents)

# get a query engine that uses the default llm (you can often pass llm to the query method)

query_engine = index.as_query_engine(llm=llm)   # some LlamaIndex versions accept llm here

response = query_engine.query("Summarize the key points of the corpus.")
print(response)

Làm thế nào tôi có thể sử dụng các tính năng CometAPI từ LlamaIndex? (ví dụ nâng cao)

1) Gọi chat với Danh sách ChatMessage

Ví dụ:

# Initialize LLM

llm = CometLLM(
    api_key=api_key,
    max_tokens=256,
    context_window=4096,
    model="gpt-5-chat-latest",
)

# Chat call using ChatMessage

from llama_index.core.llms import ChatMessage

messages = [
    ChatMessage(role="system", content="You are a helpful assistant"),
    ChatMessage(role="user", content="Say 'Hi' only!"),
]
resp = llm.chat(messages)
print(resp)

# Use complete method

resp = llm.complete("Who is Kaiming He")
print(resp)

Sản lượng mong đợi:

  • Phản hồi trò chuyện: ví dụ, assistant: Hi
  • Phản hồi hoàn thành: ví dụ, mô tả văn bản về Kaiming He, bao gồm thông tin về ResNet.

Điều này tái tạo ngữ nghĩa trò chuyện (vai trò hệ thống/người dùng/trợ lý) và thường mang lại kết quả dễ kiểm soát hơn. Nó sẽ gửi một tin nhắn đơn giản và lấy phản hồi từ mô hình. Bạn có thể tùy chỉnh tin nhắn cho các tương tác phức tạp hơn.

CometAPI có hỗ trợ phát trực tuyến không?

Có — CometAPI hỗ trợ phát trực tuyến trò chuyện/hoàn thành và LlamaIndex hiển thị các phương thức phát trực tuyến trên trình bao bọc LLM của nó (stream_chat, stream_complete, streamable mẫu). Đối với các ứng dụng thời gian thực, hãy sử dụng các phương thức stream_chat hoặc stream_complete để truyền phát phản hồi. Ví dụ:

# Streaming chat

message = ChatMessage(role="user", content="Tell me what ResNet is")
resp = llm.stream_chat()
for r in resp:
    print(r.delta, end="")

# Streaming completion

resp = llm.stream_complete("Tell me about Large Language Models")
for r in resp:
    print(r.delta, end="")

Đầu ra mong đợi: Truyền phát nội dung phản hồi được in, ví dụ như giải thích về ResNet hoặc tổng quan về các mô hình ngôn ngữ lớn, xuất hiện theo từng phần.

Giải thích: stream_chat và stream_complete tạo ra phản hồi theo từng khối, phù hợp cho đầu ra thời gian thực. Nếu xảy ra lỗi, lỗi sẽ được hiển thị trong bảng điều khiển.

Điều này tương tự các ví dụ LlamaIndex cho các LLM tương thích OpenAI khác và hoạt động với các điểm cuối phát trực tuyến của Comet. Xử lý lỗi backpressure và lỗi mạng với logic thử lại/hết thời gian chờ mạnh mẽ trong môi trường sản xuất.

Chuyển đổi mô hình nhanh chóng

# try Claude from CometAPI

claude_llm = CometAPI(api_key=api_key, model="claude-3-7-sonnet-latest", max_tokens=300)
svc = ServiceContext.from_defaults(llm=claude_llm)
index = VectorStoreIndex.from_documents(documents, service_context=svc)
print(index.as_query_engine().query("Explain in one paragraph."))

Vì CometAPI chuẩn hóa các điểm cuối nên việc thay đổi mô hình chỉ là thay đổi về cấu trúc xây dựng — không cần phải viết lại đường ống nhanh chóng.

Mẹo và kỹ thuật nâng cao

Cách quản lý chi phí và mã thông báo

  • Sử dụng chức năng truy xuất: chỉ gửi ngữ cảnh đã truy xuất, không phải toàn bộ ngữ liệu.
  • Thử nghiệm với các mô hình nhỏ hơn để truy xuất/tóm tắt và các mô hình lớn hơn để tổng hợp câu trả lời cuối cùng. CometAPI giúp việc hoán đổi mô hình trở nên dễ dàng.

Độ tin cậy và giới hạn tốc độ

  • Thực hiện thử lại + lùi lại đối với các lỗi tạm thời.
  • Tôn trọng giới hạn tỷ lệ CometAPI và triển khai ngân sách mã thông báo cho mỗi yêu cầu. Theo dõi max_tokens trong hàm tạo.

Khả năng quan sát và gỡ lỗi

  • Sử dụng trình quản lý callback của LlamaIndex để ghi lại lời nhắc, phản hồi và việc sử dụng mã thông báo. Kết nối các nhật ký đó vào quy trình giám sát của bạn. Tài liệu của LlamaIndex đề cập đến các mẫu quan sát và tích hợp.

Bộ nhớ đệm và độ trễ

  • Lưu trữ đầu ra LLM cho các truy vấn lặp lại hoặc lời nhắc xác định (ví dụ: tóm tắt chuẩn).
  • Hãy cân nhắc sử dụng mô hình nhỏ, nhanh hơn cho lần thử đầu tiên và chỉ nâng cấp lên mô hình có chi phí cao hơn khi cần thiết.

Bảo mật

  • Lưu giữ khóa CometAPI trong kho lưu trữ bí mật (Vault/bí mật đám mây) — không mã hóa cứng trong mã.
  • Nếu dữ liệu nhạy cảm, hãy đảm bảo gói hoặc mô hình CometAPI bạn chọn đáp ứng các yêu cầu về tuân thủ.

Danh sách kiểm tra khắc phục sự cố

  • Biến môi trường sai: Nếu LlamaIndex không tìm thấy khóa, hãy chuyển api_key= trong CometAPI() constructor phải rõ ràng. (Tài liệu hiển thị cả tùy chọn env var và constructor.)
  • Mô hình không được hỗ trợ: Xác nhận tên mô hình với danh sách mô hình của CometAPI — không phải mọi tên đều tồn tại trên mọi tài khoản.
  • lỗi lập chỉ mục: Đảm bảo tài liệu được phân tích cú pháp chính xác (mã hóa, loại tệp). Sử dụng SimpleDirectoryReader để thử nghiệm nhanh.
  • Phiên bản trôi dạt: LlamaIndex đang tích cực phát triển (ServiceContext → Di chuyển Cài đặt). Nếu một ví dụ không thành công, hãy kiểm tra tài liệu và hướng dẫn di chuyển cho phiên bản bạn đã cài đặt.

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 Llama Index để 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.

Sẵn sàng chưa?→ Đăng ký CometAPI ngay hôm nay !

Câu Hỏi Thường Gặp

Làm thế nào để gỡ lỗi độ trễ hoặc gián đoạn phát trực tuyến?

  • Sử dụng chức năng chụp mạng cục bộ (hoặc ghi nhật ký trên máy khách HTTP) để kiểm tra các khung phát trực tuyến.
  • Hãy thử một mô hình đơn giản hơn để xác nhận rằng đường dẫn mạng/SDK, chứ không phải bản thân mô hình, chính là nút thắt cổ chai.

Tôi nên chọn mẫu nào?

  • Sử dụng các mô hình trò chuyện nhỏ hơn/rẻ hơn (ví dụ: gpt-4o-mini, o4-mini(hoặc các mô hình nhỏ gọn dành riêng cho nhà cung cấp) để có QPS cao hoặc câu trả lời ngắn.
  • Dành các mô hình đa phương thức/chuỗi suy nghĩ lớn cho các nhiệm vụ lý luận tốn kém.
  • So sánh độ trễ và chi phí: một trong những lợi ích của CometAPI là chuyển đổi các mô hình trong cùng một đường dẫn mã — thử nhiều mô hình một cách nhanh chóng.

Tôi nên chọn kho lưu trữ chỉ mục và vector nào?

  • THẤT ​​BẠI cho tốc độ tại chỗ / một nút.
  • Quả thông / Weaviate để quản lý quy mô và khả dụng đa vùng (LlamaIndex hỗ trợ nhiều kho lưu trữ vector thông qua tích hợp). Lựa chọn dựa trên quy mô và độ trễ.
Đọc thêm

500+ Mô hình trong Một API

Giảm giá lên đến 20%