主题
在本 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.messageprint(ai_msg.message.content)补全
ai_msg = llm.complete(user_msg.content)
ai_msgprint(ai_msg.text)流式传输
聊天
ai_stream_msgs = []
for stream in llm.stream_chat(messages):
ai_stream_msgs.append(stream)
ai_stream_msgsprint(ai_stream_msgs[-1])补全
ai_stream_msgs = []
for stream in llm.stream_complete(user_msg.content):
ai_stream_msgs.append(stream)
ai_stream_msgsprint(ai_stream_msgs[-1])异步
聊天
ai_msg = await llm.achat(messages)
ai_msgprint(ai_msg.message.content)补全
ai_msg = await llm.acomplete(user_msg.content)
ai_msgprint(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.messageprint(ai_msg.message.content)补全
ai_msg = llm.complete(user_msg.content)
ai_msgprint(ai_msg.text)流式传输
聊天
ai_stream_msgs = []
for stream in llm.stream_chat(messages):
ai_stream_msgs.append(stream)
ai_stream_msgsprint(ai_stream_msgs[-1])补全
ai_stream_msgs = []
for stream in llm.stream_complete(user_msg.content):
ai_stream_msgs.append(stream)
ai_stream_msgsprint(ai_stream_msgs[-1])异步
聊天
ai_msg = await llm.achat(messages)
ai_msgprint(ai_msg.message.content)补全
ai_msg = await llm.acomplete(user_msg.content)
ai_msgprint(ai_msg.text)异步流式传输
尚未支持。敬请期待!