Merge branch 'dev' into llama-index-notebook

This commit is contained in:
Igor Ilic 2025-01-13 12:02:44 +01:00 committed by GitHub
commit b317c1e23d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 810 additions and 218 deletions

View file

@ -101,15 +101,9 @@ cognee.config.set_graphistry_config({
}) })
``` ```
(Optional) To run the UI, go to cognee-frontend directory and run: (Optional) To run the with an UI, go to cognee-mcp directory and follow the instructions.
``` You will be able to use cognee as mcp tool and create graphs and query them.
npm run dev
```
or run everything in a docker container:
```
docker-compose up
```
Then navigate to localhost:3000
If you want to use Cognee with PostgreSQL, make sure to set the following values in the .env file: If you want to use Cognee with PostgreSQL, make sure to set the following values in the .env file:
``` ```

View file

@ -3,10 +3,10 @@ name = "cognee-mcp"
version = "0.1.0" version = "0.1.0"
description = "A MCP server project" description = "A MCP server project"
readme = "README.md" readme = "README.md"
requires-python = ">=3.11" requires-python = ">=3.10"
dependencies = [ dependencies = [
"mcp>=1.1.1", "mcp>=1.1.1",
"openai==1.52.0", "openai==1.59.4",
"pydantic==2.8.2", "pydantic==2.8.2",
"python-dotenv==1.0.1", "python-dotenv==1.0.1",
"fastapi>=0.109.2,<0.110.0", "fastapi>=0.109.2,<0.110.0",
@ -21,18 +21,18 @@ dependencies = [
"boto3>=1.26.125,<2.0.0", "boto3>=1.26.125,<2.0.0",
"botocore>=1.35.54,<2.0.0", "botocore>=1.35.54,<2.0.0",
"gunicorn>=20.1.0,<21.0.0", "gunicorn>=20.1.0,<21.0.0",
"sqlalchemy==2.0.35", "sqlalchemy==2.0.36",
"instructor==1.5.2", "instructor==1.7.2",
"networkx>=3.2.1,<4.0.0", "networkx>=3.2.1,<4.0.0",
"aiosqlite>=0.20.0,<0.21.0", "aiosqlite>=0.20.0,<0.21.0",
"pandas==2.0.3", "pandas==2.2.3",
"filetype>=1.2.0,<2.0.0", "filetype>=1.2.0,<2.0.0",
"nltk>=3.8.1,<4.0.0", "nltk>=3.8.1,<4.0.0",
"dlt[sqlalchemy]>=1.4.1,<2.0.0", "dlt[sqlalchemy]>=1.4.1,<2.0.0",
"aiofiles>=23.2.1,<24.0.0", "aiofiles>=23.2.1,<24.0.0",
"qdrant-client>=1.9.0,<2.0.0", # Optional "qdrant-client>=1.9.0,<2.0.0", # Optional
"graphistry>=0.33.5,<0.34.0", "graphistry>=0.33.5,<0.34.0",
"tenacity>=8.4.1,<9.0.0", "tenacity>=9.0.0",
"weaviate-client==4.6.7", # Optional "weaviate-client==4.6.7", # Optional
"scikit-learn>=1.5.0,<2.0.0", "scikit-learn>=1.5.0,<2.0.0",
"pypdf>=4.1.0,<5.0.0", "pypdf>=4.1.0,<5.0.0",
@ -44,8 +44,8 @@ dependencies = [
"langsmith==0.1.139", # Optional "langsmith==0.1.139", # Optional
"langdetect==1.0.9", "langdetect==1.0.9",
"posthog>=3.5.0,<4.0.0", # Optional "posthog>=3.5.0,<4.0.0", # Optional
"lancedb==0.15.0", "lancedb==0.16.0",
"litellm==1.49.1", "litellm==1.57.2",
"groq==0.8.0", # Optional "groq==0.8.0", # Optional
"langfuse>=2.32.0,<3.0.0", # Optional "langfuse>=2.32.0,<3.0.0", # Optional
"pydantic-settings>=2.2.1,<3.0.0", "pydantic-settings>=2.2.1,<3.0.0",
@ -56,7 +56,7 @@ dependencies = [
"asyncpg==0.30.0", # Optional "asyncpg==0.30.0", # Optional
"pgvector>=0.3.5,<0.4.0", # Optional "pgvector>=0.3.5,<0.4.0", # Optional
"psycopg2>=2.9.10,<3.0.0", # Optional "psycopg2>=2.9.10,<3.0.0", # Optional
"llama-index-core>=0.11.22,<0.12.0", # Optional "llama-index-core>=0.12.0", # Optional
"deepeval>=2.0.1,<3.0.0", # Optional "deepeval>=2.0.1,<3.0.0", # Optional
"transformers>=4.46.3,<5.0.0", "transformers>=4.46.3,<5.0.0",
"pymilvus>=2.5.0,<3.0.0", # Optional "pymilvus>=2.5.0,<3.0.0", # Optional

966
cognee-mcp/uv.lock generated

File diff suppressed because it is too large Load diff

View file

@ -468,16 +468,20 @@ def graph_to_tuple(graph):
def setup_logging(log_level=logging.INFO): def setup_logging(log_level=logging.INFO):
"""This method sets up the logging configuration.""" """Sets up the logging configuration."""
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s\n") formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s\n")
stream_handler = logging.StreamHandler(sys.stdout) stream_handler = logging.StreamHandler(sys.stdout)
stream_handler.setFormatter(formatter) stream_handler.setFormatter(formatter)
stream_handler.setLevel(log_level) stream_handler.setLevel(log_level)
logging.basicConfig( root_logger = logging.getLogger()
level=log_level,
handlers=[stream_handler], if root_logger.hasHandlers():
) root_logger.handlers.clear()
root_logger.addHandler(stream_handler)
root_logger.setLevel(log_level)
# ---------------- Example Usage ---------------- # ---------------- Example Usage ----------------

View file

@ -192,7 +192,7 @@ async def main(enable_steps):
if __name__ == "__main__": if __name__ == "__main__":
setup_logging(logging.INFO) setup_logging(logging.ERROR)
rebuild_kg = True rebuild_kg = True
retrieve = True retrieve = True

13
poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. # This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand.
[[package]] [[package]]
name = "aiofiles" name = "aiofiles"
@ -1060,6 +1060,7 @@ files = [
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"}, {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"},
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"}, {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"},
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"}, {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"},
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:60eb32934076fa07e4316b7b2742fa52cbb190b42c2df2863dbc4230a0a9b385"},
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"}, {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"},
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"}, {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"},
{file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"}, {file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"},
@ -1070,6 +1071,7 @@ files = [
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"}, {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"},
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"}, {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"},
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"}, {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"},
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9abcc2e083cbe8dde89124a47e5e53ec38751f0d7dfd36801008f316a127d7ba"},
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"}, {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"},
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"}, {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"},
{file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"}, {file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"},
@ -2917,8 +2919,6 @@ optional = false
python-versions = "*" python-versions = "*"
files = [ files = [
{file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"}, {file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"},
{file = "jsonpath_ng-1.7.0-py2-none-any.whl", hash = "sha256:898c93fc173f0c336784a3fa63d7434297544b7198124a68f9a3ef9597b0ae6e"},
{file = "jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6"},
] ]
[package.dependencies] [package.dependencies]
@ -4988,8 +4988,8 @@ files = [
[package.dependencies] [package.dependencies]
numpy = [ numpy = [
{version = ">=1.22.4", markers = "python_version < \"3.11\""}, {version = ">=1.22.4", markers = "python_version < \"3.11\""},
{version = ">=1.23.2", markers = "python_version == \"3.11\""},
{version = ">=1.26.0", markers = "python_version >= \"3.12\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
{version = ">=1.23.2", markers = "python_version == \"3.11\""},
] ]
python-dateutil = ">=2.8.2" python-dateutil = ">=2.8.2"
pytz = ">=2020.1" pytz = ">=2020.1"
@ -5904,8 +5904,8 @@ astroid = ">=3.3.8,<=3.4.0-dev0"
colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
dill = [ dill = [
{version = ">=0.2", markers = "python_version < \"3.11\""}, {version = ">=0.2", markers = "python_version < \"3.11\""},
{version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
{version = ">=0.3.7", markers = "python_version >= \"3.12\""}, {version = ">=0.3.7", markers = "python_version >= \"3.12\""},
{version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
] ]
isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" isort = ">=4.2.5,<5.13.0 || >5.13.0,<6"
mccabe = ">=0.6,<0.8" mccabe = ">=0.6,<0.8"
@ -8762,7 +8762,6 @@ falkordb = ["falkordb"]
filesystem = ["botocore"] filesystem = ["botocore"]
groq = ["groq"] groq = ["groq"]
langchain = ["langchain_text_splitters", "langsmith"] langchain = ["langchain_text_splitters", "langsmith"]
langfuse = ["langfuse"]
llama-index = ["llama-index-core"] llama-index = ["llama-index-core"]
milvus = ["pymilvus"] milvus = ["pymilvus"]
neo4j = ["neo4j"] neo4j = ["neo4j"]
@ -8775,4 +8774,4 @@ weaviate = ["weaviate-client"]
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = ">=3.10.0,<3.13" python-versions = ">=3.10.0,<3.13"
content-hash = "6c1a7d6284b7cd7ce47110149f9796fc8d91efe7bef496edd92a706f2319b3d5" content-hash = "1ed3780936dd2a6f79fe11072f8d2cefec848fb27092b8bc523c7bbfd936b18e"

View file

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "cognee" name = "cognee"
version = "0.1.20" version = "0.1.21"
description = "Cognee - is a library for enriching LLM context with a semantic layer for better understanding and reasoning." description = "Cognee - is a library for enriching LLM context with a semantic layer for better understanding and reasoning."
authors = ["Vasilije Markovic", "Boris Arzentar"] authors = ["Vasilije Markovic", "Boris Arzentar"]
readme = "README.md" readme = "README.md"
@ -95,7 +95,6 @@ deepeval = ["deepeval"]
posthog = ["posthog"] posthog = ["posthog"]
falkordb = ["falkordb"] falkordb = ["falkordb"]
groq = ["groq"] groq = ["groq"]
langfuse = ["langfuse"]
milvus = ["pymilvus"] milvus = ["pymilvus"]
docs = ["unstructured"] docs = ["unstructured"]