- 入门指南
- 数据安全性与合规性
- 组织
- 身份验证和安全性
- 许可
- 租户和服务
- 帐户和角色
- Ai Trust Layer
- 外部应用程序
- 通知
- 日志记录
- 数据导出
- 在您的组织中进行测试
- 故障排除
- 迁移到 Test Cloud
Test Cloud 管理员指南
本节包含有关如何有效使用上下文基础的信息。
入门指南
要将上下文锚定与 Agents 或 Autopilot for Everyone 使用,请按照创建索引中描述的步骤创建索引。
要将“上下文基础” 用于活动,请创建与 UiPath GenAI Activities 连接器的连接,并确保使用 Studio Web 或 Studio Desktop 2024.4 或更高版本。
管理提取管道
您可以通过以下方式管理提取管道:
- “索引”页面中的 Orchestrator 或智能体。请参阅管理索引。
- 更新上下文基础索引活动是 UiPath GenAI 活动包的一部分。
使用上下文基础查询数据
在 Orchestrator 中创建索引后,就可以在整个 UiPath 平台上访问索引。这些索引可持久存储从数据源提取的文档,为各种 UiPath 产品提供可重用资源:
- 在 Autopilot for Everyone 中,上下文锚定通过启用跨现有索引的搜索来增强用户交互,以提供准确的查询答案。有关详细信息,请参阅Autopilot for Everyone 中的上下文锚定。
- GenAI Activities 允许根据存储在许可的知识库中的信息生成内容,从而从上下文锚定中受益。有关详细信息,请参阅GenAI 活动。
- 对于智能体而言,索引在运行期间提供上下文方面发挥着至关重要的作用。有关详细信息,请参阅上下文。
监控上下文基础
了解上下文基础如何影响工作流对于优化性能和故障排除至关重要。以下是如何跨不同 UiPath 产品追踪和查看“上下文基础”输出的方法。
在智能体中,访问智能体运行的“追踪”视图,以查看全面的详细信息。此视图提供来自上下文基础查询的所有搜索结果和引文,帮助您深入了解智能体的决策过程。
要收集有关 GenAI 活动中上下文基础的详细信息,请执行以下操作:
- 在工作流序列中, “日志消息”活动紧跟在“内容生成” 活动之后。
- 使用以下输出变量捕获特定信息:
- 优先生成的文本:执行工作流后查看 LLM 生成响应。
- 引文:检查影响生成输出的语义搜索结果。这仅适用于 PDF 和 JSON 数据类型。
GenAI Activities 中的上下文基础
上下文基础分三个阶段与数据进行交互:
- 为上下文基础建立数据源。
- 上下文基础遵循共享文件夹权限。 使用具有适当访问权限的文件夹来管理数据和查询数据。
- 创建与受支持的 Integration Service 数据源的连接,或将数据添加到共享的 Orchestrator 存储桶位置。
- 将数据源中的数据提取到上下文基础中。
- 在 Orchestrator 中创建和同步索引。
- 使用“更新上下文锚定索引”活动同步您创建的索引。
- 使用您的数据进行查询和地面提示。
- 使用 “内容生成”活动、智能体或 Autopilot for Everyone 来查询文档,并使用信息来增强或依据提示词。
常见的上下文基础模式
上下文基础的核心组件旨在提供一种机制,该机制支持在文档内和文档间查找相关信息,并仅呈现从 LLM 进行高质量、低延迟生成所需的最相关的片段。
在文档中搜索
上下文基础服务可帮助您更有效地在单个文档中查找特定信息。 它不仅会匹配关键字,还会理解搜索查询的含义和上下文。 例如,如果您在菜单中查找有关“ 苹果派菜单 ”的信息,系统会理解为您对点心和面包感兴趣,而不是技术或果树生产感兴趣。
跨文档搜索
Context Grounding helps you find information spread across multiple documents. It can understand the relationships between different pieces of information and provide more relevant results.
For example, if you're researching "climate change effects on agriculture" across various scientific papers, it pulls together relevant information from multiple sources, understanding that topics like rainfall patterns, crop yields, and temperature changes are all related to your query.
这意味着您可以将上下文基础用于:
- 数据提取和比较:上下文锚定可以自动识别并从文档中提取特定类型的信息,然后以有意义的方式比较这些信息。假设您有一堆简历,希望对各候选人的工作经验进行比较。该服务可以提取职位名称、任职时长和职责,然后以便于比较的方式呈现这些信息,即使每份简历中的格式都不尽相同。
- 摘要:上下文基础可以创建长文档或多个相关文档的摘要。它不会随机选取句子,而是会理解关键点和整体消息。例如,如果您有一份关于市场趋势的长报告,该服务可以提供摘要,突出显示主要发现、关键统计信息和总体结论。
通知
您可以订阅以接收来自上下文基础的通知。请访问通知面板,了解详情。
事件充当通知的触发器。 生成通知的上下文基础事件包括:
- 提取作业已完成
- 提取作业失败
- 提取作业已开始
您还可以根据事件的严重性订阅事件,例如Success或Error 。
引入您自己的向量数据库
使用您现有的向量数据库,将智能体响应存储在受信任的企业数据中,无需复制内容或更改当前架构。
本指南演示如何使用 API 工作流将外部管理的向量数据库(例如 Databricks向量搜索或 Azure AI 搜索)连接到 UiPath 智能体,从而使用自己的数据源启用检索增强生成 (RAG)。
学完本指南后,您将能够:
- 从 UiPath 智能体查询外部向量数据库。
- 以结构化上下文的形式返回最相关的内容。
- 智能体可以在您组织的数据中安全地实时做出响应。
何时使用“自带向量数据库 (BYOVD)”模式
在下列情况下,请使用 BYOVD:
- 您的数据已在外部向量存储中编入索引。
- 您希望智能体能够访问最新的企业知识。
- 您需要避免将数据复制或重新索引到 UiPath。
- 您需要对数据存储、安全性和嵌入进行完全控制。
工作方式
BYOVD 使智能体可以在您的可信数据源中基于生成式 AI 响应。您不依赖内置的上下文基础索引,而是使用API 工作流,这些工作流可以安全地查询外部向量数据库并将相关上下文返回给智能体的大型语言模型。
此方法使您可以灵活地将任何向量数据库与公共 API 集成,同时保持对数据访问、身份验证和检索逻辑的控制。
UiPath 通过充当智能体工具的 API 工作流来支持 BYOVD。在运行时:
- 用户查询:用户向智能体提交提示。
- 工具选择:智能体的 LLM 会确定需要其他上下文,并选择自定义向量搜索工具。
- 执行 API 工作流(仅适用于 StudioX 策略):智能体调用已发布的 API 工作流,将用户查询作为输入传递。
- 向量搜索:工作流会查询向量数据库,以检索语义最相关的内容。
- 上下文返回:工作流以结构化 JSON 形式返回检索到的内容。
- 制定响应:智能体使用此上下文来生成基础、准确的响应。
此方法支持检索增强生成 (RAG),而无需原生提取到上下文基础服务中。
架构概述
BYOVD 解决方案由三个主要组件组成:
- 向量数据库:您的现有系统(例如 Databricks向量搜索或 Azure AI 搜索)。
- API 工作流: UiPath Integration Service 工作流:
- 接受查询。
- 调用向量数据库 API。
- 返回相关结果。
- 智能体工具:发布的 API 工作流,添加为智能体可以调用的工具。
安全性和凭据管理
在构建工作流之前,请安全存储所有 API 密钥和密码。不要在工作流中硬编码凭据。请改为使用 Orchestrator 凭据存储:
- 在 Orchestrator 中存储凭据(在Orchestrator 中存储): 在 Orchestrator 租户中添加 API 密钥和其他密码作为凭据资产。这可以实现对敏感信息的集中、安全管理。
- 在运行时检索凭据:在 API 工作流中,使用获取凭据活动以在工作流运行时访问存储的凭据。该活动以字符串形式返回用户名,并以
SecureString形式返回密码(例如 API 密钥),以防止密码在日志或工作流定义中公开。
先决条件
开始之前,请确保您:
- 包含索引数据的活动向量数据库(例如 Databricks向量搜索或 Azure AI 搜索)。
- 有效的 API 端点和身份验证凭据,作为凭据资产存储在 Orchestrator 中。
- 嵌入模型端点和密钥,也安全存储(仅适用于 Azure 客户端向量化)。
设置
您可以使用三种方法之一实施 BYOVD:模型原生端点、客户端向量化(其中 API 工作流执行向量化)或集成向量化。
以下部分提供了配置每种方法的分步说明。这些示例使用 Databricks 和 Azure AI 搜索,但相同的模式也适用于其他向量数据库。选择符合您的向量数据库处理查询向量化方式的设置。
Databricks向量搜索(模型原生端点)
当 Databricks 在原生处理查询向量化时,请使用此选项。
为什么使用此选项
- 简单配置
- 每个查询仅支持一次 API 调用
- 无需单独的嵌入模型
步骤
- 获取 Databricks 详细信息:
- 检索端点 URL。
- 将您的 Databricks 个人访问令牌存储为 Orchestrator 中的凭据资产。
- 在 Studio 中,创建一个新的 API 工作流项目并定义以下参数:
in_QueryText(String)in_TopK(Int32,默认值为5)out_Results(String)
- 使用“获取凭据”活动在运行时从 Orchestrator 检索 Databricks 个人访问令牌。
- 添加HTTP 请求活动以调用 Databricks 端点:
- 端点:Databricks 向量搜索端点
- 方法:
POST - 标头:
Authorization: Bearer <Personal Access Token> - 正文:构建 Databricks API 所需的 JSON 正文,以映射输入变量。
- 将工作流发布到 Orchestrator 租户。
- 将工作流作为工具添加到您的智能体中,并提供明确的名称和描述,供 LLM 使用。
Azure AI 搜索(客户端向量化)
当 Azure AI 搜索索引需要向量输入时,请使用此选项。
为什么使用此选项
- 对嵌入模型的完全控制
- 与现有向量索引的兼容性
步骤
- 获取 API 详细信息:
- 对于 Azure AI 搜索:检索端点 URL、索引名称,并将 API 密钥作为凭据资产存储在 Orchestrator 中。
- 对于嵌入模型:检索端点 URL,并将嵌入服务的 API 密钥作为凭据资产存储在 Orchestrator 中。
- 在 Studio 中,创建一个新的 API 工作流项目并定义以下参数:
in_QueryText(String)in_TopK(Int32,默认值为5)out_Results(String)
- 首先,对查询进行向量化:
- 查询 Azure AI 搜索:
- 添加“获取凭据”活动,以检索 Azure AI 搜索 API 密钥。
- 添加“HTTP 请求”活动并进行如下配置:
- 端点 (仅适用于 Azure AI 端点):您的 Azure AI 搜索端点。
- 方法:
POST。 - 标头:使用您的 Azure AI 搜索 API 密钥变量添加
api-key标头,如下所示:api-key: <API key>。 - 正文:为 Azure AI 搜索向量搜索查询构建 JSON 正文,并嵌入
queryVector变量。
- 将工作流发布到 Orchestrator 租户。
- 将已发布的工作流作为工具添加到您的智能体中,并提供清晰的描述,供 LLM 使用。
Azure AI 搜索(集成的向量化)
当 Azure AI 搜索索引支持内置向量化时,请使用此选项。
为什么使用此选项
- 最简单的 Azure 设置
- 不可在工作流中嵌入调用
- 每个查询单个 API 请求
步骤
- 获取 API 详细信息:
- 检索 Azure AI 搜索端点 URL、索引名称,并将 API 密钥作为凭据资产存储在 Orchestrator 中。
- 在 Studio 中,创建一个新的 API 工作流项目并定义以下参数:
in_QueryText(String)in_TopK(Int32,默认值为5)out_Results(String)
- 添加“获取凭据”活动,以便从 Orchestrator 检索 Azure AI 搜索 API 密钥。
- 添加“HTTP 请求”活动并进行如下配置:
- 端点:
https://<service>.search.windows.net/indexes/<index-name>/docs/search?api-version=2023-11-01https://<service>.search.windows.net/indexes/<index-name>/docs/search?api-version=2023-11-01 - 方法:
POST - “标头”(在 Azure 中设置):使用您的 Azure AI 搜索 API 密钥变量添加
api-key标头,如下所示:api-key: <API key> - 正文:构建 JSON 正文,以使用查询文本执行向量搜索。Azure AI 搜索会自动处理向量化。
{ "vectorQueries": [ { "kind": "text", "text": "<%= in_QueryText %>", "fields": "contentVector", "k": "<%= in_TopK %>" } ], "select": "chunk, source_document" }{ "vectorQueries": [ { "kind": "text", "text": "<%= in_QueryText %>", "fields": "contentVector", "k": "<%= in_TopK %>" } ], "select": "chunk, source_document" }
- 端点:
- 将工作流发布到 Orchestrator 租户。
- 将已发布的工作流作为工具添加到您的智能体中,并为 LLM 提供清晰的描述。