跳转到主要内容
LlamaIndex 提供了 CometLLM 类,作为与 CometAPI 的一等集成。使用它可以通过 CometAPI 目录中的任意模型,为 RAG 流水线、agents 和 LLM chains 提供支持。

前置条件

  • Python 3.8+
  • 一个拥有有效 API key 的 CometAPI 账户 —— 在这里获取
1

安装 LlamaIndex CometAPI 集成

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

设置你的 API key

from llama_index.llms.cometapi import CometLLM
import os

os.environ["COMETAPI_KEY"] = "<COMETAPI_KEY>"
api_key = os.getenv("COMETAPI_KEY")
使用环境变量比在脚本中硬编码凭证更安全。
3

初始化模型并进行补全调用

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

启用流式输出(Streaming)

使用 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 中,以捕获 key 错误或网络问题。
  • 安全性:切勿将 API key 提交到版本控制中。请使用环境变量。
  • 更多文档LlamaIndex 文档CometAPI 快速开始Colab 示例