跳到主要内容
本笔记本介绍了如何开始使用 CLOVA Studio 提供的嵌入模型。有关 ClovaXEmbeddings 功能和配置选项的详细文档,请参阅API 参考

概览

集成详情

设置

在使用 CLOVA Studio 提供的嵌入模型之前,您必须完成以下三个步骤。
  1. 创建 NAVER 云平台 账户
  2. 申请使用 CLOVA Studio
  3. 创建要使用的模型的 CLOVA Studio 测试应用或服务应用(参见此处。)
  4. 颁发测试或服务 API 密钥(参见此处。)

凭据

使用您的 API 密钥设置 CLOVASTUDIO_API_KEY 环境变量。
import getpass
import os

if not os.getenv("CLOVASTUDIO_API_KEY"):
    os.environ["CLOVASTUDIO_API_KEY"] = getpass.getpass("Enter CLOVA Studio API Key: ")

安装

ClovaXEmbeddings 集成位于 langchain_naver 包中
# install package
pip install -qU langchain-naver

实例化

现在我们可以实例化我们的嵌入对象并嵌入查询或文档
  • CLOVA Studio 中有多种嵌入模型可用。请参阅此处了解更多详情。
  • 请注意,您可能需要根据您的具体用例对嵌入进行归一化。
from langchain_naver import ClovaXEmbeddings

embeddings = ClovaXEmbeddings(
    model="clir-emb-dolphin"  # set with the model name of corresponding test/service app. Default is `clir-emb-dolphin`
)

索引和检索

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

text = "CLOVA Studio is an AI development tool that allows you to customize your own HyperCLOVA X models."

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 CLOVA Studio?")

# show the retrieved document's content
retrieved_documents[0].page_content
'CLOVA Studio is an AI development tool that allows you to customize your own HyperCLOVA X models.'

直接使用

在底层,向量存储和检索器实现正在调用 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
[-0.094717406, -0.4077411, -0.5513184, 1.6024436, -1.3235079, -1.0720996, -0.44471845, 1.3665184, 0.

嵌入多个文本

您可以使用 embed_documents 嵌入多个文本
text2 = "LangChain is a framework for building context-aware reasoning applications"
two_vectors = embeddings.embed_documents([text, text2])
for vector in two_vectors:
    print(str(vector)[:100])  # Show the first 100 characters of the vector
[-0.094717406, -0.4077411, -0.5513184, 1.6024436, -1.3235079, -1.0720996, -0.44471845, 1.3665184, 0.
[-0.25525448, -0.84877056, -0.6928286, 1.5867524, -1.2930486, -0.8166254, -0.17934391, 1.4236152, 0.

API 参考

有关 ClovaXEmbeddings 功能和配置选项的详细文档,请参阅API 参考
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.