Skip to content
LlamaIndex 文档版本 跟随上游 源快照 188b8732 更新于 2026-10-18

在本 notebook 中,你将了解如何安装、设置和使用 SambaNova Cloud 和 SambaStudio 平台。看一看并亲自尝试一下吧!

SambaNova Cloud

SambaNova Cloud 是一项高性能推理服务,可提供快速而精确的结果。客户可以将 FastAPI 推理 API 与其应用集成,无缝利用 SambaNova 技术来提升用户体验。该服务提供了易于使用的 REST 接口,用于流式输出推理结果。用户可以自定义推理参数,并将 ML 模型传给该服务。

设置

要访问 SambaNova Cloud 模型,你需要创建一个 SambaNovaCloud 账户、获取 API 密钥、安装 llama-index-llms-sambanova 集成包,并安装 SSEClient 包。

%pip install llama-index-llms-sambanovasystems
%pip install sseclient-py

凭据

从 cloud.sambanova.ai 获取 API 密钥,并将其添加到你的环境变量中:

终端窗口

export SAMBANOVA_API_KEY="your-api-key-here"

如果你的环境变量中没有它,也可以在弹出式输入文本中添加。

import getpass
import os

if not os.getenv("SAMBANOVA_API_KEY"):
    os.environ["SAMBANOVA_API_KEY"] = getpass.getpass(
        "Enter your SambaNova Cloud API key: "
    )

实例化

现在我们可以实例化模型对象并生成聊天补全:

from llama_index.llms.sambanovasystems import SambaNovaCloud

llm = SambaNovaCloud(
    model="Meta-Llama-3.1-70B-Instruct",
    context_window=100000,
    max_tokens=1024,
    temperature=0.7,
    top_k=1,
    top_p=0.01,
)

调用

给定以下系统和用户消息,让我们探索调用 SambaNova Cloud 模型的不同方式。

from llama_index.core.base.llms.types import (
    ChatMessage,
    MessageRole,
)

system_msg = ChatMessage(
    role=MessageRole.SYSTEM,
    content="You are a helpful assistant that translates English to French. Translate the user sentence.",
)
user_msg = ChatMessage(role=MessageRole.USER, content="I love programming.")

messages = [
    system_msg,
    user_msg,
]

聊天

ai_msg = llm.chat(messages)
ai_msg.message
print(ai_msg.message.content)

补全

ai_msg = llm.complete(user_msg.content)
ai_msg
print(ai_msg.text)

流式传输

聊天

ai_stream_msgs = []
for stream in llm.stream_chat(messages):
    ai_stream_msgs.append(stream)
ai_stream_msgs
print(ai_stream_msgs[-1])

补全

ai_stream_msgs = []
for stream in llm.stream_complete(user_msg.content):
    ai_stream_msgs.append(stream)
ai_stream_msgs
print(ai_stream_msgs[-1])

异步

聊天

ai_msg = await llm.achat(messages)
ai_msg
print(ai_msg.message.content)

补全

ai_msg = await llm.acomplete(user_msg.content)
ai_msg
print(ai_msg.text)

异步流式传输

尚未支持。敬请期待!

SambaStudio

SambaStudio 是一个功能丰富的基于 GUI 的平台,提供训练、部署和管理模型的功能。

设置

要访问 SambaStudio 模型,你必须是 SambaNova 客户,使用 GUI 或 CLI 部署端点,并使用 URL 和 API Key 连接到该端点,具体如 SambaStudio 端点文档所述。然后,安装 llama-index-llms-sambanova 集成包,并安装 SSEClient 包。

%pip install llama-index-llms-sambanova
%pip install sseclient-py

凭据

必须在 SambaStudio 中部署端点才能获取 URL 和 API Key。获取后,将它们添加到你的环境变量中:

终端窗口

export SAMBASTUDIO_URL="your-url-here"
export SAMBASTUDIO_API_KEY="your-api-key-here"
import getpass
import os

if not os.getenv("SAMBASTUDIO_URL"):
    os.environ["SAMBASTUDIO_URL"] = getpass.getpass(
        "Enter your SambaStudio endpoint's URL: "
    )

if not os.getenv("SAMBASTUDIO_API_KEY"):
    os.environ["SAMBASTUDIO_API_KEY"] = getpass.getpass(
        "Enter your SambaStudio endpoint's API key: "
    )

实例化

现在我们可以实例化模型对象并生成聊天补全:

from llama_index.llms.sambanovasystems import SambaStudio

llm = SambaStudio(
    model="Meta-Llama-3-70B-Instruct-4096",
    context_window=100000,
    max_tokens=1024,
    temperature=0.7,
    top_k=1,
    top_p=0.01,
)

调用

给定以下系统和用户消息,让我们探索调用 SambaNova Cloud 模型的不同方式。

from llama_index.core.base.llms.types import (
    ChatMessage,
    MessageRole,
)

system_msg = ChatMessage(
    role=MessageRole.SYSTEM,
    content="You are a helpful assistant that translates English to French. Translate the user sentence.",
)
user_msg = ChatMessage(role=MessageRole.USER, content="I love programming.")

messages = [
    system_msg,
    user_msg,
]

聊天

ai_msg = llm.chat(messages)
ai_msg.message
print(ai_msg.message.content)

补全

ai_msg = llm.complete(user_msg.content)
ai_msg
print(ai_msg.text)

流式传输

聊天

ai_stream_msgs = []
for stream in llm.stream_chat(messages):
    ai_stream_msgs.append(stream)
ai_stream_msgs
print(ai_stream_msgs[-1])

补全

ai_stream_msgs = []
for stream in llm.stream_complete(user_msg.content):
    ai_stream_msgs.append(stream)
ai_stream_msgs
print(ai_stream_msgs[-1])

异步

聊天

ai_msg = await llm.achat(messages)
ai_msg
print(ai_msg.message.content)

补全

ai_msg = await llm.acomplete(user_msg.content)
ai_msg
print(ai_msg.text)

异步流式传输

尚未支持。敬请期待!

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。