llama-index graph rag cognee integration
Project description
LlamaIndex Graph Rag Integration: Cognee
Cognee assists developers in introducing greater predictability and management into their Retrieval-Augmented Generation (RAG) workflows through the use of graph architectures, vector stores, and auto-optimizing pipelines. Displaying information as a graph is the clearest way to grasp the content of your documents. Crucially, graphs allow systematic navigation and extraction of data from documents based on their hierarchy.
For more information, visit Cognee documentation
Installation
pip install llama-index-graph-rag-cognee
Usage
import os
import pandas as pd
import asyncio
from llama_index.core import Document
from llama_index.graph_rag.cognee import CogneeGraphRAG
async def example_graph_rag_cognee():
# Gather documents to add to GraphRAG
news = pd.read_csv(
"https://raw.githubusercontent.com/tomasonjo/blog-datasets/main/news_articles.csv"
)[:5]
news.head()
documents = [
Document(text=f"{row['title']}: {row['text']}")
for i, row in news.iterrows()
]
# Instantiate cognee GraphRAG
cogneeRAG = CogneeGraphRAG(
llm_api_key=os.environ["OPENAI_API_KEY"],
llm_provider="openai",
llm_model="gpt-4o-mini",
graph_db_provider="networkx",
vector_db_provider="lancedb",
relational_db_provider="sqlite",
relational_db_name="cognee_db",
)
# Add data to cognee
await cogneeRAG.add(documents, "test")
# Process data into a knowledge graph
await cogneeRAG.process_data("test")
# Answer prompt based on knowledge graph
search_results = await cogneeRAG.search(
"Tell me who are the people mentioned?"
)
print("\n\nAnswer based on knowledge graph:\n")
for result in search_results:
print(f"{result}\n")
# Answer prompt based on RAG
search_results = await cogneeRAG.rag_search(
"Tell me who are the people mentioned?"
)
print("\n\nAnswer based on RAG:\n")
for result in search_results:
print(f"{result}\n")
# Search for related nodes in graph
search_results = await cogneeRAG.get_related_nodes("person")
print("\n\nRelated nodes are:\n")
for result in search_results:
print(f"{result}\n")
if __name__ == "__main__":
asyncio.run(example_graph_rag_cognee())
Supported databases
Relational databases: SQLite, PostgreSQL
Vector databases: LanceDB, PGVector, QDrant, Weviate
Graph databases: Neo4j, NetworkX
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_index_graph_rag_cognee-0.1.2.tar.gz.
File metadata
- Download URL: llama_index_graph_rag_cognee-0.1.2.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e65e27bc5a925e9ea7f02656ebfbd88a73f32d79fa2f33c8bb5e07054b1ea0f
|
|
| MD5 |
c1080a9658ffc7cf17b963ca965842a4
|
|
| BLAKE2b-256 |
c5db36ae7ec3a48de84744ea3fc282510ddd77ae8b2b145fb152f4e1687c9982
|
File details
Details for the file llama_index_graph_rag_cognee-0.1.2-py3-none-any.whl.
File metadata
- Download URL: llama_index_graph_rag_cognee-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bac9dbb11979b6c41dfa5543fe44a7898862f10a3ee5195a8bda06b21226db92
|
|
| MD5 |
a76d26946fcd229d89c1e4c1d520b4a6
|
|
| BLAKE2b-256 |
48bd89b4fdc106e6131f177a76fd6e154ca9d33eb3c48911c2aa51cb799a4926
|