diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..8bdf6cf28 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# ignore jupyter notebooks in the language bar on github +notebooks/** linguist-vendored diff --git a/.github/workflows/notebooks_tests.yml b/.github/workflows/notebooks_tests.yml index a6fbae294..f33f90b4a 100644 --- a/.github/workflows/notebooks_tests.yml +++ b/.github/workflows/notebooks_tests.yml @@ -11,30 +11,9 @@ jobs: # notebook-location: notebooks/cognee_demo.ipynb # secrets: inherit - run-llama-index-integration: - name: LlamaIndex Integration Notebook - uses: ./.github/workflows/reusable_notebook.yml - with: - notebook-location: notebooks/llama_index_cognee_integration.ipynb - secrets: inherit - - run-cognee-llama-index: - name: Cognee LlamaIndex Notebook - uses: ./.github/workflows/reusable_notebook.yml - with: - notebook-location: notebooks/cognee_llama_index.ipynb - secrets: inherit - run-cognee-multimedia: name: Cognee Multimedia Notebook uses: ./.github/workflows/reusable_notebook.yml with: notebook-location: notebooks/cognee_multimedia_demo.ipynb secrets: inherit - -# run-graphrag-vs-rag: -# name: Graphrag vs Rag notebook -# uses: ./.github/workflows/reusable_notebook.yml -# with: -# notebook-location: notebooks/graphrag_vs_rag.ipynb -# secrets: inherit diff --git a/README.md b/README.md index cbbad2a86..eeee1145e 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ Learn more · Join Discord + · + Join r/AIMemory

@@ -46,12 +48,9 @@ More on [use-cases](https://docs.cognee.ai/use-cases) and [evals](https://github
Why cognee?
- - - ## Features - Interconnect and retrieve your past conversations, documents, images and audio transcriptions @@ -61,7 +60,7 @@ More on [use-cases](https://docs.cognee.ai/use-cases) and [evals](https://github ## Get Started -Get started quickly with a Google Colab notebook or starter repo +Get started quickly with a Google Colab notebook , Deepnote notebook or starter repo ## Contributing @@ -141,7 +140,15 @@ Example output: ``` -### cognee UI +## Our paper is out! Read here + +
+ cognee paper +
+ + + +## Cognee UI You can also cognify your files and query using cognee UI. diff --git a/alembic/versions/482cd6517ce4_add_default_user.py b/alembic/versions/482cd6517ce4_add_default_user.py index 92429e1e4..d85f0f146 100644 --- a/alembic/versions/482cd6517ce4_add_default_user.py +++ b/alembic/versions/482cd6517ce4_add_default_user.py @@ -12,6 +12,8 @@ from sqlalchemy.util import await_only from cognee.modules.users.methods import create_default_user, delete_user +from fastapi_users.exceptions import UserAlreadyExists + # revision identifiers, used by Alembic. revision: str = "482cd6517ce4" @@ -21,7 +23,10 @@ depends_on: Union[str, Sequence[str], None] = "8057ae7329c2" def upgrade() -> None: - await_only(create_default_user()) + try: + await_only(create_default_user()) + except UserAlreadyExists: + pass # It's fine if the default user already exists def downgrade() -> None: diff --git a/assets/cognee-paper.png b/assets/cognee-paper.png new file mode 100644 index 000000000..df7113b0e Binary files /dev/null and b/assets/cognee-paper.png differ diff --git a/cognee-frontend/src/modules/ingestion/DatasetsView/DatasetsView.tsx b/cognee-frontend/src/modules/ingestion/DatasetsView/DatasetsView.tsx index 13965230b..68a0d606c 100644 --- a/cognee-frontend/src/modules/ingestion/DatasetsView/DatasetsView.tsx +++ b/cognee-frontend/src/modules/ingestion/DatasetsView/DatasetsView.tsx @@ -53,7 +53,7 @@ export default function DatasetsView({ setExplorationDataset(dataset); showExplorationWindow(); } - + return ( <> @@ -95,10 +95,10 @@ export default function DatasetsView({ ))} - + {dataset?.name} - + diff --git a/cognee-frontend/src/ui/Partials/SearchView/SearchView.tsx b/cognee-frontend/src/ui/Partials/SearchView/SearchView.tsx index 664a46fad..bea5e1277 100644 --- a/cognee-frontend/src/ui/Partials/SearchView/SearchView.tsx +++ b/cognee-frontend/src/ui/Partials/SearchView/SearchView.tsx @@ -3,7 +3,7 @@ import { v4 } from 'uuid'; import classNames from 'classnames'; import { useCallback, useEffect, useState } from 'react'; -import { CTAButton, Stack, Text, DropdownSelect, TextArea, useBoolean } from 'ohmy-ui'; +import { CTAButton, Stack, Text, DropdownSelect, TextArea, useBoolean, Input } from 'ohmy-ui'; import { fetch } from '@/utils'; import styles from './SearchView.module.css'; import getHistory from '@/modules/chat/getHistory'; @@ -33,8 +33,15 @@ export default function SearchView() { }, { value: 'RAG_COMPLETION', label: 'Completion using RAG', + }, { + value: 'GRAPH_COMPLETION_COT', + label: 'Cognee\'s Chain of Thought search', + }, { + value: 'GRAPH_COMPLETION_CONTEXT_EXTENSION', + label: 'Cognee\'s Multi-Hop search', }]; const [searchType, setSearchType] = useState(searchOptions[0]); + const [rangeValue, setRangeValue] = useState(10); const scrollToBottom = useCallback(() => { setTimeout(() => { @@ -90,6 +97,7 @@ export default function SearchView() { body: JSON.stringify({ query: inputValue.trim(), searchType: searchTypeValue, + topK: rangeValue, }), }) .then((response) => response.json()) @@ -108,7 +116,7 @@ export default function SearchView() { .catch(() => { setInputValue(inputValue); }); - }, [inputValue, scrollToBottom, searchType.value]); + }, [inputValue, rangeValue, scrollToBottom, searchType.value]); const { value: isInputExpanded, @@ -122,6 +130,10 @@ export default function SearchView() { } }; + const handleRangeValueChange = (event: React.ChangeEvent) => { + setRangeValue(parseInt(event.target.value)); + }; + return ( @@ -146,9 +158,15 @@ export default function SearchView() {
- +