MistralDocumentEmbedder
此组件使用 Mistral API 和模型计算文档列表的 embeddings。
| pipeline 中的最常见位置 | 在索引管道中的 DocumentWriter 之前 |
| 必需的初始化变量 | "api_key": Mistral API 密钥。可以通过MISTRAL_API_KEY 环境变量设置。 |
| 强制运行变量 | “documents”:要计算 embedding 的文档列表 |
| 输出变量 | “documents”:文档列表(已添加嵌入信息) “meta”:字符串元数据字典 |
| API 参考 | Mistral |
| GitHub 链接 | https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/mistral |
此组件应用于嵌入文档列表。要嵌入字符串,请使用 MistralTextEmbedder。
概述
MistralDocumentEmbedder 计算文档列表的 embeddings,并将获得的向量存储在每个文档的 embedding 字段中。它使用 Mistral API 及其 embedding 模型。
该组件目前支持mistral-embed embedding 模型。所有支持的模型列表可以在 Mistral 的 embedding 模型文档 中找到。
要开始将此集成与 Haystack 一起使用,请使用以下命令安装它:
pip install mistral-haystack
MistralDocumentEmbedder 需要 Mistral API 密钥才能工作。默认情况下,它使用 MISTRAL_API_KEY 环境变量。否则,您可以在初始化时通过 api_key:
embedder = MistralDocumentEmbedder(api_key=Secret.from_token("<your-api-key>"), model="mistral-embed")
用法
单独使用
请首先记住设置MISTRAL_API_KEY 作为环境变量或直接传入。
以下是独立使用该组件的方法:
from haystack import Document
from haystack_integrations.components.embedders.mistral.document_embedder import MistralDocumentEmbedder
doc = Document(content="I love pizza!")
embedder = MistralDocumentEmbedder(api_key=Secret.from_token("<your-api-key>"), model="mistral-embed")
result = embedder.run([doc])
print(result['documents'][0].embedding)
# [-0.453125, 1.2236328, 2.0058594, 0.67871094...]
在 pipeline 中
以下是一个 的示例MistralDocumentEmbedder 在索引管道中。我们正在将网页内容索引到 InMemoryDocumentStore.
from haystack import Pipeline
from haystack.components.converters import HTMLToDocument
from haystack.components.fetchers import LinkContentFetcher
from haystack.components.preprocessors import DocumentSplitter
from haystack.components.writers import DocumentWriter
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack_integrations.components.embedders.mistral.document_embedder import MistralDocumentEmbedder
document_store = InMemoryDocumentStore()
fetcher = LinkContentFetcher()
converter = HTMLToDocument()
chunker = DocumentSplitter()
embedder = MistralDocumentEmbedder()
writer = DocumentWriter(document_store=document_store)
indexing = Pipeline()
indexing.add_component(name="fetcher", instance=fetcher)
indexing.add_component(name="converter", instance=converter)
indexing.add_component(name="chunker", instance=chunker)
indexing.add_component(name="embedder", instance=embedder)
indexing.add_component(name="writer", instance=writer)
indexing.connect("fetcher", "converter")
indexing.connect("converter", "chunker")
indexing.connect("chunker", "embedder")
indexing.connect("embedder", "writer")
indexing.run(data={"fetcher": {"urls": ["https://mistral.ai/news/la-plateforme/"]}})
更新于 大约 1 年前
