Type something to search...
解锁 AI 代理的力量:使用 Google 的 Gen AI 工具箱与 Neo4j 知识图谱的 5 大关键优势

解锁 AI 代理的力量:使用 Google 的 Gen AI 工具箱与 Neo4j 知识图谱的 5 大关键优势

Neo4j 和 Google 的 GenAI Toolbox

上个月,Google 宣布了 Gen AI Toolbox for Databases公开 Beta 版发布。今天,我们很高兴地宣布 Toolbox 对 Neo4j(一个图数据库管理系统)的支持。Neo4j 一直是 Toolbox 支持和开发的关键合作伙伴。他们的加入使使用 Neo4j 的开发人员和组织能够创建使用流行的 GraphRAG 技术访问其数据的代理工具,从而扩大了 Toolbox 在 Gen AI 应用中的实用性。

Neo4j — 图数据库管理系统

Neo4j 是领先的开源图数据库 — 它不是将信息作为表格管理,而是将其作为实体(节点)及其之间的关系管理,从而实现对连接信息的灵活而强大的表示。图为许多领域增加了独特的功能,如生物医学、供应链、制造、欺诈检测和运输物流。知识图谱,您可以将其视为您组织的数字孪生(人员、流程、产品、合作伙伴等),是 LLM 语言技能的绝佳“事实记忆”伴侣。GraphRAG 的使用提高了 GenAI 应用程序的准确性、可靠性和可解释性。

Gen AI Toolbox

在创建访问数据库的工具时,开发人员在构建生产环境中的 AI 代理时会很快遇到许多挑战:身份验证、授权、清理、连接池等等。这些挑战可能会成为一种负担,减慢开发速度,并在反复实现相同的样板代码时留下出错的空间。

进入 Gen AI Toolbox — 这是一个开源服务器,可以帮助您更轻松、更快速、更安全地开发工具。Toolbox 位于您的应用程序和数据库之间 — 处理诸如连接池、身份验证等复杂问题。Toolbox 使您可以在集中位置定义工具,并以少于 3 行代码的方式与您的代理集成:

from toolbox_langchain import ToolboxClient

## update the url to point to your server
client = ToolboxClient("http://127.0.0.1:5000")

## these tools can be passed to your agent!
tools = await client.aload_toolset()

Toolbox 确实是开源的:作为发布的一部分,Google Cloud 与其他数据库供应商(如 Neo4j)合作,为大量开源和专有数据库构建支持:

使用 Toolbox 访问 Neo4j

在您安装了 Toolbox 服务器之后,您就可以配置您的 tools.yaml了。要创建一个查询 Neo4j 的工具,您需要配置 2 件事:

一个 Neo4j source,它定义了如何连接到您的 Neo4j 实例并对其进行身份验证。这是我们示例的 Neo4j source:

sources:
    companies-graph:
        kind: "neo4j"
        uri: "neo4j+s://demo.neo4jlabs.com"
        user: "companies"
        password: "companies"
        database: "companies"

定义了 source 之后,就可以定义工具了。neo4j-cypher tool 定义了当您的代理调用该工具时应运行的 cypher 查询。工具可以执行您可以用 cypher 语句表达的任何操作 — 包括读取或写入!为了与代理设置一起使用,详细描述工具、参数和结果非常重要,以便 LLM 可以推理其适用性。

这是我们示例的工具配置的一部分,包括 source、statement、description 和 parameters:

tools:
  articles_in_month:
    kind: neo4j-cypher
    source: companies-graph
    statement: |
      MATCH (a:Article)
      WHERE date($date) <= date(a.date) < date($date) + duration('P1M')
      RETURN a.id as article_id, a.author as author, a.title as title, toString(a.date) as date, a.sentiment as sentiment
      LIMIT 25
    description: List of Articles (article_id, author, title, date, sentiment) in a month timeframe from the given date
    parameters:
      - name: date
        type: string
        description: Start date in yyyy-mm-dd format
  companies_in_articles:
    kind: neo4j-cypher
    source: companies-graph
    statement: |
      MATCH (a:Article)-[:MENTIONS]->(c)
      WHERE a.id = $article_id AND not exists { (c)<-[:HAS_SUBSIDARY]-() }
      RETURN c.id as company_id, c.name as name, c.summary as summary
    description: Companies (company_id, name, summary) mentioned in articles by article id
    parameters:
      - name: article_id
        type: string
        description: Article id to find companies mentioned in

投资研究代理

这是一个代理 LangChain 应用程序的演示,它使用结合全文和图搜索的 GraphRAG 模式的工具。

该示例代表一个投资研究代理,可用于查找有关公司、其投资者、竞争对手、合作伙伴和行业的最新新闻。它由从导入到 Neo4j 的 diffbot 知识图谱中的数据提供支持。它通过一组基本实体之间的关系来捕捉该领域的复杂性。

该示例的代码可以在此存储库中找到:

[## neo4j-gcp-vertex-ai-langchain/toolbox-companies at main ·…

Neo4j 扩展和与 Vertex AI 和 LangChain 的集成 - neo4j-gcp-vertex-ai-langchain/toolbox-companies at…

github.com](https://github.com/neo4j-examples/neo4j-gcp-vertex-ai-langchain/tree/main/toolbox-companies)

探索公共图数据集

该数据集是一个关于公司、相关行业、在这些公司工作或投资的人员以及报道这些公司的文章的图。

新闻文章被分块,这些块也存储在图中。

该数据库可供公众使用,有一个只读用户,您可以在以下 URL 探索数据:https://demo.neo4jlabs.com:7473/browser/

  • URI:neo4j+s://demo.neo4jlabs.com
  • 用户:companies
  • 密码:companies
  • 公司:companies

在我们的配置中,我们提供了使用全文索引以及图检索查询的工具,这些查询提取以下附加信息:

  • Chunk 的父文章(聚合单个文章的所有块)
  • 提及的组织
  • 该组织的行业类别
  • 与该组织相关联的人及其角色(例如,投资者、董事长、首席执行官)

我们利用了代理 LangChain 与 Vertex AI 的集成,这使我们能够将我们使用 Toolbox 注册的工具自动传递给 LLM 进行工具调用。我们将同时使用混合搜索和 GraphRAG 检索器。

将我们的代理连接到 Toolbox

我们现在可以将 LangChain 与 Vertex AI Gemini 2.0 Flash 模型一起使用,并将我们的工具定义提供给该模型并进行快速测试。我们可以按照工具箱文档中的 快速入门示例

import asyncio
import os

from langgraph.prebuilt import create_react_agent
from langchain_google_vertexai import ChatVertexAI
from langgraph.checkpoint.memory import MemorySaver
from toolbox_langchain import ToolboxClient
prompt = """
  You're a helpful investment research assistant.
  You can use the provided tools to search for companies,
  people at companies, industries, and news articles from 2023.
  Don't ask for confirmations from the user.
  User:
"""
queries = [
    "What industries deal with computer manufacturing?",
    "List 5 companies in the computer manufacturing industry with their description.",
]
def main():
    model = ChatVertexAI(model_name="gemini-1.5-pro")
    client = ToolboxClient("http://127.0.0.1:5000")
    tools = client.load_toolset()
    agent = create_react_agent(model, tools, checkpointer=MemorySaver())
    config = {"configurable": {"thread_id": "thread-1"}}
    for query in queries:
        inputs = {"messages": [("user", prompt + query)]}
        response = agent.invoke(inputs, stream_mode="values", config=config)
        print(response["messages"][-1].content)
main()
The industries that deal with computer manufacturing are: Computer Hardware Companies, Electronic Products Manufacturers, and Computer Storage Companies.
Here are 5 companies in the computer hardware industry along with their descriptions:
1.  **Microsoft Egypt:** Microsoft branch in Egypt
2.  **Apigee:** Software company based in San Jose, California, United States and owned by Google
3.  **Microsemi:** Communications corporation
4.  **Intermec:** American electronics manufacturing company
5.  **Elitegroup Computer Systems:** No summary available

示例对话

为代理提供检查数据不同方面的工具,使它能够回答甚至复杂和后续的问题,正如我们在下面的示例中所示。

哪些公司在 2023 年 1 月的新闻中被提及,并且情绪积极?

这个问题需要调用多个工具并进行适当的参数转换。我们给出了一个部分日期 2023 年 1 月,该日期必须转换为工具调用的 yyyy-mm-dd 格式。代理必须理解“良好情绪”是指数值分数,并且它需要对文章结果进行后过滤。然后,这些结果必须单独提供给 companies_in_article 工具,以检索公司。

以下是 2023 年 1 月情绪积极的文章,以及它们提到的公司:

Mozilla 的 Pocket App 刚刚获得重大更新 (0.838, 0.83): Mozilla

Onapsis 宣布与 Wipro 合作,将安全问题从数字化转型障碍中移除 (0.804, 0.735): Onapsis, Wipro, SAP

….

谁在那里担任董事会成员?

在这里,我们使用“那里”指回了上一个答案中的公司,并且仅模糊地指定了 API 调用选择的角色要求。代理需要多次调用 people_at_company 端点,使用先前在代理内存中检索到的公司的 ID,然后将信息聚合并过滤到响应中。

我无法检索所有公司的董事会成员。以下是我找到的信息:

Wipro:

  • Azim Premji (BOARD_MEMBER)
  • Rishad Premji (BOARD_MEMBER)

SAP:

  • Hasso Plattner (BOARD_MEMBER)
  • Jennifer Morgan (BOARD_MEMBER) …

后续步骤

在本文中,我们演示了如何构建基于代理的应用程序,该应用程序可以轻松地将基于数据库的工具与 Google 的 Gen AI Toolbox 集成。虽然我们专注于 Neo4j 中知识图谱的 GraphRAG 用例,但您可以在同一个基于代理的应用程序中组合不同的数据源和数据库类型。

如果您有兴趣使用 Toolbox 和 Neo4j 进行更多探索,我们建议您查看以下资源:

由于 Toolbox 与不同的代理框架集成,您可以定义一次工具,并在多个用例中重复使用它们。Neo4j 发现很容易为 Toolbox 做出贡献,我们希望您能利用 反馈和讨论机制 来添加您自己的数据源并提供反馈和改进。

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...