整合

Lisa Kudrow
Lisa Kudrow原创
2025-03-09 12:34:13287浏览

> Langchain-kùzu集成软件包现已在PYPI上可用,无缝将Langchain的功能与Kùzu的图形数据库连接起来。这种强大的组合简化了将非结构化文本转换为结构化图,从而使数据科学家,开发人员和AI爱好者都受益。 让我们探索其关键功能和功能。

关键学习点

本教程将涵盖:

  • >使用langchain-kùzu将非结构化文本转换为结构化的图形数据库。
  • 定义自定义图表架(节点和关系)以匹配您的数据。
  • >
  • >使用Kùzu和Langchain的LLM工具创建,更新和查询图。 通过Langchain的GraphQachain使用图形数据库的自然语言查询。
  • >使用高级功能,例如动态架构更新,自定义LLM配对和灵活的数据导入选项。
>本文是数据科学博客马拉松的一部分。

> 目录的表:

QuickKùzu安装 Langchain-kùzu的优势

入门:一个实践的例子
  • 高级功能探索
  • 入门(重新访问)
  • 结论
  • 常见问题
  • Quickkùzu安装
  • >使用以下方式在Google Colab上安装软件包

这包括Langchain,Kùzu和OpenAI GPT模型支持。 其他LLM可以通过各自的兰链兼容套件进行集成。>

为什么选择langchain-kùzu?

>
pip install -U langchain-kuzu langchain-openai langchain-experimental
>非常适合使用非结构化文本和创建图表表示,此软件包提供:>

灵活的模式:很容易定义并提取实体和关系。

>文本到图形转换:

使用LLMS的原始文本结构有意义的图形。
  • 自然语言查询:与兰班的graphqachain直观地查询图。
  • >简化的集成:将langchain的llms与kùzu连接到有效的工作流程。
  • 让我们用一个实用的例子来说明这一点。
  • 从文本创建图形
  • 首先,创建一个本地的kùzu数据库并建立一个连接:>
  • >
开始使用langchain-kùzu

>

> langchain-kùzu简化了图形创建和从非结构化文本进行更新,并使用Langchain的LLM链通过Text2Cypher管道查询。 首先创建一个

>对象:

import kuzu

db = kuzu.Database("test_db")
conn = kuzu.Connection(db)
考虑此示例文本:

“蒂姆·库克(Tim Cook)是苹果的首席执行官。苹果在加利福尼亚设有总部。

KuzuGraph

pip install -U langchain-kuzu langchain-openai langchain-experimental

>步骤1:定义图架构

指定实体(节点)和关系:>

import kuzu

db = kuzu.Database("test_db")
conn = kuzu.Connection(db)
>步骤2:将文本转换为图文档

>使用

构建文本:LLMGraphTransformer

from langchain_kuzu.graphs.kuzu_graph import KuzuGraph
graph = KuzuGraph(db, allow_dangerous_requests=True)
>步骤3:将图形文档添加到kùzu

>将文档加载到kùzu:

text = "Tim Cook is the CEO of Apple. Apple has its headquarters in California."
# Define schema
allowed_nodes = ["Person", "Company", "Location"]
allowed_relationships = [
    ("Person", "IS_CEO_OF", "Company"),
    ("Company", "HAS_HEADQUARTERS_IN", "Location"),
]
注意:set

inallow_dangerous_requests=True>如果遇到错误。KuzuGraph>

查询图形

使用

自然语言查询:KuzuQAChain

from langchain_core.documents import Document
from langchain_experimental.graph_transformers import LLMGraphTransformer
from langchain_openai import ChatOpenAI

# Define the LLMGraphTransformer
llm_transformer = LLMGraphTransformer(
    llm=ChatOpenAI(model="gpt-4o-mini", temperature=0, api_key='OPENAI_API_KEY'),  # noqa: F821
    allowed_nodes=allowed_nodes,
    allowed_relationships=allowed_relationships,
)

documents = [Document(page_content=text)]
graph_documents = llm_transformer.convert_to_graph_documents(documents)

高级功能

> langchain-kùzu提供:

  • 动态架构更新:自动架构刷新图形更新。
  • 自定义LLM配对:使用单独的LLM进行Cypher生成和答案。
  • 综合图形检查:
  • >轻松检查节点,关系和模式。
  • kùzu的主要功能包括密码查询支持,嵌入式体系结构和灵活的数据导入选项。 有关详细信息,请参阅Kùzu文档。

入门(重新访问)

> install

  1. 定义图形架构。langchain-kuzu
  2. >利用Langchain的LLM进行图形创建和查询。 有关更多示例,请参见PYPI页面。
  3. >
  4. 结论

langchain-kùzu集成简化了非结构化数据处理,从而实现了有效的文本对图转换和自然语言查询。 这使用户能够从图形数据中获得有价值的见解。>

>常见问题

> Q1:如何安装

a:使用。需要python 3.7。langchain-kuzu pip install langchain-kuzu> Q2:支持的LLMS?

> Q3:自定义架构? ​​A:是的,定义您的节点和关系。>

>

Q4:架构不更新?a:架构自动更新;如果需要,手动致电

Q5:cypher和答案生成的单独的LLM? refresh_schema()> Q6:支持的数据导入格式?

a:CSV,JSON和关系数据库。

>(注意:图像不包含在指定的提示中,以维护原始图像格式和位置。图像占位符如输入所示。

以上是整合的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn