LightRAG integration with Memgraph
Project description
🔗 lightrag-memgraph
lightrag-memgraph is an integration that connects lightrag and memgraph. The library began as a small wrapper designed to specifically configure Memgraph within a pipeline that processes unstructured data (various texts) and transforms it into an ontology/entity schema graph. In other words, it enables you to extract and enhance entities from unstructured documents, storing them in a graph for powerful querying and analysis. Ideal for building knowledge graphs, improving data discovery, and leveraging advanced AI techniques on top of your domain data.
General Notes
- Entity/relationship extraction is high-quality, but also high-cost and relatively slow.
- The goal over time is to expose time and cost metrics (e.g., $ per your specific document page or chunk).
Quick start
Prerequisites: Memgraph running
*(default bolt://localhost:7687), and an LLM API key (e.g. OPENAI_API_KEY or
*ANTHROPIC_API_KEY).
Install:
pip install lightrag-memgraph
Minimal example (async): create the wrapper, initialize with a working *directory, insert text, then finalize.
import asyncio
from lightrag_memgraph import MemgraphLightRAGWrapper
async def main():
wrapper = MemgraphLightRAGWrapper(disable_embeddings=True)
await wrapper.initialize(working_dir="./lightrag_storage")
await wrapper.ainsert(input="Your document text here.", file_paths=["doc1"])
# optional: rag = wrapper.get_lightrag(); print(await rag.get_graph_labels())
await wrapper.afinalize()
asyncio.run(main())
See example.py in this repo for a full run with sample texts and graph output.
Using Anthropic (Claude) as the LLM
LightRAG supports Claude via the lightrag.llm.anthropic module. Set your API
key and pass the LLM function and model name when initializing the wrapper. The
list of Anthropic models is available under
https://platform.claude.com/docs/en/about-claude/models.
-
Set the API key (required for Claude):
export ANTHROPIC_API_KEY="your-anthropic-api-key"
-
Use Anthropic in code by passing
llm_model_funcandllm_model_nametoinitialize():from lightrag.llm.anthropic import anthropic_complete from lightrag_memgraph import MemgraphLightRAGWrapper wrapper = MemgraphLightRAGWrapper(disable_embeddings=True) # or set embedding_func await wrapper.initialize( working_dir="./lightrag_storage", llm_model_func=anthropic_complete, llm_model_name="claude-3-5-sonnet-20241022", # or claude-3-haiku-20240307, etc. )
Preset functions are also available:
claude_3_opus_complete,claude_3_sonnet_complete,claude_3_haiku_complete(fixed older model IDs). For current models, useanthropic_completewith the desiredllm_model_name. -
Embeddings: Anthropic does not provide embeddings. Either use
disable_embeddings=True(as above), or setembedding_functo another provider (e.g.openai_embedfromlightrag.llm.openaiwithOPENAI_API_KEY, or Voyage AI vialightrag.llm.anthropic.anthropic_embedwithVOYAGE_API_KEY).
Using OpenAI as the LLM
Set your API key and optionally choose a model.
-
Set the API key:
export OPENAI_API_KEY="your-openai-api-key"
-
Use a specific OpenAI model by passing
llm_model_funcand optionallyllm_model_name:from lightrag.llm.openai import gpt_4o_mini_complete, openai_embed from lightrag_memgraph import MemgraphLightRAGWrapper wrapper = MemgraphLightRAGWrapper() await wrapper.initialize( working_dir="./lightrag_storage", llm_model_func=gpt_4o_mini_complete, embedding_func=openai_embed, )
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 lightrag_memgraph-0.1.4.tar.gz.
File metadata
- Download URL: lightrag_memgraph-0.1.4.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e92c24fe6bc8ef97235aa8c8fa1e581a2d7bd85918d9380f740cde94d6ab808
|
|
| MD5 |
1643ed7de750481f2cde07c342e16b44
|
|
| BLAKE2b-256 |
c050d91160e30a53a9b3a7f30001f8af563f8ced459e2be0d912daf3be55b3a1
|
File details
Details for the file lightrag_memgraph-0.1.4-py3-none-any.whl.
File metadata
- Download URL: lightrag_memgraph-0.1.4-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a89f77f536ca7070f5e0bd5b6bb882c8a0ff8c624e5b344f63884a5c03fc8eaf
|
|
| MD5 |
9e47fd6cfb231e94bd388c934646ad40
|
|
| BLAKE2b-256 |
f88f7f164a78c0fa2ced78cd5ae77e8960b121f96667470d7f0f3f8cc7e8547c
|