SambaNova Systems¶
在本笔记本中,您将了解如何安装、设置和使用 SambaNova Cloud 与 SambaStudio 平台。立即探索并亲身体验吧!
SambaNova 云服务¶
SambaNova Cloud 是一项高性能推理服务,能够提供快速精准的结果。客户可通过将 FastAPI 推理接口与其应用程序集成,无缝利用 SambaNova 技术来提升用户体验。该服务提供易于使用的 REST 接口用于流式传输推理结果,用户可自定义推理参数并将机器学习模型传递给服务。
环境配置¶
要访问 SambaNova 云模型,您需要完成以下步骤:创建 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 云模型的不同方法。
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 是一个功能丰富的图形界面平台,提供模型训练、部署和管理功能。
设置¶
要访问 SambaStudio 模型,您需要满足以下条件:成为 SambaNova 客户,通过图形界面或命令行部署终端节点,并按照 SambaStudio 终端节点文档 所述使用 URL 和 API 密钥连接终端节点。然后安装 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 云模型的不同方法。
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)
异步流式传输¶
暂不支持。即将推出!