SambaNova Systems¶
在本 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 密钥连接到端点,具体请参阅 SambaStudio 端点文档。然后,安装 llama-index-llms-sambanova
集成包,并安装 SSEClient
包。
%pip install llama-index-llms-sambanova
%pip install sseclient-py
凭据¶
必须在 SambaStudio 中部署一个端点以获取 URL 和 API 密钥。获取后,请将其添加到您的环境变量中
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)
异步流式传输¶
暂不支持。即将推出!