Skip to main content

Documentation Index

Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt

Use this file to discover all available pages before exploring further.

这将帮助您使用 LangChain 开始使用 SambaNova 嵌入模型。有关 SambaNovaEmbeddings 功能和配置选项的详细文档,请参阅 API 参考 SambaNovaSambaCloud 是一个用于执行开源模型推理的平台

概述

集成详情

设置

要访问 SambaNovaEmbeddings 模型,您需要创建一个 SambaCloud 账户,获取 API 密钥,并安装 langchain_sambanova 集成包。
pip install langchain-sambanova

凭据

cloud.sambanova.ai 获取 API 密钥。完成此操作后,请设置 SAMBANOVA_API_KEY 环境变量:
import getpass
import os

if not os.getenv("SAMBANOVA_API_KEY"):
    os.environ["SAMBANOVA_API_KEY"] = getpass.getpass("Enter your SambaNova API key: ")
要启用模型调用的自动追踪,请设置您的 LangSmith API 密钥:
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")

安装

LangChain SambaNova 集成位于 langchain-sambanova 包中:
pip install -qU langchain-sambanova

实例化

现在我们可以实例化我们的模型对象并生成聊天补全:
from langchain_sambanova import SambaNovaEmbeddings

embeddings = SambaNovaEmbeddings(
    model="E5-Mistral-7B-Instruct",
)

索引和检索

嵌入模型通常用于检索增强生成 (RAG) 流程中,既作为数据索引的一部分,也用于后续检索。更详细的说明,请参阅我们的 RAG 教程 下面,查看如何使用上面初始化的 embeddings 对象来索引和检索数据。在本示例中,我们将在 InMemoryVectorStore 中索引和检索一个示例文档。
# Create a vector store with a sample text
from langchain_core.vectorstores import InMemoryVectorStore

text = "LangChain is the framework for building context-aware reasoning applications"

vectorstore = InMemoryVectorStore.from_texts(
    [text],
    embedding=embeddings,
)

# Use the vectorstore as a retriever
retriever = vectorstore.as_retriever()

# Retrieve the most similar text
retrieved_documents = retriever.invoke("What is LangChain?")

# show the retrieved document's content
retrieved_documents[0].page_content

直接用法

在底层,向量存储和检索器实现分别调用 embeddings.embed_documents(...)embeddings.embed_query(...)from_texts 和检索 invoke 操作中使用的文本创建嵌入。 您可以直接调用这些方法以获取您自己用例的嵌入。

嵌入单个文本

您可以使用 embed_query 嵌入单个文本或文档:
single_vector = embeddings.embed_query(text)
print(str(single_vector)[:100])  # Show the first 100 characters of the vector

嵌入多个文本

您可以使用 embed_documents 嵌入多个文本:
text2 = (
    "LangGraph is a library for building stateful, multi-actor applications with LLMs"
)
two_vectors = embeddings.embed_documents([text, text2])
for vector in two_vectors:
    print(str(vector)[:100])  # Show the first 100 characters of the vector

API 参考

有关 SambaNovaEmbeddings 功能和配置选项的详细文档,请参阅 SambaNova 开发者指南