跳至主要内容
前往文档
⌘U
Weaviate 数据库

使用 Weaviate 的 APIs 和工具开发 AI 应用

部署

部署、配置和维护 Weaviate 数据库

Weaviate Agents

使用 Weaviate 构建和部署智能代理

Weaviate Cloud

在云端管理和扩展 Weaviate

更多资源

集成
贡献者指南
活动 & 工作坊
Weaviate Academy

需要帮助?

Weaviate Logo询问 AI 助手⌘K
社区论坛

Weaviate 转换代理

仅 Weaviate Cloud
技术预览

This Weaviate Agent is in technical preview. This Weaviate Agent is in technical preview.

在此处注册 以获取有关 Weaviate Agents 的通知,或访问 此页面 以查看最新更新并提供反馈。

请勿在生产环境中使用

Weaviate 转换代理旨在就地修改 Weaviate 中的数据。 在代理处于技术预览阶段时,请勿在生产环境中使用它。 代理可能无法按预期工作,并且您的 Weaviate 实例中的数据可能会受到意外影响。

Weaviate 转换代理是一种代理服务,旨在利用生成模型增强和转换数据。使用转换代理来追加新属性和/或更新 Weaviate 中现有对象上的现有属性。

Weaviate Transformation Agent example - append Weaviate Transformation Agent example - append

这可以帮助您提高 Weaviate 集合中对象的质量,以便在您的应用程序中进一步使用。

架构

转换代理作为 Weaviate Cloud 上的服务提供。它通过追加新属性或更新现有属性来更新现有的 Weaviate 对象。

Weaviate Transformation Agent overview Weaviate Transformation Agent overview

为转换代理提供一组指令,例如要更新的集合以及要查看的现有属性和指令。然后,转换代理将在 Weaviate 中的指定对象上执行指定的操作。

对象总数不受影响

这不会更改 Weaviate 中的对象数量,但会更新指定对象的属性。

转换代理:可视化工作流程

为了转换现有的对象,转换代理遵循以下工作流程。

  • 转换代理根据指定的标准(步骤 1-2)从 Weaviate 检索现有的对象。
  • 转换代理与生成模型合作,基于提供的指令和指定现有属性的上下文来创建属性值(步骤 3-4)。
  • 更新 Weaviate 中的转换对象。Weaviate 会根据需要使用指定的向量化器集成来向量化数据。(步骤 5-7)
  • 从 Weaviate 接收作业状态,并将其返回给用户(步骤 8)。

更新现有对象上的属性

在更新现有对象上的属性时,转换代理会用新值替换现有的属性值。此操作的工作流程如下所示。

Weaviate Transformation Agent: Update properties on existing objects Weaviate Transformation Agent: Update properties on existing objects

将新属性追加到现有对象

在将属性追加到现有对象时,转换代理会将新值作为新属性添加到对象中。此操作的工作流程如下所示。

Weaviate Transformation Agent: Append news properties to existing objects Weaviate Transformation Agent: Append news properties to existing objects

基本用法

以下是如何使用此 Weaviate 代理的概述。有关更详细的信息,请参阅用法页面。

先决条件

此代理仅可用于 Weaviate Cloud 实例以及受支持版本的 Weaviate 客户端库。

示例用法

要使用转换代理,请使用以下输入对其进行实例化

  • Weaviate 客户端的一个实例(例如,Python 中的 WeaviateClient 对象),连接到 Weaviate Cloud 实例。
  • 要转换的目标集合的名称。
  • 要执行的转换操作列表。

然后启动操作。

转换操作是异步的。每个操作都会将一个工作流程 ID 返回给用户。然后,用户可以使用此 ID 来检查其状态。

# [🚧 CAUTION 🚧] DO NOT USE ON PRODUCTION DATA.
# The Transformation Agent will modify your data in place.
# While the Transformation Agent is in technical preview,
# it is recommended to only use it on test data.

import os
import weaviate
from weaviate.classes.init import Auth
from weaviate.agents.transformation import TransformationAgent
from weaviate.agents.classes import Operations


headers = {
# Provide your required API key(s), e.g. Cohere, OpenAI, etc. for the configured vectorizer(s)
"X-INFERENCE-PROVIDER-API-KEY": os.environ.get("YOUR_INFERENCE_PROVIDER_KEY", ""),
}

client = weaviate.connect_to_weaviate_cloud(
cluster_url=os.environ.get("WEAVIATE_URL"),
auth_credentials=Auth.api_key(os.environ.get("WEAVIATE_API_KEY")),
headers=headers,
)

add_topics = Operations.append_property(
property_name="topics",
data_type=DataType.TEXT_ARRAY,
view_properties=["abstract", "title"],
instruction="""Create a list of topic tags based on the title and abstract.
Topics should be distinct from eachother. Provide a maximum of 5 topics.
Group similar topics under one topic tag.""",
)

agent = TransformationAgent(
client=client,
collection="ArxivPapers",
operations=[add_topics],
)

response = agent.update_all() # The response is a TransformationResponse object

agent.get_status(workflow_id=response.workflow_id) # Use the workflow_id to check the status of each workflow

随着转换的进行,转换后的属性将在每个对象上可用。

更多文档

有关如何使用此代理的更详细信息,请参阅用法页面。

问题和反馈

更新日志和反馈

Weaviate Agents 的官方更新日志可以在 这里找到。如果您有反馈,例如功能请求、错误报告或问题,请 在此处提交,您将能够查看反馈状态并对其他人的反馈进行投票。

如果您有任何问题或反馈,请在 用户论坛 中告诉我们。