Nuclia
Nuclia 会自动索引来自任何内部和外部来源的非结构化数据,提供优化的搜索结果和生成式答案。它可以处理视频和音频转录、图像内容提取和文档解析。
Nuclia Understanding API
支持处理非结构化数据,包括文本、网页、文档以及音频/视频内容。它会提取所有文本,无论它们位于何处(在需要时使用语音转文本或 OCR),还会提取元数据、嵌入文件(如 PDF 中的图像)和网页链接。如果启用了机器学习,它会识别实体、提供内容摘要并为所有句子生成嵌入。
设置
要使用 Nuclia Understanding API
,您需要拥有一个 Nuclia 帐户。您可以在 https://nuclia.cloud 上免费创建一个帐户,然后 创建一个 NUA 密钥.
%pip install --upgrade --quiet protobuf
%pip install --upgrade --quiet nucliadb-protos
import os
os.environ["NUCLIA_ZONE"] = "<YOUR_ZONE>" # e.g. europe-1
os.environ["NUCLIA_NUA_KEY"] = "<YOUR_API_KEY>"
示例
要使用 Nuclia 文档加载器,您需要实例化一个 NucliaUnderstandingAPI
工具
from langchain_community.tools.nuclia import NucliaUnderstandingAPI
nua = NucliaUnderstandingAPI(enable_ml=False)
API 参考:NucliaUnderstandingAPI
from langchain_community.document_loaders.nuclia import NucliaLoader
loader = NucliaLoader("./interview.mp4", nua)
API 参考:NucliaLoader
您现在可以调用 load
在循环中加载文档,直到获取到文档。
import time
pending = True
while pending:
time.sleep(15)
docs = loader.load()
if len(docs) > 0:
print(docs[0].page_content)
print(docs[0].metadata)
pending = False
else:
print("waiting...")
检索到的信息
Nuclia 返回以下信息
- 文件元数据
- 提取的文本
- 嵌套文本(如嵌入图像中的文本)
- 段落和句子分割(由其第一个和最后一个字符的位置定义,加上视频或音频文件的开始时间和结束时间)
- 链接
- 缩略图
- 嵌入文件
注意
生成的 files(缩略图、提取的嵌入文件等)以令牌的形式提供。您可以使用 /processing/download
终结点 下载它们。
此外,在任何级别,如果属性大小超过一定限制,它将被放入可下载的文件中,并在文档中被文件指针替换。这将包含 {"file": {"uri": "JWT_TOKEN"}}
。规则是,如果消息大小大于 1000000 个字符,则将最大的部分移动到可下载的文件中。首先,压缩过程将针对向量。如果这还不够,它将针对大型字段元数据,最后将针对提取的文本。