Skip to content

数据库

数据库用于存储元数据、文本和二进制内容。

内容

content: boolean|sqlite|duckdb|client|url|custom

启用内容存储。当设置为 true 时,默认使用 sqlite 存储引擎保存元数据。

支持客户端-服务器连接,可以通过 client 或完整的连接 URL 进行配置。当设置为 client 时,必须设置 CLIENT_URL 环境变量以指定完整的连接 URL。有关如何为客户端-服务器数据库构建连接字符串的更多信息,请参阅 SQLAlchemy 文档。

通过将此参数设置为完全可解析的类字符串,可以添加自定义存储引擎。

内容存储的特定设置通过与内容存储引擎同名的配置对象进行设置(例如 duckdbsqlite)。这些设置是可选的,如果省略则使用默认值。

sqlite

sqlite:
    wal: 启用预写日志 - 允许并发读/写操作,
         默认为 false

对象

objects: boolean|image|pickle

启用对象存储。支持存储二进制内容。需要同时启用内容存储。

对象编码选项包括:

  • standard:当设置为布尔值时的默认编码器。将对象编码和解码为字节数组。
  • image:图像编码器。将对象编码和解码为图像对象。
  • pickle:Pickle 编码器。使用 pickle 模块对对象进行编码和解码。支持任意对象。

函数

functions: list

用户定义的 SQL 函数列表,仅在启用 内容 时使用。每个列表元素必须是以下之一:

  • 函数
  • 可调用对象
  • 包含名称、参数数量和函数的字典

示例可在此处找到

查询

query:
    path: 设置查询模型的路径 - 可以是 Hugging Face Model Hub 上的任何模型或本地文件路径。
    prefix: 在所有输入前添加的文本前缀
    maxlength: 生成的序列的最大长度

查询翻译模型。将自然语言查询翻译为 txtai 兼容的 SQL 语句。