Commit graph

4555 commits

Author SHA1 Message Date
vasilije
0c62916e75 added 2025-10-19 14:54:00 +02:00
vasilije
a1927548ad added 2025-10-19 14:52:02 +02:00
vasilije
66876daf85 removed docs 2025-10-19 14:38:34 +02:00
vasilije
3f7efd8b88 added fixes for tests 2025-10-19 13:33:02 +02:00
Vasilije
68e94b53f6
Feature/cog 2985 add ci tests that run more examples (#1551)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->
Added some examples to run in CI, because we had issues in the past we
didn't see on time. Thought it would be more of a change, but we do run
most of them already, just a few were missing that could be useful to
have in CI.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [x] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## 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.
2025-10-19 13:08:18 +02:00
Boris
5da8b03e0b
Merge branch 'dev' into feature/cog-2985-add-ci-tests-that-run-more-examples 2025-10-18 17:14:08 +02:00
Vasilije
1f2fd5a8a6
fix: preferred_loaders is always None in data_item_to_text_file.load_file() (#1554)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

*LoaderEngine.py*
```python
async def load_file(
        self,
        file_path: str,
        file_stream: Optional[Any],
        preferred_loaders: Optional[List[str]] = None,
        **kwargs,
    ):
        ...
        print(file_path, file_stream, preferred_loaders, kwargs)
        ...
```

shows
`https://cognee.ai ['web_url_loader'] None {}`

i.e. preferred_loaders is always None when `self.get_loader(file_path,
preferred_loaders)`

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## 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.
2025-10-18 16:54:26 +02:00
Vasilije
2ac15d4fff
chore: remove memgraph from cognee repo (#1550)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

Memgraph adapter has been moved to and being maintained in
[`cognee-community`](https://github.com/topoteretes/cognee-community/tree/main)
repo.

This PR removes Memgraph, and updates any mentions of it in this repo.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## 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.
2025-10-18 16:53:47 +02:00
Vasilije
559d5009f7
feat: Batch document handling (#1469)
<!-- .github/pull_request_template.md -->

## Description
Add a batch system for document processing to limit number of parallel
documents being processed in Cognee

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [x] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## 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.
2025-10-18 09:48:52 +02:00
Vasilije
bb0f5d8205
Remove broken graphrag submodule (#1559)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

Closes https://github.com/topoteretes/cognee/issues/1558

## Type of Change
<!-- Please check the relevant option -->
- [x] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## 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.
2025-10-18 06:57:18 +02:00
Zanie Blue
08849dfd5e Remove graphrag submodule 2025-10-17 16:27:26 -05:00
hajdul88
2d1f0e5eaa
Merge branch 'dev' into feature/cog-3160-redis-session-conversation 2025-10-17 21:45:31 +02:00
Vasilije
9d0261f375
fix: search without prior cognify (#1548)
<!-- .github/pull_request_template.md -->

## Description
<!--
Please provide a clear, human-generated description of the changes in
this PR.
DO NOT use AI-generated descriptions. We want to understand your thought
process and reasoning.
-->

Running search when `cognee.add()` is called, but `cognee.cognify()`
wasn't called yet goes through the whole search operation to throw a
cryptic error:
```
Error during graph projection: EntityNotFoundError: Empty graph projected from the database. (Status code: 404)
```

## How to reproduce
modify `dynamic_steps_example.py` to not run cognify

## This PR

Checks graph before searching, and throws an informative exception to
ensure cognify was run

| Logs Before | Logs After |
|--------------|------------|
| `Error during graph projection: EntityNotFoundError: Empty graph
projected from the database. (Status code: 404)` |
`2025-10-17T11:05:58.465315 [warning ] Search attempt on an empty
knowledge graph [cognee.shared.logging_utils]` |

## Type of Change
<!-- Please check the relevant option -->
- [x] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
<!-- Add screenshots or videos to help explain your changes -->

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

## 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.
2025-10-17 19:07:56 +02:00
Daulet Amirkhanov
d85037896a
Merge branch 'dev' into chore/remove-memgraph 2025-10-17 17:36:53 +01:00
Daulet Amirkhanov
c9ccd50bd8
Merge branch 'dev' into fix/loader-engine-load-file-uses-wrong-arguments 2025-10-17 17:33:43 +01:00
Daulet Amirkhanov
50aa8aac11 refactor: remove filestream arg from LoaderEngine.load_file(...) 2025-10-17 17:33:25 +01:00
Igor Ilic
a8ff50ceae feat: Initial multi-tenancy commit 2025-10-17 18:09:01 +02:00
Daulet Amirkhanov
4e2a777860 tests: update tests after last refactoring 2025-10-17 14:18:47 +01:00
hajdul88
9089698896 chore: turns of shared kuzu lock for session tests 2025-10-17 14:28:33 +02:00
hajdul88
f7aa1519e4 feat: adds conversation history test to workflows 2025-10-17 14:24:58 +02:00
hajdul88
7357c81079 chore: linting fix 2025-10-17 14:24:25 +02:00
hajdul88
2182b7be5f linting fix 2025-10-17 14:18:13 +02:00
hajdul88
e9f4e2000f feat: adds e2e conversation history test 2025-10-17 14:15:18 +02:00
hajdul88
a3bbeb1c10 chore: generalizes return value in session history 2025-10-17 13:47:02 +02:00
Igor Ilic
6baf2d6806
Merge branch 'dev' into batch-document-handling 2025-10-17 13:45:32 +02:00
Daulet Amirkhanov
41fd854c7e
Merge branch 'dev' into fix/search-without-prior-cognify 2025-10-17 12:09:47 +01:00
Daulet Amirkhanov
c313fcd029 log warning on attempts to search on an empty knowledge graph 2025-10-17 12:06:35 +01:00
Daulet Amirkhanov
3ee50c192f refactor emptiness check to be boolean, and optimize query 2025-10-17 12:01:06 +01:00
Igor Ilic
2998802c00 fix: Resolve issue with wrong error for OpenAI 2025-10-17 11:58:14 +02:00
hajdul88
ebb5b94265 chore: unit test fix for cache mocking 2025-10-17 11:06:34 +02:00
hajdul88
30a31889d0 ruff format 2025-10-17 10:30:35 +02:00
hajdul88
339de5a0b8 test fix 2025-10-17 10:25:26 +02:00
hajdul88
47cce90112 test fix 2025-10-17 10:18:39 +02:00
hajdul88
16b073bf8c ruff fix 2025-10-17 10:06:24 +02:00
hajdul88
4a03572f7c feat: adds unit test to conversation history save 2025-10-17 10:06:08 +02:00
hajdul88
2595a419b3 ruff format 2025-10-16 18:25:13 +02:00
hajdul88
cdbdbfd755 feat: adds conversation history to most of the retrievers 2025-10-16 18:24:57 +02:00
hajdul88
9e9489c858 feat: adds conversation history to context if caching is enabled 2025-10-16 17:48:50 +02:00
hajdul88
48c832bf5f feat: set default last n on redisadapter 2025-10-16 17:26:18 +02:00
Daulet Amirkhanov
6a693d319a fix: preferred_loaders is always None in data_item_to_text_file.load_file() 2025-10-16 15:45:21 +01:00
hajdul88
dc519f5d26 fix: fixes cache default cache config content unit test 2025-10-16 16:28:52 +02:00
hajdul88
91a22e8bc4 feat: adds session id to get_completion methods 2025-10-16 16:26:58 +02:00
hajdul88
7149f8c45b ruff format 2025-10-16 16:13:55 +02:00
hajdul88
fe1b02d937 feat: adds error handling and logging to redis cache 2025-10-16 16:12:50 +02:00
hajdul88
96f2a2f22b ruff format 2025-10-16 15:54:48 +02:00
hajdul88
e12e516f64
Merge branch 'dev' into feature/cog-3160-redis-session-conversation 2025-10-16 15:52:46 +02:00
hajdul88
9821a01a47
feat: Redis lock integration and Kuzu agentic access fix (#1504)
<!-- .github/pull_request_template.md -->

## Description
This PR introduces a shared locked mechanism in KuzuAdapter to avoid use
case when multiple subprocesses from different environments are trying
to use the same Kuzu adatabase.

## Type of Change
<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [x] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Documentation update
- [ ] Code refactoring
- [x] Performance improvement
- [ ] Other (please specify):

## Screenshots/Videos (if applicable)
None

## Pre-submission Checklist
<!-- Please check all boxes that apply before submitting your PR -->
- [x] **I have tested my changes thoroughly before submitting this PR**
- [x] **This PR contains minimal changes necessary to address the
issue/feature**
- [x] My code follows the project's coding standards and style
guidelines
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if applicable)
- [x] All new and existing tests pass
- [x] I have searched existing PRs to ensure this change hasn't been
submitted already
- [x] I have linked any relevant issues in the description
- [x] My commits have clear and descriptive messages

## 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.
2025-10-16 15:48:20 +02:00
hajdul88
a18cc17b5f
Merge branch 'feature/cog-3142-agentic-use-case-kuzu-lock-fix-redis-integration' into feature/cog-3160-redis-session-conversation 2025-10-16 15:08:29 +02:00
hajdul88
abe4dfa69a feat: adds session save to retrievers where actual completion is used 2025-10-16 15:07:15 +02:00
Igor Ilic
a03a20e053
Merge branch 'dev' into batch-document-handling 2025-10-16 14:30:11 +02:00