利用GraphQL减少AI幻觉并保护隐私

F5生态系统 | 2023年11月09日

生成式AI为运维和开发带来了诸多机遇,但对于尝试将其融入安全解决方案的人员而言,也带来了许多挑战。

其中一项挑战是,如何通过大型语言模型(LLM)从不得与任何第三方AI服务共享的敏感内容中获取洞察,例如用于保护应用和API免受欺诈和滥用的安全策略。

LLM面临的第二个挑战是容易产生幻觉,尤其是在被要求分析或生成与其了解较少的主题相关的内容时。以下情况经常出现这一问题:DEX等领域特定语言。DEX是一种纯函数式、静态类型且非图灵完备的语言。虽然定义明确,但应用并不广泛。

第一个挑战是数据隐私,乍看之下似乎难以克服。安全公司必须高度重视所有客户数据(包括策略)的隐私和安全。因此,尽管使用大语言模型(LLM)帮助挖掘策略中的洞察有助于改善运营实践并惠及客户,但仍需要一种解决方案,既能从敏感数据中获取洞察,又无需与第三方LLM共享这些数据,从而使其无法处理这些数据。第二个挑战是幻觉,这是目前整个行业都在努力克服的问题,尤其是在回答与策略、配置和代码相关的问题时。

人类会将程序视为一串字符,而编译器的视角则有所不同。对于编译器而言,DEX程序是一种称为抽象语法树(AST)的数据结构。这棵树是一个有向无环图,这意味着相关策略非常适合用图来表示。因此,我们找到的解决方案利用图数据库(Neo4j),并使用GPT智能体生成针对该数据库的GraphQL查询。这种方法有效解决了第一个挑战,因为我们可以使用GraphQL查询包含相关数据的图数据库,同时避免向第三方LLM披露这些数据,从而保护数据隐私。

第二项挑战是幻觉问题,解决起来更为困难,但我们的方法同样适用,可利用多种AI技术来降低相关风险。此外,GraphQL是一种应用广泛、文档完善的查询语言,大多数GPT模型都熟悉它,并且可以使用多种工具轻松验证其语法。这有助于降低出现幻觉的可能性,并可在使用前验证其正确性。

什么是AI幻觉?

AI幻觉是指生成式AI生成的输出并非基于实际数据或模式,而是虚构或失真的内容。这类幻觉通常源于AI训练数据的局限性或偏差,也可能发生在AI尝试针对从未遇到过的情况生成输出时。幻觉可能表现为虚构或无意义的内容,也可能是逻辑不通或与输入数据不符的结论。例如,文本生成AI可能会生成看似合理,但实际上毫无意义或与所提供上下文无关的句子。

什么是GraphQL?

GraphQL是一种用于API(应用程序编程接口)的开源查询语言,也是一种服务器端运行时,可使用为数据定义的类型系统执行这些查询。它由Meta(Facebook)开发,旨在提供一种比传统RESTful API更高效、功能更强大且更灵活的替代方案。GraphQL API由架构定义,该架构指定可查询或变更的数据类型。这种强类型机制有助于改进工具支持、内省和验证。

我们的方法

我们采用GPT智能体,将生成式AI安全地融入安全领域。虽然使用文档完善的语言有助于降低产生幻觉的风险,但我们还需要找到一种方法,将智能体的输出空间限制为可通过程序检查错误的格式,同时不向OpenAI发送任何敏感数据。GraphQL非常适合作为输出空间,因为它既有足够的表达能力来回答大多数问题,又是一种抽象形式,可通过程序依据已知架构进行检查。

虽然我们已将这种方法应用于DEX,但它也适用于任何具有充分互联性和关联性的数据集,例如社交网络、网络和基础设施拓扑、供应链以及地理空间(地图)数据。

PC图架构

PC-graph架构由多个组件组成,用于将DEX转换为图表示形式。生成的图数据随后存储在Neo4j数据库中。GPT代理的输出可通过API提交至GraphQL Apollo服务器,由该服务器对图数据库执行查询。

我们的代理使用GPT4响应以自然语言提出的请求,提供有关以DEX编写的策略的信息。该代理通过理解pc-graph API,生成适当的查询或变更,供用户审核和执行。

除了pc-graph API之外,我们的智能体还了解所使用的库以及DEX语言的一些概念。运行时会精心选择这些信息并将其纳入上下文,以提供更理想的结果。

由此带来的一项挑战是,智能体需要较大的上下文窗口,才能容纳架构的相关部分以及补充材料,例如neo4j-graphQL文档,其中包含该库生成的其他类型、查询和变更。使用GPT4-8k时,上下文空间不足,无法进行充分的上下文学习。32k上下文可以获得可接受的结果,但也会产生额外成本。例如,每次向OpenAI发送请求时,都必须附带GraphQL SDL(架构定义语言)。如果可以使用我们的架构对GPT4对话模型进行微调,就无需将架构纳入上下文,也就不会出现这一问题。但OpenAI目前尚不支持此功能。

我们发现,有三种AI方法可以改善GPT4的输出结果:

  1. 思维链
    • 思维链(CoT)是一种模拟人类思维过程的AI概念,使系统能够按照逻辑顺序处理想法或概念,类似于人类以链式方式串联思路。这有助于自然语言理解、推理和上下文理解。将这项技术应用于先进模型GPT-4时,可取得良好效果。
  2. 反思型AI
    • 反思型AI,也称自我感知AI或具备反思能力的AI,是指能够进行自省,并对自身行为和流程作出决策的人工智能系统。这类AI具备更高程度的自我感知和自我评估能力,超越了传统机器学习和基本决策能力。Reflexion:一种采用语言强化学习的语言智能体框架,“以语言形式反思任务反馈信号,然后将自身的反思文本保存在情景记忆缓冲区中,以便在后续尝试中作出更好的决策。”
  3. 与自身对话

最后,我们使用可对GraphQL查询执行静态语法错误检查的工具,以发现任何可能未被初步缓解措施拦截的幻觉内容。

GPT智能体示意图

该设计通过在同一提示中先生成三个可能的答案得到进一步改进。这不仅能减少处理给定提示所需的时间和成本,还能提高一致性,因为答案中更有可能出现正确的内容。同时,这种做法也为随机变化留出了空间,以便探索可能性较低但准确的选项。

通过这种方法,我们无需共享私有数据即可从策略中获取洞察。查询结果的质量和一致性也得到显著提升,幻觉现象明显减少,尤其是在构建包含多个筛选条件和聚合函数的大型或复杂查询时。

从某种意义上说,我们可以兼得两者;当必须在创造型智能体和确定型智能体之间做出选择时,我们会同时采用两者。

分享

相关博客文章

SOAS 2025:目标不一致,结果难出色
F5生态系统 | 2025/05/13

SOAS 2025:目标不一致,结果难出色

AI部署缺乏协调会导致效率低下。了解如何协调安全、自动化和部署策略,充分释放AI潜力。

AI应用的应用交付与安全:驾驭现代AI架构
F5生态系统 | 2024/08/22

AI应用的应用交付与安全:驾驭现代AI架构

了解生成式AI应用和API安全如何塑造现代应用交付与安全。

借助多云网络简化超级云
F5生态系统 | 2023/09/13

借助多云网络简化超级云

超级云不只是一个流行词。它代表着一种简化愿景,以多云网络为起点,支持跨云提供商的混合IT。

2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素
F5生态系统 | 2023/03/15

2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素

多云网络解决方案可在核心、云和边缘环境之间实现无缝、安全的互联,为解决当今混合IT面临的挑战提供支持,因而备受业界关注。

运营演进的必要性
F5生态系统 | 2022/01/11

运营演进的必要性

在数字化成为默认模式的世界中,运维仍然过度依赖人工方式,需要不断演进,才能支持自适应应用。这一演进要求整个IT体系进行重大变革,并具备由AI赋能的自适应能力,以保持可用性、优化性能并保障安全。

多云并非简单使用多个云:让跨云衔接更轻松
F5生态系统 | 2021/10/07

多云并非简单使用多个云:让跨云衔接更轻松

随着企业转向互联云战略,工作负载的管理和保护变得日益复杂。了解F5如何满足市场对多云网络新方法的需求。