Commit graph

2724 commits

Author SHA1 Message Date
vasilije
191a9ed0ee first idea 2025-08-11 14:47:27 +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
vasilije
c8202c51a7 format fix 2025-08-06 19:11:39 +02:00
vasilije
0ea5894823 added distributed fixes 2025-08-06 19:11:20 +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
sssaha1989
a9e74dac42
Update LiteLLMEmbeddingEngine.py (#1205)
This will allow to deal with the issue when the user is using custom
embedding and LLM and passes the hosted_vllm option as part of the
LiteLLM documentation

<!-- .github/pull_request_template.md -->

## Description
<!-- This allows the user to use hosted_vllm with respect to LiteLLM
usage - and only gets applicable for custom embedding models -
specifically Hugging Face models -->

## 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:53:33 +02:00
Igor Ilic
b54e843951
Add neo4j multi db support (#1207)
<!-- .github/pull_request_template.md -->

## Description
Add multi db support for Neo4j Enterprise users

## 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: vasilije <vas.markovic@gmail.com>
Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
Co-authored-by: Daulet Amirkhanov <damirkhanov01@gmail.com>
Co-authored-by: Hande <159312713+hande-k@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:44:45 +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
8d4ed35cbe
Fix low level pipeline (#1203)
<!-- .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-08-05 17:01:48 +02:00
Igor Ilic
ba624660b9
Merge main vol 4 (#1201)
<!-- .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-08-05 12:55:45 +02:00
Igor Ilic
d237b806f9
Merge branch 'dev' into merge-main-vol-4 2025-08-05 12:51:15 +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
Igor Ilic
ab425e4e18 Merge branch 'main' into merge-main-vol-4 2025-08-05 11:49:55 +02:00
vasilije
11422f362f fixes to formatting 2025-08-05 10:12:05 +02:00
Andrew Carbonetto
7d2bf78c81
Add Neptune Analytics hybrid storage (#1156)
<!-- .github/pull_request_template.md -->

## Description
Adds a Neptune Analytics 'hybrid' integration layer to the Cognee.ai
memory storage layer. The following configuration will use Amazon
Neptune Analytics to store all nodes, edges, and vector embeddings for
the Cognee.ai memory conversation.

```
    cognee.config.set_graph_db_config(
        {
            "graph_database_provider": "neptune_analytics",  # Specify Neptune Analytics as provider
            "graph_database_url": graph_endpoint_url,  # Neptune Analytics endpoint with the format neptune-graph://<GRAPH_ID>
        }
    )
    cognee.config.set_vector_db_config(
        {
            "vector_db_provider": "neptune_analytics",  # Specify Neptune Analytics as provider
            "vector_db_url": graph_endpoint_url,  # Neptune Analytics endpoint with the format neptune-graph://<GRAPH_ID>
        }
    )
```

For example, see
[neptune_analytics_example.py](08a3a1d2a8/examples/database_examples/neptune_analytics_example.py)

Related: https://github.com/topoteretes/cognee-starter/pull/11

## 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: Andy Kwok <andy.kwok@improving.com>
Co-authored-by: Vasilije <8619304+Vasilije1990@users.noreply.github.com>
2025-08-05 10:05:31 +02:00
Igor Ilic
b46833b476
Cognee mcp fixes main (#1196)
<!-- .github/pull_request_template.md -->

## Description
Fix Cognee mcp issues

## 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-04 15:48:04 +02:00
Igor Ilic
f4a37edc3f
Cognee mcp docker fix (#1195)
<!-- .github/pull_request_template.md -->

## Description
Resolve issues with Cognee MCP docker use

## 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-04 12:19:12 +02:00
Vasilije
c686e396f3
fix: Add better docstrings to mcp (#1189)
<!-- .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-08-04 11:13:28 +02:00
vasilije
df17ae7720 added fix to weighted edges 2025-08-02 21:09:58 +02:00
vasilije
5fcc8b7813 fixes to MCP docker 2025-08-02 19:39:15 +02:00
vasilije
c6e1eb35f7 regen uv lock 2025-08-02 19:26:11 +02:00
Vasilije
10df6c7fab
fix: Update CONTRIBUTING.md (#1187)
<!-- .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-08-02 19:14:08 +02:00
Vasilije
29c6338647
fix: Update CONTRIBUTING.md (#1186)
<!-- .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-08-02 17:12:51 +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
9faa47fc5a
feat: add default tokenizer in case hugging face is not available (#1177)
<!-- .github/pull_request_template.md -->

## Description
Add default tokenizer for custom models not available on HuggingFace

## 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-01 16:37:53 +02:00
Vasilije
4324637604
fix: Update Dockerfile (#1176)
<!-- .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-08-01 15:15:13 +02:00
Igor Ilic
5b6e946c43
fix: Add async lock for dynamic vector table creation (#1175)
<!-- .github/pull_request_template.md -->

## Description
Add async lock for dynamic table creation

## 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-01 15:12:04 +02:00
Boris Arzentar
cd930ed646
Merge remote-tracking branch 'origin/main' into dev 2025-07-30 11:30:38 +02:00
Boris
2182f619df
fix: canvas resize issues in graph visualization (#1167)
## Description
This PR adds **responsive resizing** to the graph container. The
`ForceGraph` component now dynamically adjusts its width and height when
the browser window is resized, improving the user experience by removing
the need to manually click the "Fit Into View" button. solver issue
#1164

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

---

##  Changes Made (Minimal, Additive Only)

### 1. **Added necessary imports**
```typescript
import { MutableRefObject, useEffect, useImperativeHandle, useRef, useState, useCallback } from "react";
// Added useCallback to existing imports
```

### 2. **Added responsive sizing state and refs**
```typescript
// State for tracking container dimensions
const [dimensions, setDimensions] = useState({ width: 0, height: 0 });
const containerRef = useRef<HTMLDivElement>(null);
```

### 3. **Added resize handling logic**
```typescript
// Handle window resize
const handleResize = useCallback(() => {
  if (containerRef.current) {
    const { clientWidth, clientHeight } = containerRef.current;
    setDimensions({ width: clientWidth, height: clientHeight });

    // Trigger graph refresh after resize
    if (graphRef.current) {
      // Small delay to ensure DOM has updated
      setTimeout(() => {
        graphRef.current?.refresh();
      }, 100);
    }
  }
}, []);

// Set up resize observer 
useEffect(() => {
  // Initial size calculation
  handleResize();

  // ResizeObserver for more precise container size tracking
  const resizeObserver = new ResizeObserver(() => {
    handleResize();
  });

  if (containerRef.current) {
    resizeObserver.observe(containerRef.current);
  }

  return () => {
    resizeObserver.disconnect();
  };
}, [handleResize]);
```

### 4. **Added container ref to wrapping div**
```tsx
<div ref={containerRef} className="w-full h-full" id="graph-container">
  {/* Graph component rendered here */}
</div>
```

### 5. **Passed dynamic width/height to ForceGraph**
```tsx
<ForceGraph
  ref={graphRef}
  width={dimensions.width}
  height={dimensions.height}
  dagMode={graphShape as unknown as undefined}
  // ... rest of props unchanged
/>
```

---

you can check this video out:


https://github.com/user-attachments/assets/e8e42c99-23e9-4acd-a51b-c59e8bee7094
2025-07-30 11:16:38 +02:00
VinaySatrasala
a620f991c3 Fix canvas resize issues in graph visualization
Signed-off-by: VinaySatrasala <satrasalavinaykumar.01@gmail.com>
2025-07-30 02:16:09 +05:30
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
f78af0cec3
feature: solve edge embedding duplicates in edge collection + retriever optimization (#1151)
<!-- .github/pull_request_template.md -->

## Description
feature: solve edge embedding duplicates in edge collection + retriever
optimization

## 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 <8619304+Vasilije1990@users.noreply.github.com>
2025-07-29 12:35:38 +02:00
Boris
4ea4b100ab
fix: datasets status (#1166)
<!-- .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-28 23:32:40 +02:00
Boris Arzentar
961fa5ec45
chore: update uv.lock file 2025-07-28 23:23:35 +02:00
Boris Arzentar
9793cd56ad
version: 0.2.2.dev0 2025-07-28 23:20:21 +02:00
Boris Arzentar
6773121904
fix: datasets status without datasets parameter 2025-07-28 23:19:36 +02:00
Boris
9907e6fe5b
version: 0.2.1 (#1155)
<!-- .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-25 17:52:38 +02:00
Boris Arzentar
5aa6dfc62b
Merge remote-tracking branch 'origin/main' into dev 2025-07-25 17:51:32 +02:00
Boris
4ec3c4f14d
version: v0.2.1 (#1154)
<!-- .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-25 17:49:06 +02:00
Igor Ilic
bc67eb9651
Regen lock files (#1153)
<!-- .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-25 11:45:28 -04:00
Igor Ilic
a923778040
chore: Update lock files (#1150)
<!-- .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-25 10:17:35 -04:00
Igor Ilic
93e9a9aa1c
Kuzu migration notes (#1149)
<!-- .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-25 14:38:10 +02: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
Igor Ilic
7f972d3ab5
feat: Add fix for kuzu lock after migration (#1147)
<!-- .github/pull_request_template.md -->

## Description
Add potential fix for Kuzu database lock after migration

## 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 05:25:13 -04:00
Vasilije
ce50863e22
fix: Mcp improvements (#1114)
<!-- .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: Igor Ilic <30923996+dexters1@users.noreply.github.com>
2025-07-24 21:52:16 +02:00
Igor Ilic
81a3cf84b1
feat: Add kuzu graph db migration (#1146)
<!-- .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-24 11:58:45 -04:00
Igor Ilic
fc8ae2fe21
feat: Add database migration at start of MCP server (#1145)
<!-- .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-24 16:32:34 +02:00
Igor Ilic
dbdf04c089
Data model migration (#1143)
<!-- .github/pull_request_template.md -->

## Description
Data model migration for new release

## 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-24 15:03:16 +02:00
Vasilije
1885ab9e88
chore: Cog 2354 add logging (#1115)
<!-- .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: hajdul88 <52442977+hajdul88@users.noreply.github.com>
2025-07-24 13:27:27 +02:00
Boris
d6727a1b4a
fix: UnstructuredDocument read method (#1141)
<!-- .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-24 13:23:27 +02:00