Skip to main content

Nuclia Understanding API文档加载器 (Nuclia Understanding API Document Loader)

Nuclia可以自动索引来自任何内部和外部来源的非结构化数据,提供优化的搜索结果和生成的答案。它可以处理视频和音频转录、图像内容提取和文档解析。

Nuclia Understanding API支持处理非结构化数据,包括文本、网页、文档和音频/视频内容。它可以提取所有的文本(在需要时使用语音转文本或OCR技术),还可以提取元数据、嵌入文件(例如PDF中的图像)和网页链接。如果启用了机器学习功能,它还可以识别实体、提供内容摘要并为所有句子生成嵌入。

要使用Nuclia Understanding API,您需要拥有一个Nuclia账户。您可以在https://nuclia.cloud免费创建一个账户,然后创建一个NUA密钥

#!pip install --upgrade protobuf
#!pip install nucliadb-protos
import os

os.environ["NUCLIA_ZONE"] = "<YOUR_ZONE>" # 例如:europe-1
os.environ["NUCLIA_NUA_KEY"] = "<YOUR_API_KEY>"

要使用Nuclia文档加载器,您需要实例化一个NucliaUnderstandingAPI工具:

from langchain.tools.nuclia import NucliaUnderstandingAPI

nua = NucliaUnderstandingAPI(enable_ml=False)
from langchain.document_loaders.nuclia import NucliaLoader

loader = NucliaLoader("./interview.mp4", nua)

现在,您可以在循环中调用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...")

检索到的信息 (Retrieved information)

Nuclia返回以下信息:

  • 文件元数据
  • 提取的文本
  • 嵌套文本(例如嵌入图像中的文本)
  • 段落和句子的拆分(根据它们的第一个和最后一个字符的位置,以及视频或音频文件的开始时间和结束时间)
  • 链接
  • 缩略图
  • 嵌入文件

注意:

生成的文件(缩略图、提取的嵌入文件等)以令牌的形式提供。您可以使用/processing/download端点下载它们。

此外,在任何级别上,如果某个属性的大小超过一定的限制,它将被放入一个可下载的文件中,并在文档中用文件指针替换。文件指针的格式为{"file": {"uri": "JWT_TOKEN"}}。规则是,如果消息的大小超过1000000个字符,最大的部分将被移动到可下载的文件中。首先,压缩过程将针对向量进行处理。如果这还不够,它将针对大字段元数据进行处理,最后将针对提取的文本进行处理。