The LangChain-Kùzu integration package, now available on PyPI, seamlessly connects LangChain's capabilities with Kùzu's graph database. This powerful combination simplifies the transformation of unstructured text into structured graphs, benefiting data scientists, developers, and AI enthusiasts alike. Let's explore its key features and functionalities.
Key Learning Points
This tutorial will cover:
- Transforming unstructured text into structured graph databases using LangChain-Kùzu.
- Defining custom graph schemas (nodes and relationships) to match your data.
- Creating, updating, and querying graphs using Kùzu and LangChain's LLM tools.
- Employing natural language querying of graph databases via LangChain's GraphQAChain.
- Utilizing advanced features such as dynamic schema updates, custom LLM pairings, and flexible data import options within Kùzu.
This article is part of the Data Science Blogathon.
Table of Contents:
- Quick Kùzu Installation
- Advantages of LangChain-Kùzu
- Getting Started: A Practical Example
- Advanced Feature Exploration
- Getting Started (Revisited)
- Conclusion
- Frequently Asked Questions
Quick Kùzu Installation
Install the package on Google Colab using:
pip install -U langchain-kuzu langchain-openai langchain-experimental
This includes LangChain, Kùzu, and OpenAI GPT model support. Other LLMs can be integrated via their respective LangChain-compatible packages.
Why Choose LangChain-Kùzu?
Ideal for working with unstructured text and creating graph representations, this package offers:
- Flexible Schemas: Easily define and extract entities and relationships.
- Text-to-Graph Conversion: Structure meaningful graphs from raw text using LLMs.
- Natural Language Queries: Query graphs intuitively with LangChain's GraphQAChain.
- Streamlined Integration: Connect LangChain's LLMs with Kùzu for efficient workflows.
Let's illustrate this with a practical example.
Creating a Graph from Text
First, create a local Kùzu database and establish a connection:
import kuzu db = kuzu.Database("test_db") conn = kuzu.Connection(db)
Getting Started with LangChain-Kùzu
LangChain-Kùzu simplifies graph creation and updating from unstructured text, and querying via a Text2Cypher pipeline using LangChain's LLM chains. Begin by creating a KuzuGraph
object:
from langchain_kuzu.graphs.kuzu_graph import KuzuGraph graph = KuzuGraph(db, allow_dangerous_requests=True)
Consider this sample text:
- “Tim Cook is the CEO of Apple. Apple has its headquarters in California.”
pip install -U langchain-kuzu langchain-openai langchain-experimental
Step 1: Define the Graph Schema
Specify the entities (nodes) and relationships:
import kuzu db = kuzu.Database("test_db") conn = kuzu.Connection(db)
Step 2: Transform Text into Graph Documents
Use LLMGraphTransformer
to structure the text:
from langchain_kuzu.graphs.kuzu_graph import KuzuGraph graph = KuzuGraph(db, allow_dangerous_requests=True)
Step 3: Add Graph Documents to Kùzu
Load the documents into 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"), ]
Note: Set allow_dangerous_requests=True
in KuzuGraph
if encountering errors.
Querying the Graph
Use KuzuQAChain
for natural language queries:
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)
Advanced Features
LangChain-Kùzu offers:
- Dynamic Schema Updates: Automatic schema refresh upon graph updates.
- Custom LLM Pairing: Use separate LLMs for Cypher generation and answer generation.
- Comprehensive Graph Inspection: Easily inspect nodes, relationships, and schema.
Kùzu's key features include Cypher query support, embedded architecture, and flexible data import options. Refer to the Kùzu documentation for details.
Getting Started (Revisited)
- Install
langchain-kuzu
. - Define your graph schema.
- Utilize LangChain's LLMs for graph creation and querying. See the PyPI page for more examples.
Conclusion
The LangChain-Kùzu integration streamlines unstructured data processing, enabling efficient text-to-graph transformation and natural language querying. This empowers users to derive valuable insights from graph data.
Frequently Asked Questions
Q1: How to install langchain-kuzu
? A: Use pip install langchain-kuzu
. Requires Python 3.7 .
Q2: Supported LLMs? A: OpenAI's GPT models, and others via LangChain support.
Q3: Custom schemas? A: Yes, define your nodes and relationships.
Q4: Schema not updating? A: The schema updates automatically; manually call refresh_schema()
if needed.
Q5: Separate LLMs for Cypher and answer generation? A: Yes, use cypher_llm
and qa_llm
in KuzuQAChain
.
Q6: Supported data import formats? A: CSV, JSON, and relational databases.
(Note: Images are not included as the prompt specified maintaining the original image format and location. The image placeholders remain as they were in the input.)
The above is the detailed content of Integrate. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Here are ten compelling trends reshaping the enterprise AI landscape.Rising Financial Commitment to LLMsOrganizations are significantly increasing their investments in LLMs, with 72% expecting their spending to rise this year. Currently, nearly 40% a

Investing is booming, but capital alone isn’t enough. With valuations rising and distinctiveness fading, investors in AI-focused venture funds must make a key decision: Buy, build, or partner to gain an edge? Here’s how to evaluate each option—and pr

Disclosure: My company, Tirias Research, has consulted for IBM, Nvidia, and other companies mentioned in this article.Growth driversThe surge in generative AI adoption was more dramatic than even the most optimistic projections could predict. Then, a

The gap between widespread adoption and emotional preparedness reveals something essential about how humans are engaging with their growing array of digital companions. We are entering a phase of coexistence where algorithms weave into our daily live

Those days are numbered, thanks to AI. Search traffic for businesses like travel site Kayak and edtech company Chegg is declining, partly because 60% of searches on sites like Google aren’t resulting in users clicking any links, according to one stud

Let’s talk about it. This analysis of an innovative AI breakthrough is part of my ongoing Forbes column coverage on the latest in AI, including identifying and explaining various impactful AI complexities (see the link here). Heading Toward AGI And

Let’s take a closer look at what I found most significant — and how Cisco might build upon its current efforts to further realize its ambitions.(Note: Cisco is an advisory client of my firm, Moor Insights & Strategy.)Focusing On Agentic AI And Cu

Have you ever tried to build your own Large Language Model (LLM) application? Ever wondered how people are making their own LLM application to increase their productivity? LLM applications have proven to be useful in every aspect
