Skip to main content
Nuclia 会自动索引来自任何内部和外部来源的非结构化数据,提供优化的搜索结果和生成式答案。它能处理视频和音频转录、图像内容提取以及文档解析。
Nuclia Understanding API 支持处理非结构化数据,包括文本、网页、文档及音视频内容。它可以提取所有文本(在需要时使用语音转文字或 OCR),同时提取元数据、嵌入文件(如 PDF 中的图片)和网页链接。如果启用了机器学习,它还能识别实体、生成内容摘要,并为所有句子生成嵌入向量。

设置

要使用 Nuclia Understanding API,您需要有一个 Nuclia 账户。您可以在 https://nuclia.cloud 免费创建一个,然后创建一个 NUA 密钥
pip install -qU  protobuf
pip install -qU  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)
from langchain_community.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...")

返回的信息

Nuclia 返回以下信息:
  • 文件元数据
  • 提取的文本
  • 嵌套文本(如嵌入图片中的文字)
  • 段落和句子分割(由首尾字符位置定义,视频或音频文件还有开始时间和结束时间)
  • 链接
  • 缩略图
  • 嵌入文件
注意: 生成的文件(缩略图、提取的嵌入文件等)以令牌形式提供。您可以使用 /processing/download 端点下载它们。 另外,在任何级别,如果某个属性超过一定大小,它将被放入一个可下载文件中,并在文档中以文件指针替代。其格式为 {"file": {"uri": "JWT_TOKEN"}}。规则是:如果消息大小超过 1000000 个字符,最大的部分将被移至可下载文件。首先,压缩过程会针对向量;如果仍不够,则针对大型字段元数据;最后针对提取的文本。