feat: Cog 2340 remove graphistry (#1080)
<!-- .github/pull_request_template.md --> ## Description <!-- Provide a clear description of the changes in this PR --> ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin. --------- Co-authored-by: Igor Ilic <igorilic03@gmail.com>
This commit is contained in:
parent
3c854b384d
commit
7af7e3834f
16 changed files with 1362 additions and 1413 deletions
4
.github/actions/cognee_setup/action.yml
vendored
4
.github/actions/cognee_setup/action.yml
vendored
|
|
@ -24,7 +24,9 @@ runs:
|
||||||
|
|
||||||
- name: Rebuild Poetry lock file
|
- name: Rebuild Poetry lock file
|
||||||
shell: bash
|
shell: bash
|
||||||
run: poetry lock
|
run: |
|
||||||
|
rm poetry.lock
|
||||||
|
poetry lock
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
10
.github/workflows/basic_tests.yml
vendored
10
.github/workflows/basic_tests.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
||||||
type: string
|
type: string
|
||||||
default: '3.11.x'
|
default: '3.11.x'
|
||||||
secrets:
|
secrets:
|
||||||
GRAPHISTRY_USERNAME:
|
|
||||||
required: true
|
|
||||||
GRAPHISTRY_PASSWORD:
|
|
||||||
required: true
|
|
||||||
LLM_PROVIDER:
|
LLM_PROVIDER:
|
||||||
required: true
|
required: true
|
||||||
LLM_MODEL:
|
LLM_MODEL:
|
||||||
|
|
@ -125,9 +121,6 @@ jobs:
|
||||||
name: Run Simple Examples
|
name: Run Simple Examples
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
env:
|
env:
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
LLM_PROVIDER: openai
|
LLM_PROVIDER: openai
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
|
|
@ -157,9 +150,6 @@ jobs:
|
||||||
name: Run Basic Graph Tests
|
name: Run Basic Graph Tests
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
env:
|
env:
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
LLM_PROVIDER: openai
|
LLM_PROVIDER: openai
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
|
|
|
||||||
4
.github/workflows/e2e_tests.yml
vendored
4
.github/workflows/e2e_tests.yml
vendored
|
|
@ -26,10 +26,6 @@ on:
|
||||||
required: true
|
required: true
|
||||||
OPENAI_API_KEY:
|
OPENAI_API_KEY:
|
||||||
required: true
|
required: true
|
||||||
GRAPHISTRY_USERNAME:
|
|
||||||
required: true
|
|
||||||
GRAPHISTRY_PASSWORD:
|
|
||||||
required: true
|
|
||||||
AWS_ACCESS_KEY_ID:
|
AWS_ACCESS_KEY_ID:
|
||||||
required: true
|
required: true
|
||||||
AWS_SECRET_ACCESS_KEY:
|
AWS_SECRET_ACCESS_KEY:
|
||||||
|
|
|
||||||
8
.github/workflows/examples_tests.yml
vendored
8
.github/workflows/examples_tests.yml
vendored
|
|
@ -20,8 +20,6 @@ jobs:
|
||||||
env:
|
env:
|
||||||
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
run: poetry run python ./examples/python/multimedia_example.py
|
run: poetry run python ./examples/python/multimedia_example.py
|
||||||
|
|
||||||
test-eval-example:
|
test-eval-example:
|
||||||
|
|
@ -51,8 +49,6 @@ jobs:
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
run: poetry run python ./cognee/eval_framework/run_eval.py
|
run: poetry run python ./cognee/eval_framework/run_eval.py
|
||||||
|
|
||||||
test-descriptive-metrics:
|
test-descriptive-metrics:
|
||||||
|
|
@ -78,8 +74,6 @@ jobs:
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
run: poetry run python ./cognee/tests/tasks/descriptive_metrics/networkx_metrics_test.py
|
run: poetry run python ./cognee/tests/tasks/descriptive_metrics/networkx_metrics_test.py
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -98,8 +92,6 @@ jobs:
|
||||||
- name: Run Dynamic Steps Tests
|
- name: Run Dynamic Steps Tests
|
||||||
env:
|
env:
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
||||||
|
|
|
||||||
7
.github/workflows/python_version_tests.yml
vendored
7
.github/workflows/python_version_tests.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
||||||
type: string
|
type: string
|
||||||
default: '["3.10.x", "3.11.x", "3.12.x"]'
|
default: '["3.10.x", "3.11.x", "3.12.x"]'
|
||||||
secrets:
|
secrets:
|
||||||
GRAPHISTRY_USERNAME:
|
|
||||||
required: true
|
|
||||||
GRAPHISTRY_PASSWORD:
|
|
||||||
required: true
|
|
||||||
LLM_PROVIDER:
|
LLM_PROVIDER:
|
||||||
required: true
|
required: true
|
||||||
LLM_MODEL:
|
LLM_MODEL:
|
||||||
|
|
@ -96,9 +92,6 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
PYTHONUTF8: 1
|
PYTHONUTF8: 1
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
|
|
||||||
LLM_PROVIDER: openai
|
LLM_PROVIDER: openai
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
||||||
|
|
|
||||||
6
.github/workflows/reusable_notebook.yml
vendored
6
.github/workflows/reusable_notebook.yml
vendored
|
|
@ -8,10 +8,6 @@ on:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
secrets:
|
secrets:
|
||||||
GRAPHISTRY_USERNAME:
|
|
||||||
required: true
|
|
||||||
GRAPHISTRY_PASSWORD:
|
|
||||||
required: true
|
|
||||||
#LLM_MODEL:
|
#LLM_MODEL:
|
||||||
# required: true
|
# required: true
|
||||||
#LLM_ENDPOINT:
|
#LLM_ENDPOINT:
|
||||||
|
|
@ -67,8 +63,6 @@ jobs:
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
run: |
|
run: |
|
||||||
poetry run jupyter nbconvert \
|
poetry run jupyter nbconvert \
|
||||||
--to notebook \
|
--to notebook \
|
||||||
|
|
|
||||||
2
.github/workflows/test_ollama.yml
vendored
2
.github/workflows/test_ollama.yml
vendored
|
|
@ -91,8 +91,6 @@ jobs:
|
||||||
- name: Run example test
|
- name: Run example test
|
||||||
env:
|
env:
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
|
||||||
PYTHONFAULTHANDLER: 1
|
PYTHONFAULTHANDLER: 1
|
||||||
LLM_PROVIDER: "ollama"
|
LLM_PROVIDER: "ollama"
|
||||||
LLM_API_KEY: "ollama"
|
LLM_API_KEY: "ollama"
|
||||||
|
|
|
||||||
|
|
@ -80,15 +80,6 @@ cognee provides a visualize_graph function that will render the graph for you.
|
||||||
)
|
)
|
||||||
await visualize_graph(graph_file_path)
|
await visualize_graph(graph_file_path)
|
||||||
```
|
```
|
||||||
If you want to use tools like Graphistry for graph visualization:
|
|
||||||
- create an account and API key from https://www.graphistry.com
|
|
||||||
- add the following environment variables to `.env` file:
|
|
||||||
```
|
|
||||||
GRAPHISTRY_USERNAME=""
|
|
||||||
GRAPHISTRY_PASSWORD=""
|
|
||||||
```
|
|
||||||
Note: `GRAPHISTRY_PASSWORD` is API key.
|
|
||||||
|
|
||||||
|
|
||||||
# What will you build with cognee?
|
# What will you build with cognee?
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,9 @@ app = FastAPI(debug=app_environment != "prod", lifespan=lifespan)
|
||||||
# Read allowed origins from environment variable (comma-separated)
|
# Read allowed origins from environment variable (comma-separated)
|
||||||
CORS_ALLOWED_ORIGINS = os.getenv("CORS_ALLOWED_ORIGINS")
|
CORS_ALLOWED_ORIGINS = os.getenv("CORS_ALLOWED_ORIGINS")
|
||||||
if CORS_ALLOWED_ORIGINS:
|
if CORS_ALLOWED_ORIGINS:
|
||||||
allowed_origins = [origin.strip() for origin in CORS_ALLOWED_ORIGINS.split(",") if origin.strip()]
|
allowed_origins = [
|
||||||
|
origin.strip() for origin in CORS_ALLOWED_ORIGINS.split(",") if origin.strip()
|
||||||
|
]
|
||||||
else:
|
else:
|
||||||
allowed_origins = [] # Block all except explicitly set origins
|
allowed_origins = [] # Block all except explicitly set origins
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -182,15 +182,3 @@ class config:
|
||||||
def set_vector_db_url(db_url: str):
|
def set_vector_db_url(db_url: str):
|
||||||
vector_db_config = get_vectordb_config()
|
vector_db_config = get_vectordb_config()
|
||||||
vector_db_config.vector_db_url = db_url
|
vector_db_config.vector_db_url = db_url
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def set_graphistry_config(graphistry_config: dict[str, str]):
|
|
||||||
base_config = get_base_config()
|
|
||||||
|
|
||||||
if "username" not in graphistry_config or "password" not in graphistry_config:
|
|
||||||
raise InvalidValueError(
|
|
||||||
message="graphistry_config dictionary must contain 'username' and 'password' keys."
|
|
||||||
)
|
|
||||||
|
|
||||||
base_config.graphistry_username = graphistry_config.get("username")
|
|
||||||
base_config.graphistry_password = graphistry_config.get("password")
|
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,6 @@ class BaseConfig(BaseSettings):
|
||||||
data_root_directory: str = get_absolute_path(".data_storage")
|
data_root_directory: str = get_absolute_path(".data_storage")
|
||||||
system_root_directory: str = get_absolute_path(".cognee_system")
|
system_root_directory: str = get_absolute_path(".cognee_system")
|
||||||
monitoring_tool: object = Observer.LANGFUSE
|
monitoring_tool: object = Observer.LANGFUSE
|
||||||
graphistry_username: Optional[str] = os.getenv("GRAPHISTRY_USERNAME")
|
|
||||||
graphistry_password: Optional[str] = os.getenv("GRAPHISTRY_PASSWORD")
|
|
||||||
langfuse_public_key: Optional[str] = os.getenv("LANGFUSE_PUBLIC_KEY")
|
langfuse_public_key: Optional[str] = os.getenv("LANGFUSE_PUBLIC_KEY")
|
||||||
langfuse_secret_key: Optional[str] = os.getenv("LANGFUSE_SECRET_KEY")
|
langfuse_secret_key: Optional[str] = os.getenv("LANGFUSE_SECRET_KEY")
|
||||||
langfuse_host: Optional[str] = os.getenv("LANGFUSE_HOST")
|
langfuse_host: Optional[str] = os.getenv("LANGFUSE_HOST")
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,7 @@
|
||||||
import os
|
import os
|
||||||
import requests
|
import requests
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
import graphistry
|
|
||||||
import networkx as nx
|
import networkx as nx
|
||||||
import pandas as pd
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import http.server
|
import http.server
|
||||||
import socketserver
|
import socketserver
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
import pytest
|
import pytest
|
||||||
import networkx as nx
|
|
||||||
import pandas as pd
|
|
||||||
from unittest.mock import patch, mock_open
|
from unittest.mock import patch, mock_open
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
|
||||||
1614
poetry.lock
generated
1614
poetry.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -40,7 +40,6 @@ dependencies = [
|
||||||
"aiohttp>=3.11.14,<4.0.0",
|
"aiohttp>=3.11.14,<4.0.0",
|
||||||
"aiofiles>=23.2.1,<24.0.0",
|
"aiofiles>=23.2.1,<24.0.0",
|
||||||
"rdflib>=7.1.4,<7.2.0",
|
"rdflib>=7.1.4,<7.2.0",
|
||||||
"graphistry>=0.33.5,<0.34",
|
|
||||||
"pypdf>=4.1.0,<6.0.0",
|
"pypdf>=4.1.0,<6.0.0",
|
||||||
"jinja2>=3.1.3,<4",
|
"jinja2>=3.1.3,<4",
|
||||||
"matplotlib>=3.8.3,<4",
|
"matplotlib>=3.8.3,<4",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue