Commit graph

351 commits

Author SHA1 Message Date
Vasilije
e5f0c22363
Merge branch 'dev' into add_cli 2025-08-26 19:13:11 +02:00
Andrej Milicevic
c013499f19 Fix tests failing for python 3.10 2025-08-26 18:34:38 +02:00
hajdul88
42d33fcd00
fix: fixes search test behaviour and adds comments to new pipeline executor logic (#1293)
<!-- .github/pull_request_template.md -->

## Description
fix: fixes search test behaviour and adds comments to new pipeline
executor logic

## 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-08-26 15:52:10 +02:00
Andrej Milicevic
454358ea28 Solution for the API key error. 2025-08-25 20:26:59 +02:00
Andrej Milicevic
4b593aa523 And another potential fix for the API error. 2025-08-25 20:07:15 +02:00
Andrej Milicevic
66b8bb39b5 Another potential fix for the invalid API key error. 2025-08-25 19:16:59 +02:00
Andrej Milicevic
a3d5164129 Fix formatting. Potential fix to invalid api key error. 2025-08-25 18:57:45 +02:00
Andrej Milicevic
573e24fb50 Remove duplicate test files. 2025-08-25 16:29:31 +02:00
Andrej Milicevic
a805c640ec Fix, remove, improve cli tests. 2025-08-25 16:21:02 +02:00
hajdul88
b8cac4c29f feat: adds weight test at the end of test_search_db 2025-08-19 17:23:47 +02:00
hajdul88
4e31ae7ffc chore: deletes unused var from search test 2025-08-19 10:50:23 +02:00
hajdul88
fcdee16f69 feat: adds kuzu and neo4j tests for feedback and interaction features 2025-08-19 10:49:01 +02:00
hajdul88
372181d8c1 fix: fixes unit test 2025-08-19 09:43:34 +02:00
vasilije
3152368529 added fix 2025-08-18 23:11:51 +02:00
vasilije
66d7fa9941 fix tests 2025-08-18 23:05:08 +02:00
vasilije
d084d00a4d added tests 2025-08-18 22:58:14 +02:00
hajdul88
9a46d145bb chore: fix search db tests 2025-08-18 14:53:47 +02:00
hajdul88
0529d4b87f fix: fixes kuzu and neo4j tests 2025-08-18 14:14:12 +02:00
hajdul88
b6be61776a fix: fixes tests 2025-08-18 13:50:21 +02:00
hajdul88
78fb415892 chore: changes context return value in tests 2025-08-18 13:40:33 +02:00
Vasilije
73e1aa768c
Merge branch 'dev' into issues/1183 2025-08-15 15:05:00 +02:00
Daulet Amirkhanov
761bb1b523 test: deprecate networkx_metrics_test.py 2025-08-15 12:59:49 +01:00
hajdul88
d884cc46e9
Merge branch 'dev' into feature/cog-2717-add-better-error-management-to-cognee 2025-08-15 08:15:05 +02:00
Igor Ilic
4543890a70
Loader separation (#1240)
<!-- .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: vasilije <vas.markovic@gmail.com>
2025-08-14 19:55:39 +02:00
hajdul88
dd6e26fe41 Merge remote-tracking branch 'origin/dev' into feature/cog-2717-add-better-error-management-to-cognee 2025-08-14 16:17:36 +02:00
Daulet Amirkhanov
b297289060
Fix/add async lock to all vector databases (#1244)
<!-- .github/pull_request_template.md -->

## Description
1. Cleans up VectorDB adapters that have been migrated to
`cognee-community` repo
2. Adds async lock protection create_collection method in remaining
VectorDB - ChromaDB

See #1222

## 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 <30923996+dexters1@users.noreply.github.com>
2025-08-14 15:57:34 +02:00
hajdul88
c75f017eb9
Merge branch 'dev' into feature/cog-2717-add-better-error-management-to-cognee 2025-08-14 10:53:31 +02:00
vasilije
0ed6f255c2 added fix 2025-08-14 10:52:39 +02:00
hajdul88
ca21122edb
Merge branch 'dev' into feature/cog-2717-add-better-error-management-to-cognee 2025-08-14 10:09:40 +02:00
Pavan Chilukuri
1ea632d0fa
Add health checks (#1184)
<!-- .github/pull_request_template.md -->

## Description
<!-- Provide a clear description of the changes in this PR -->

Replaces basic /health endpoint with production-ready health monitoring
system that checks all critical backend components (databases, storage,
LLM providers) for container orchestration and monitoring.

Changes
New: cognee/api/health.py - Core health check system with structured
monitoring

Enhanced: cognee/api/client.py - Three new health endpoints

Added: examples/health_check_example.py - Testing utilities

New Endpoints
GET /health - Liveness probe (HTTP 200/503)
<img width="480" height="351" alt="Screenshot 2025-08-12 at 10 15 45 AM"
src="https://github.com/user-attachments/assets/53279b53-51bf-45a1-b3b9-4546e7bb6730"
/>

GET /health/detailed - Complete component status with metrics
<img width="1012" height="244" alt="Screenshot 2025-08-12 at 10 17
12 AM"
src="https://github.com/user-attachments/assets/ad3ac9cd-1135-490f-9641-726c4ea4e724"
/>


Components Monitored
Critical (failure = 503): Relational DB, Vector DB, Graph DB, File
Storage
Non-critical (failure = degraded): LLM Provider, Embedding Service


## 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: Daulet Amirkhanov <damirkhanov01@gmail.com>
Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
2025-08-13 20:41:36 +02:00
hajdul88
d14d31adbe chore: updating delete_by_id test 2025-08-13 15:39:11 +02:00
hajdul88
da40365932 ruff formatting 2025-08-13 15:15:39 +02:00
hajdul88
d1bfeaa0f2 fix: fixes search unit test error expectation 2025-08-13 15:00:25 +02:00
hajdul88
885f7c3f99 chore: fixing graph elements tests 2025-08-13 14:58:56 +02:00
hajdul88
544e08930b feat: removing invalidValueErrors 2025-08-13 14:42:57 +02:00
hajdul88
fd9aaf57b1
feature: Adds doctype handling to delete (audio, image, unstructured) (#1239)
<!-- .github/pull_request_template.md -->

## Description
feature: Adds doctype handling to delete (audio, image, unstructured)

## 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-08-12 19:01:06 +02:00
EricXiao
815d639132
fix: graph visualization access for users with read permissions (#1220)
<!-- .github/pull_request_template.md -->

## Description
<!-- Provide a clear description of the changes in this PR -->
Description
This PR fix graph visualization access for users with read permissions
(https://github.com/topoteretes/cognee/issues/1182)

- Add permission checks for graph visualization endpoints to ensure
users can only access datasets they have permission to view
- Create get_dataset_with_permissions method to validate user access
before returning a dataset
- Remove redundant dataset existence validation in datasets router and
delegate permission checking to graph data retrieval
- Add comprehensive test suite for graph visualization permissions
covering owner access and permission granting scenarios
- Update get_formatted_graph_data() to use dataset owner's ID for
context
## Testing
Tests can be run with:
```bash
pytest -s cognee/tests/test_graph_visualization_permissions.py
```

## 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.

---------

Signed-off-by: EricXiao <taoiaox@gmail.com>
Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
2025-08-08 20:42:57 +02:00
lxobr
6dbd8e85a1
feat: dynamic multiple edges in datapoints (#1212)
<!-- .github/pull_request_template.md -->

## Description
<!-- Provide a clear description of the changes in this PR -->
- Improved list handling, removed `.index` logic from
`get_graph_from_model`, transitioned to fully datapoint-oriented
processing
- Streamlined datapoint iteration by introducing `_datapoints_generator`
with nested loops
- Generalized field processing to handle mixed lists: `[DataPoint,
(Edge, DataPoint), (Edge, [DataPoint])]`, allowing dynamic multiple
edges generation
- Small improvements and refactorings
- Added tests to `test_get_graph_from_model_flexible_edges()` covering
weighted edges and dynamic multiple edges
- Created `dynamic_multiple_edges_example.py` demonstrating dynamic
multiple edges

## 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-08-07 14:50:45 +02:00
hajdul88
4e816ad80b
fix: changing deletion logic to use document id instead of content hash (#1210)
<!-- .github/pull_request_template.md -->

## Description
Changing deletion logic to use document id instead of content hash

## 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-08-06 16:54:35 +02:00
Vasilije
dabd0912f8
feat: Cog 2082 add BAML to cognee (#1054)
<!-- .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.

---------

Signed-off-by: Raj2604 <rajmandhare26@gmail.com>
Co-authored-by: Daulet Amirkhanov <damirkhanov01@gmail.com>
Co-authored-by: Hande <159312713+hande-k@users.noreply.github.com>
Co-authored-by: Igor Ilic <igorilic03@gmail.com>
Co-authored-by: Igor Ilic <30923996+dexters1@users.noreply.github.com>
Co-authored-by: Boris <boris@topoteretes.com>
Co-authored-by: Matea Pesic <80577904+matea16@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions@users.noreply.github.com>
Co-authored-by: hajdul88 <52442977+hajdul88@users.noreply.github.com>
Co-authored-by: Boris Arzentar <borisarzentar@gmail.com>
Co-authored-by: Raj Mandhare <96978537+Raj2604@users.noreply.github.com>
Co-authored-by: Pedro Thompson <thompsonp17@hotmail.com>
Co-authored-by: Pedro Henrique Thompson Furtado <pedrothompson@petrobras.com.br>
2025-08-06 10:41:47 +02:00
Igor Ilic
343d990fcc
Merge main vol 4 (#1200)
<!-- .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.

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Signed-off-by: Andy Kwok <andy.kwok@improving.com>
Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
Co-authored-by: vasilije <vas.markovic@gmail.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andy Kwok <andy.kwok@improving.com>
2025-08-05 12:48:24 +02:00
EricXiao
fc7a91d991
feature: implement FEELING_LUCKY search type (#1178)
<!-- .github/pull_request_template.md -->

## Description
<!-- Provide a clear description of the changes in this PR -->
This PR implements the 'FEELING_LUCKY' search type, which intelligently
routes user queries to the most appropriate search retriever, addressing
[#1162](https://github.com/topoteretes/cognee/issues/1162).

- implement new search type FEELING_LUCKY
- Add the select_search_type function to analyze queries and choose the
proper search type
- Integrate with an LLM for intelligent search type determination
- Add logging for the search type selection process
- Support fallback to RAG_COMPLETION when the LLM selection fails
- Add tests for the new search type

## How it works
When a user selects the 'FEELING_LUCKY' search type, the system first
sends their natural language query to an LLM-based classifier. This
classifier analyzes the query's intent (e.g., is it asking for a
relationship, a summary, or a factual answer?) and selects the optimal
SearchType, such as 'INSIGHTS' or 'GRAPH_COMPLETION'. The main search
function then proceeds using this dynamically selected type. If the
classification process fails, it gracefully falls back to the default
'RAG_COMPLETION' type.

## Testing
Tests can be run with:
```bash
python -m pytest cognee/tests/unit/modules/search/search_methods_test.py -k "feeling_lucky" -v
```

## 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.

Signed-off-by: EricXiao <taoiaox@gmail.com>
2025-08-02 16:30:08 +02:00
Igor Ilic
14ba3e8829
feat: Enable async execution of data items for incremental loading (#1092)
<!-- .github/pull_request_template.md -->

## Description
Attempt at making incremental loading run async

## 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-07-29 10:39:31 -04:00
hajdul88
9157d3c2dd
feature: cover current context structure with unit test and add time logging to vector collection retrievals (#1144)
<!-- .github/pull_request_template.md -->

## Description
Cover current context structure with unit test so it is not changed
accidentally in the future

## 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-07-25 13:04:43 +02:00
Vasilije
daa4e9acc4
fix: Remove weaviate (#1139)
<!-- .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.
2025-07-23 19:34:35 +02:00
hajdul88
dad7da2e7b
fix:Fixes missing entity to entity edges (#1118)
<!-- .github/pull_request_template.md -->

## Description
Fixes missing entity to entity edges

## 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-07-22 11:48:56 +02:00
Vasilije
7af7e3834f
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>
2025-07-21 15:06:23 -04:00
Boris
468186789c
fix: s3 file system env vars (#1112)
<!-- .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.
2025-07-19 15:56:15 +02:00
Vasilije
d4739bd40c
fix: Delete by id draft (#1073)
<!-- .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>
Co-authored-by: Boris <boris@topoteretes.com>
Co-authored-by: Boris Arzentar <borisarzentar@gmail.com>
2025-07-16 21:11:35 +02:00
Boris
c5bd6bed40
fix: s3 file storage (#1095)
<!-- .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.
2025-07-16 20:36:18 +02:00