跳轉到主要內容
LlamaIndex 提供 CometLLM 類別,作為與 CometAPI 的原生整合。你可以用它為 RAG 流程、代理(agents)與 LLM 鏈提供動力,並使用 CometAPI 目錄中的任何模型。

先決條件

  • Python 3.8+
  • 擁有有效 API 金鑰的 CometAPI 帳戶 — 在此取得
1

安裝 LlamaIndex CometAPI 整合套件

pip install llama-index-llms-cometapi llama-index
2

設定你的 API 金鑰

from llama_index.llms.cometapi import CometLLM
import os

os.environ["COMETAPI_KEY"] = "<COMETAPI_KEY>"
api_key = os.getenv("COMETAPI_KEY")
使用環境變數比將憑證硬編碼在腳本中更安全。
3

初始化模型並進行 completion 呼叫

from llama_index.core.llms import ChatMessage

llm = CometLLM(
    api_key=api_key,
    max_tokens=256,
    context_window=4096,
    model="your-model-id",
)

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

# Completion call
resp = llm.complete("Who is Kaiming He?")
print(resp)
4

啟用串流

使用 stream_chatstream_complete 來取得即時分塊輸出:
# Streaming chat
message = ChatMessage(role="user", content="Tell me what ResNet is")
for chunk in llm.stream_chat([message]):
    print(chunk.delta, end="")

# Streaming completion
for chunk in llm.stream_complete("Tell me about Large Language Models"):
    print(chunk.delta, end="")
  • 模型:請參閱 CometAPI Models 頁面 了解所有可用選項。
  • 使用其他模型:以不同的目前模型 ID 初始化,例如 CometLLM(api_key=api_key, model="your-model-id", max_tokens=1024)
  • 微調(Fine-tuning):可直接將 temperaturemax_tokens 傳遞給 CometLLM(...)
  • 錯誤處理:將呼叫包在 try/except 中,以捕捉金鑰錯誤或網路問題。
  • 安全性:絕對不要將 API 金鑰提交到版本控制。請使用環境變數。
  • 更多文件LlamaIndex 文件CometAPI 快速開始Colab 範例