airflow.providers.weaviate.operators.weaviate

WeaviateIngestOperator

在 Weaviate class 中存储向量的 Operator。

WeaviateDocumentIngestOperator

创建或替换属于文档的对象。

模块内容

class airflow.providers.weaviate.operators.weaviate.WeaviateIngestOperator(conn_id, collection_name, input_data=None, vector_col='Vector', uuid_column='id', tenant=None, hook_params=None, **kwargs)[source]

基类: airflow.models.BaseOperator

在 Weaviate class 中存储向量的 Operator。

另请参阅

有关如何使用此 Operator 的更多信息,请参阅指南: WeaviateIngestOperator

接受输入 JSON 或 pandas DataFrame 以生成嵌入或接受提供的自定义向量,并将它们存储在 Weaviate class 中的 Operator。

参数:
  • conn_id (str) – Weaviate 连接。

  • collection – 用于存储数据对象的 Weaviate 集合。

  • input_data (list[dict[str, Any]] | pandas.DataFrame | None) – 表示 Weaviate 数据对象的字典列表或 pandas DataFrame,用于生成嵌入(或提供自定义向量)并将其存储到 Weaviate class 中。

  • vector_col (str) – 存储向量的键/列名。

  • hook_params (dict | None) – 要传递给底层 Hook 的可选配置参数。应与所需的 Hook 构造函数参数匹配。

template_fields: collections.abc.Sequence[str] = ('input_data',)[source]
collection_name[source]
conn_id[source]
vector_col = 'Vector'[source]
uuid_column = 'id'[source]
tenant = None[source]
input_data = None[source]
hook_params[source]
property hook: airflow.providers.weaviate.hooks.weaviate.WeaviateHook[source]

返回 WeaviateHook 的实例。

execute(context)[source]

在创建 operator 时派生。

Context 是用于渲染 jinja 模板的字典。

有关更多 context,请参阅 get_template_context。

class airflow.providers.weaviate.operators.weaviate.WeaviateDocumentIngestOperator(conn_id, input_data, collection_name, document_column, existing='skip', uuid_column='id', vector_col='Vector', tenant=None, verbose=False, hook_params=None, **kwargs)[source]

基类: airflow.models.BaseOperator

创建或替换属于文档的对象。

在实际场景中,Airflow 文档、Stack Overflow 或其他问题等信息源在此被视为“文档”。保持数据库对象与这些源同步至关重要。如果这些文档发生任何变化,此函数旨在反映这些变化到数据库中。

注意

此函数负责识别文档中的更改,删除相关的数据库对象,并根据更新的信息重新创建它们。务必小心处理此过程,确保已进行备份和验证,以防止数据丢失或不一致。

提供多种处理现有值的方式。replace: 用新对象替换现有对象。此选项需要识别属于文档的对象,默认通过使用 document_column 字段完成。skip: 跳过现有对象,只添加文档中缺失的对象。error: 如果尝试创建属于现有文档的对象,则引发错误。

参数:
  • data – 要导入的单个 pandas DataFrame 或字典列表。

  • collection_name (str) – 要导入数据的 Weaviate schema 中的集合名称。

  • existing (str) – 处理现有数据的策略:‘skip’(跳过)或 ‘replace’(替换)。默认为 ‘skip’。

  • document_column (str) – DataFrame 中用于标识源文档的列。

  • uuid_column (str) – 包含预生成 UUID 的列。如果未提供,将生成 UUID。

  • vector_column – 包含预嵌入数据嵌入向量的列。

  • tenant (str | None) – 要添加对象的租户。

  • verbose (bool) – 在导入过程中启用详细输出的标志。

  • hook_params (dict | None) – 要传递给底层 Hook 的可选配置参数。应与所需的 Hook 构造函数参数匹配。

template_fields: collections.abc.Sequence[str] = ('input_data',)[source]
conn_id[source]
input_data[source]
collection_name[source]
document_column[source]
existing = 'skip'[source]
uuid_column = 'id'[source]
vector_col = 'Vector'[source]
tenant = None[source]
verbose = False[source]
hook_params[source]
property hook: airflow.providers.weaviate.hooks.weaviate.WeaviateHook[source]

返回 WeaviateHook 的实例。

execute(context)[source]

创建或替换属于文档的对象。

返回值:

未能创建的 UUID 列表

返回类型:

collections.abc.Sequence[dict[str, weaviate.types.UUID | str] | None]

此条目有帮助吗?