跳到主要內容
Open on GitHub

文字嵌入模型

資訊

前往整合以取得有關與文本嵌入模型提供者內建整合的文檔。

Embeddings 類別是一個設計用於與文本嵌入模型介接的類別。 有許多嵌入模型提供者(OpenAI、Cohere、Hugging Face 等)- 此類別旨在為所有這些提供標準介面。

嵌入會建立一段文本的向量表示。 這很有用,因為這表示我們可以在向量空間中思考文本,並進行語意搜尋等操作,在語意搜尋中,我們尋找在向量空間中最相似的文本片段。

LangChain 中的基礎 Embeddings 類別提供了兩種方法:一種用於嵌入文件,另一種用於嵌入查詢。 前者 .embed_documents 接受多個文本作為輸入,而後者 .embed_query 接受單個文本。 將這些作為兩種獨立方法的原因是,某些嵌入提供者對於文件(要搜尋的對象)與查詢(搜尋查詢本身)具有不同的嵌入方法。 .embed_query 將返回浮點數列表,而 .embed_documents 返回浮點數列表的列表。

開始使用

設定

pip install -qU langchain-openai
import getpass
import os

if not os.environ.get("OPENAI_API_KEY"):
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")

from langchain_openai import OpenAIEmbeddings

embeddings_model = OpenAIEmbeddings(model="text-embedding-3-large")

embed_documents

嵌入文本列表

使用 .embed_documents 嵌入字串列表,恢復嵌入列表

embeddings = embeddings_model.embed_documents(
[
"Hi there!",
"Oh, hello!",
"What's your name?",
"My friends call me World",
"Hello World!"
]
)
len(embeddings), len(embeddings[0])
(5, 1536)

embed_query

嵌入單個查詢

使用 .embed_query 嵌入單段文本(例如,為了與其他嵌入的文本段進行比較)。

embedded_query = embeddings_model.embed_query("What was the name mentioned in the conversation?")
embedded_query[:5]
[0.0053587136790156364,
-0.0004999046213924885,
0.038883671164512634,
-0.003001077566295862,
-0.00900818221271038]

此頁面是否對您有幫助?