cognee 0.5.1__py3-none-any.whl → 0.5.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cognee/__init__.py +2 -0
- cognee/alembic/README +1 -0
- cognee/alembic/env.py +107 -0
- cognee/alembic/script.py.mako +26 -0
- cognee/alembic/versions/1a58b986e6e1_enable_delete_for_old_tutorial_notebooks.py +52 -0
- cognee/alembic/versions/1d0bb7fede17_add_pipeline_run_status.py +33 -0
- cognee/alembic/versions/1daae0df1866_incremental_loading.py +48 -0
- cognee/alembic/versions/211ab850ef3d_add_sync_operations_table.py +118 -0
- cognee/alembic/versions/45957f0a9849_add_notebook_table.py +46 -0
- cognee/alembic/versions/46a6ce2bd2b2_expand_dataset_database_with_json_.py +333 -0
- cognee/alembic/versions/482cd6517ce4_add_default_user.py +30 -0
- cognee/alembic/versions/76625596c5c3_expand_dataset_database_for_multi_user.py +98 -0
- cognee/alembic/versions/8057ae7329c2_initial_migration.py +25 -0
- cognee/alembic/versions/9e7a3cb85175_loader_separation.py +104 -0
- cognee/alembic/versions/a1b2c3d4e5f6_add_label_column_to_data.py +38 -0
- cognee/alembic/versions/ab7e313804ae_permission_system_rework.py +236 -0
- cognee/alembic/versions/b9274c27a25a_kuzu_11_migration.py +75 -0
- cognee/alembic/versions/c946955da633_multi_tenant_support.py +137 -0
- cognee/alembic/versions/e1ec1dcb50b6_add_last_accessed_to_data.py +51 -0
- cognee/alembic/versions/e4ebee1091e7_expand_data_model_info.py +140 -0
- cognee/alembic.ini +117 -0
- cognee/api/v1/add/add.py +2 -1
- cognee/api/v1/add/routers/get_add_router.py +2 -0
- cognee/api/v1/cognify/cognify.py +11 -6
- cognee/api/v1/cognify/routers/get_cognify_router.py +8 -0
- cognee/api/v1/config/config.py +60 -0
- cognee/api/v1/datasets/routers/get_datasets_router.py +46 -3
- cognee/api/v1/memify/routers/get_memify_router.py +3 -0
- cognee/api/v1/search/routers/get_search_router.py +21 -6
- cognee/api/v1/search/search.py +21 -5
- cognee/api/v1/sync/routers/get_sync_router.py +3 -3
- cognee/cli/commands/add_command.py +1 -1
- cognee/cli/commands/cognify_command.py +6 -0
- cognee/cli/commands/config_command.py +1 -1
- cognee/context_global_variables.py +5 -1
- cognee/eval_framework/answer_generation/answer_generation_executor.py +7 -8
- cognee/infrastructure/databases/cache/cache_db_interface.py +38 -1
- cognee/infrastructure/databases/cache/config.py +6 -0
- cognee/infrastructure/databases/cache/fscache/FsCacheAdapter.py +21 -0
- cognee/infrastructure/databases/cache/get_cache_engine.py +9 -3
- cognee/infrastructure/databases/cache/redis/RedisAdapter.py +60 -1
- cognee/infrastructure/databases/dataset_database_handler/supported_dataset_database_handlers.py +7 -0
- cognee/infrastructure/databases/graph/get_graph_engine.py +29 -1
- cognee/infrastructure/databases/graph/neo4j_driver/Neo4jAuraDevDatasetDatabaseHandler.py +62 -27
- cognee/infrastructure/databases/hybrid/neptune_analytics/NeptuneAnalyticsAdapter.py +17 -4
- cognee/infrastructure/databases/relational/config.py +16 -1
- cognee/infrastructure/databases/relational/create_relational_engine.py +13 -3
- cognee/infrastructure/databases/relational/sqlalchemy/SqlAlchemyAdapter.py +26 -3
- cognee/infrastructure/databases/vector/chromadb/ChromaDBAdapter.py +2 -0
- cognee/infrastructure/databases/vector/config.py +6 -0
- cognee/infrastructure/databases/vector/create_vector_engine.py +70 -16
- cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py +64 -9
- cognee/infrastructure/databases/vector/embeddings/OllamaEmbeddingEngine.py +13 -2
- cognee/infrastructure/databases/vector/lancedb/LanceDBAdapter.py +16 -3
- cognee/infrastructure/databases/vector/models/ScoredResult.py +3 -3
- cognee/infrastructure/databases/vector/pgvector/PGVectorAdapter.py +16 -3
- cognee/infrastructure/databases/vector/pgvector/PGVectorDatasetDatabaseHandler.py +86 -0
- cognee/infrastructure/databases/vector/pgvector/create_db_and_tables.py +81 -2
- cognee/infrastructure/databases/vector/vector_db_interface.py +8 -0
- cognee/infrastructure/files/utils/get_data_file_path.py +33 -27
- cognee/infrastructure/llm/LLMGateway.py +0 -13
- cognee/infrastructure/llm/prompts/extract_query_time.txt +1 -1
- cognee/infrastructure/llm/prompts/generate_event_entity_prompt.txt +1 -1
- cognee/infrastructure/llm/prompts/generate_event_graph_prompt.txt +1 -1
- cognee/infrastructure/llm/prompts/generate_graph_prompt.txt +2 -2
- cognee/infrastructure/llm/prompts/generate_graph_prompt_guided.txt +1 -1
- cognee/infrastructure/llm/prompts/generate_graph_prompt_oneshot.txt +2 -2
- cognee/infrastructure/llm/prompts/generate_graph_prompt_simple.txt +1 -1
- cognee/infrastructure/llm/prompts/generate_graph_prompt_strict.txt +1 -1
- cognee/infrastructure/llm/prompts/search_type_selector_prompt.txt +6 -6
- cognee/infrastructure/llm/prompts/test.txt +1 -1
- cognee/infrastructure/llm/prompts/translate_content.txt +19 -0
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/anthropic/adapter.py +17 -12
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/gemini/adapter.py +31 -25
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/generic_llm_api/adapter.py +132 -7
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/get_llm_client.py +29 -5
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/llama_cpp/adapter.py +191 -0
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/llm_interface.py +2 -6
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/mistral/adapter.py +58 -13
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/ollama/adapter.py +0 -1
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/openai/adapter.py +25 -131
- cognee/infrastructure/llm/structured_output_framework/litellm_instructor/llm/types.py +10 -0
- cognee/modules/chunking/models/DocumentChunk.py +0 -1
- cognee/modules/cognify/config.py +2 -0
- cognee/modules/data/models/Data.py +3 -1
- cognee/modules/engine/models/Entity.py +0 -1
- cognee/modules/engine/operations/setup.py +6 -0
- cognee/modules/graph/cognee_graph/CogneeGraph.py +150 -37
- cognee/modules/graph/cognee_graph/CogneeGraphElements.py +48 -2
- cognee/modules/graph/utils/__init__.py +1 -0
- cognee/modules/graph/utils/get_entity_nodes_from_triplets.py +12 -0
- cognee/modules/notebooks/methods/__init__.py +1 -0
- cognee/modules/notebooks/methods/create_notebook.py +0 -34
- cognee/modules/notebooks/methods/create_tutorial_notebooks.py +191 -0
- cognee/modules/notebooks/methods/get_notebooks.py +12 -8
- cognee/modules/notebooks/tutorials/cognee-basics/cell-1.md +3 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-2.md +10 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-3.md +7 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-4.py +28 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-5.py +3 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-6.py +9 -0
- cognee/modules/notebooks/tutorials/cognee-basics/cell-7.py +17 -0
- cognee/modules/notebooks/tutorials/cognee-basics/config.json +4 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-1.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-10.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-11.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-12.py +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-13.md +7 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-14.py +6 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-15.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-16.py +7 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-2.md +9 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-3.md +7 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-4.md +9 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-5.md +5 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-6.py +13 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-7.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-8.md +3 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/cell-9.py +31 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/config.json +4 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/data/copilot_conversations.json +107 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/data/guido_contributions.json +976 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/data/my_developer_rules.md +79 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/data/pep_style_guide.md +74 -0
- cognee/modules/notebooks/tutorials/python-development-with-cognee/data/zen_principles.md +74 -0
- cognee/modules/retrieval/EntityCompletionRetriever.py +51 -38
- cognee/modules/retrieval/__init__.py +0 -1
- cognee/modules/retrieval/base_retriever.py +66 -10
- cognee/modules/retrieval/chunks_retriever.py +57 -49
- cognee/modules/retrieval/coding_rules_retriever.py +12 -5
- cognee/modules/retrieval/completion_retriever.py +29 -28
- cognee/modules/retrieval/cypher_search_retriever.py +25 -20
- cognee/modules/retrieval/graph_completion_context_extension_retriever.py +42 -46
- cognee/modules/retrieval/graph_completion_cot_retriever.py +68 -51
- cognee/modules/retrieval/graph_completion_retriever.py +78 -63
- cognee/modules/retrieval/graph_summary_completion_retriever.py +2 -0
- cognee/modules/retrieval/lexical_retriever.py +34 -12
- cognee/modules/retrieval/natural_language_retriever.py +18 -15
- cognee/modules/retrieval/summaries_retriever.py +51 -34
- cognee/modules/retrieval/temporal_retriever.py +59 -49
- cognee/modules/retrieval/triplet_retriever.py +32 -33
- cognee/modules/retrieval/utils/access_tracking.py +88 -0
- cognee/modules/retrieval/utils/brute_force_triplet_search.py +99 -103
- cognee/modules/retrieval/utils/node_edge_vector_search.py +174 -0
- cognee/modules/search/methods/__init__.py +1 -0
- cognee/modules/search/methods/get_retriever_output.py +53 -0
- cognee/modules/search/methods/get_search_type_retriever_instance.py +252 -0
- cognee/modules/search/methods/search.py +90 -222
- cognee/modules/search/models/SearchResultPayload.py +67 -0
- cognee/modules/search/types/SearchResult.py +1 -8
- cognee/modules/search/types/SearchType.py +1 -2
- cognee/modules/search/types/__init__.py +1 -1
- cognee/modules/search/utils/__init__.py +1 -2
- cognee/modules/search/utils/transform_insights_to_graph.py +2 -2
- cognee/modules/search/utils/{transform_context_to_graph.py → transform_triplets_to_graph.py} +2 -2
- cognee/modules/users/authentication/default/default_transport.py +11 -1
- cognee/modules/users/authentication/get_api_auth_backend.py +2 -1
- cognee/modules/users/authentication/get_client_auth_backend.py +2 -1
- cognee/modules/users/methods/create_user.py +0 -9
- cognee/modules/users/permissions/methods/has_user_management_permission.py +29 -0
- cognee/modules/visualization/cognee_network_visualization.py +1 -1
- cognee/run_migrations.py +48 -0
- cognee/shared/exceptions/__init__.py +1 -3
- cognee/shared/exceptions/exceptions.py +11 -1
- cognee/shared/usage_logger.py +332 -0
- cognee/shared/utils.py +12 -5
- cognee/tasks/chunks/__init__.py +9 -0
- cognee/tasks/cleanup/cleanup_unused_data.py +172 -0
- cognee/tasks/graph/__init__.py +7 -0
- cognee/tasks/ingestion/data_item.py +8 -0
- cognee/tasks/ingestion/ingest_data.py +12 -1
- cognee/tasks/ingestion/save_data_item_to_storage.py +5 -0
- cognee/tasks/memify/__init__.py +8 -0
- cognee/tasks/memify/extract_usage_frequency.py +613 -0
- cognee/tasks/summarization/models.py +0 -2
- cognee/tasks/temporal_graph/__init__.py +0 -1
- cognee/tasks/translation/__init__.py +96 -0
- cognee/tasks/translation/config.py +110 -0
- cognee/tasks/translation/detect_language.py +190 -0
- cognee/tasks/translation/exceptions.py +62 -0
- cognee/tasks/translation/models.py +72 -0
- cognee/tasks/translation/providers/__init__.py +44 -0
- cognee/tasks/translation/providers/azure_provider.py +192 -0
- cognee/tasks/translation/providers/base.py +85 -0
- cognee/tasks/translation/providers/google_provider.py +158 -0
- cognee/tasks/translation/providers/llm_provider.py +143 -0
- cognee/tasks/translation/translate_content.py +282 -0
- cognee/tasks/web_scraper/default_url_crawler.py +6 -2
- cognee/tests/cli_tests/cli_unit_tests/test_cli_commands.py +1 -0
- cognee/tests/cli_tests/cli_unit_tests/test_cli_edge_cases.py +3 -0
- cognee/tests/integration/retrieval/test_brute_force_triplet_search_with_cognify.py +62 -0
- cognee/tests/integration/retrieval/test_chunks_retriever.py +351 -0
- cognee/tests/integration/retrieval/test_graph_completion_retriever.py +276 -0
- cognee/tests/integration/retrieval/test_graph_completion_retriever_context_extension.py +228 -0
- cognee/tests/integration/retrieval/test_graph_completion_retriever_cot.py +217 -0
- cognee/tests/integration/retrieval/test_rag_completion_retriever.py +319 -0
- cognee/tests/integration/retrieval/test_structured_output.py +258 -0
- cognee/tests/integration/retrieval/test_summaries_retriever.py +195 -0
- cognee/tests/integration/retrieval/test_temporal_retriever.py +336 -0
- cognee/tests/integration/retrieval/test_triplet_retriever.py +45 -1
- cognee/tests/integration/shared/test_usage_logger_integration.py +255 -0
- cognee/tests/tasks/translation/README.md +147 -0
- cognee/tests/tasks/translation/__init__.py +1 -0
- cognee/tests/tasks/translation/config_test.py +93 -0
- cognee/tests/tasks/translation/detect_language_test.py +118 -0
- cognee/tests/tasks/translation/providers_test.py +151 -0
- cognee/tests/tasks/translation/translate_content_test.py +213 -0
- cognee/tests/test_chromadb.py +1 -1
- cognee/tests/test_cleanup_unused_data.py +165 -0
- cognee/tests/test_custom_data_label.py +68 -0
- cognee/tests/test_delete_by_id.py +6 -6
- cognee/tests/test_extract_usage_frequency.py +308 -0
- cognee/tests/test_kuzu.py +17 -7
- cognee/tests/test_lancedb.py +3 -1
- cognee/tests/test_library.py +1 -1
- cognee/tests/test_neo4j.py +17 -7
- cognee/tests/test_neptune_analytics_vector.py +3 -1
- cognee/tests/test_permissions.py +172 -187
- cognee/tests/test_pgvector.py +3 -1
- cognee/tests/test_relational_db_migration.py +15 -1
- cognee/tests/test_remote_kuzu.py +3 -1
- cognee/tests/test_s3_file_storage.py +1 -1
- cognee/tests/test_search_db.py +345 -205
- cognee/tests/test_usage_logger_e2e.py +268 -0
- cognee/tests/unit/api/test_get_raw_data_endpoint.py +206 -0
- cognee/tests/unit/eval_framework/answer_generation_test.py +4 -3
- cognee/tests/unit/eval_framework/benchmark_adapters_test.py +25 -0
- cognee/tests/unit/eval_framework/corpus_builder_test.py +33 -4
- cognee/tests/unit/infrastructure/databases/cache/test_cache_config.py +2 -0
- cognee/tests/unit/infrastructure/databases/relational/test_RelationalConfig.py +69 -0
- cognee/tests/unit/modules/graph/cognee_graph_elements_test.py +42 -2
- cognee/tests/unit/modules/graph/cognee_graph_test.py +329 -31
- cognee/tests/unit/modules/retrieval/chunks_retriever_test.py +122 -168
- cognee/tests/unit/modules/retrieval/conversation_history_test.py +338 -0
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_context_extension_test.py +486 -157
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_cot_test.py +693 -155
- cognee/tests/unit/modules/retrieval/graph_completion_retriever_test.py +619 -200
- cognee/tests/unit/modules/retrieval/rag_completion_retriever_test.py +300 -171
- cognee/tests/unit/modules/retrieval/summaries_retriever_test.py +184 -155
- cognee/tests/unit/modules/retrieval/temporal_retriever_test.py +544 -79
- cognee/tests/unit/modules/retrieval/test_brute_force_triplet_search.py +476 -28
- cognee/tests/unit/modules/retrieval/test_completion.py +343 -0
- cognee/tests/unit/modules/retrieval/test_graph_summary_completion_retriever.py +157 -0
- cognee/tests/unit/modules/retrieval/test_node_edge_vector_search.py +273 -0
- cognee/tests/unit/modules/retrieval/test_user_qa_feedback.py +312 -0
- cognee/tests/unit/modules/retrieval/triplet_retriever_test.py +267 -7
- cognee/tests/unit/modules/search/test_get_search_type_retriever_instance.py +125 -0
- cognee/tests/unit/modules/search/test_search.py +96 -20
- cognee/tests/unit/modules/search/test_search_prepare_search_result_contract.py +190 -0
- cognee/tests/unit/modules/users/test_tutorial_notebook_creation.py +511 -297
- cognee/tests/unit/shared/test_usage_logger.py +241 -0
- cognee/tests/unit/users/permissions/test_has_user_management_permission.py +46 -0
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/METADATA +22 -17
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/RECORD +258 -157
- cognee/api/.env.example +0 -5
- cognee/modules/retrieval/base_graph_retriever.py +0 -24
- cognee/modules/search/methods/get_search_type_tools.py +0 -223
- cognee/modules/search/methods/no_access_control_search.py +0 -62
- cognee/modules/search/utils/prepare_search_result.py +0 -63
- cognee/tests/test_feedback_enrichment.py +0 -174
- cognee/tests/unit/modules/retrieval/structured_output_test.py +0 -204
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/WHEEL +0 -0
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/entry_points.txt +0 -0
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/licenses/LICENSE +0 -0
- {cognee-0.5.1.dist-info → cognee-0.5.2.dist-info}/licenses/NOTICE.md +0 -0
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
import cognee
|
|
5
|
-
import pathlib
|
|
6
|
-
import os
|
|
7
|
-
|
|
8
|
-
from pydantic import BaseModel
|
|
9
|
-
from cognee.low_level import setup, DataPoint
|
|
10
|
-
from cognee.tasks.storage import add_data_points
|
|
11
|
-
from cognee.modules.chunking.models import DocumentChunk
|
|
12
|
-
from cognee.modules.data.processing.document_types import TextDocument
|
|
13
|
-
from cognee.modules.engine.models import Entity, EntityType
|
|
14
|
-
from cognee.modules.retrieval.entity_extractors.DummyEntityExtractor import DummyEntityExtractor
|
|
15
|
-
from cognee.modules.retrieval.context_providers.DummyContextProvider import DummyContextProvider
|
|
16
|
-
from cognee.modules.retrieval.graph_completion_cot_retriever import GraphCompletionCotRetriever
|
|
17
|
-
from cognee.modules.retrieval.graph_completion_retriever import GraphCompletionRetriever
|
|
18
|
-
from cognee.modules.retrieval.graph_completion_context_extension_retriever import (
|
|
19
|
-
GraphCompletionContextExtensionRetriever,
|
|
20
|
-
)
|
|
21
|
-
from cognee.modules.retrieval.EntityCompletionRetriever import EntityCompletionRetriever
|
|
22
|
-
from cognee.modules.retrieval.temporal_retriever import TemporalRetriever
|
|
23
|
-
from cognee.modules.retrieval.completion_retriever import CompletionRetriever
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class TestAnswer(BaseModel):
|
|
27
|
-
answer: str
|
|
28
|
-
explanation: str
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def _assert_string_answer(answer: list[str]):
|
|
32
|
-
assert isinstance(answer, list), f"Expected str, got {type(answer).__name__}"
|
|
33
|
-
assert all(isinstance(item, str) and item.strip() for item in answer), "Items should be strings"
|
|
34
|
-
assert all(item.strip() for item in answer), "Items should not be empty"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def _assert_structured_answer(answer: list[TestAnswer]):
|
|
38
|
-
assert isinstance(answer, list), f"Expected list, got {type(answer).__name__}"
|
|
39
|
-
assert all(isinstance(x, TestAnswer) for x in answer), "Items should be TestAnswer"
|
|
40
|
-
assert all(x.answer.strip() for x in answer), "Answer text should not be empty"
|
|
41
|
-
assert all(x.explanation.strip() for x in answer), "Explanation should not be empty"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
async def _test_get_structured_graph_completion_cot():
|
|
45
|
-
retriever = GraphCompletionCotRetriever()
|
|
46
|
-
|
|
47
|
-
# Test with string response model (default)
|
|
48
|
-
string_answer = await retriever.get_completion("Who works at Figma?")
|
|
49
|
-
_assert_string_answer(string_answer)
|
|
50
|
-
|
|
51
|
-
# Test with structured response model
|
|
52
|
-
structured_answer = await retriever.get_completion(
|
|
53
|
-
"Who works at Figma?", response_model=TestAnswer
|
|
54
|
-
)
|
|
55
|
-
_assert_structured_answer(structured_answer)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
async def _test_get_structured_graph_completion():
|
|
59
|
-
retriever = GraphCompletionRetriever()
|
|
60
|
-
|
|
61
|
-
# Test with string response model (default)
|
|
62
|
-
string_answer = await retriever.get_completion("Who works at Figma?")
|
|
63
|
-
_assert_string_answer(string_answer)
|
|
64
|
-
|
|
65
|
-
# Test with structured response model
|
|
66
|
-
structured_answer = await retriever.get_completion(
|
|
67
|
-
"Who works at Figma?", response_model=TestAnswer
|
|
68
|
-
)
|
|
69
|
-
_assert_structured_answer(structured_answer)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
async def _test_get_structured_graph_completion_temporal():
|
|
73
|
-
retriever = TemporalRetriever()
|
|
74
|
-
|
|
75
|
-
# Test with string response model (default)
|
|
76
|
-
string_answer = await retriever.get_completion("When did Steve start working at Figma?")
|
|
77
|
-
_assert_string_answer(string_answer)
|
|
78
|
-
|
|
79
|
-
# Test with structured response model
|
|
80
|
-
structured_answer = await retriever.get_completion(
|
|
81
|
-
"When did Steve start working at Figma??", response_model=TestAnswer
|
|
82
|
-
)
|
|
83
|
-
_assert_structured_answer(structured_answer)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
async def _test_get_structured_graph_completion_rag():
|
|
87
|
-
retriever = CompletionRetriever()
|
|
88
|
-
|
|
89
|
-
# Test with string response model (default)
|
|
90
|
-
string_answer = await retriever.get_completion("Where does Steve work?")
|
|
91
|
-
_assert_string_answer(string_answer)
|
|
92
|
-
|
|
93
|
-
# Test with structured response model
|
|
94
|
-
structured_answer = await retriever.get_completion(
|
|
95
|
-
"Where does Steve work?", response_model=TestAnswer
|
|
96
|
-
)
|
|
97
|
-
_assert_structured_answer(structured_answer)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
async def _test_get_structured_graph_completion_context_extension():
|
|
101
|
-
retriever = GraphCompletionContextExtensionRetriever()
|
|
102
|
-
|
|
103
|
-
# Test with string response model (default)
|
|
104
|
-
string_answer = await retriever.get_completion("Who works at Figma?")
|
|
105
|
-
_assert_string_answer(string_answer)
|
|
106
|
-
|
|
107
|
-
# Test with structured response model
|
|
108
|
-
structured_answer = await retriever.get_completion(
|
|
109
|
-
"Who works at Figma?", response_model=TestAnswer
|
|
110
|
-
)
|
|
111
|
-
_assert_structured_answer(structured_answer)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
async def _test_get_structured_entity_completion():
|
|
115
|
-
retriever = EntityCompletionRetriever(DummyEntityExtractor(), DummyContextProvider())
|
|
116
|
-
|
|
117
|
-
# Test with string response model (default)
|
|
118
|
-
string_answer = await retriever.get_completion("Who is Albert Einstein?")
|
|
119
|
-
_assert_string_answer(string_answer)
|
|
120
|
-
|
|
121
|
-
# Test with structured response model
|
|
122
|
-
structured_answer = await retriever.get_completion(
|
|
123
|
-
"Who is Albert Einstein?", response_model=TestAnswer
|
|
124
|
-
)
|
|
125
|
-
_assert_structured_answer(structured_answer)
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
class TestStructuredOutputCompletion:
|
|
129
|
-
@pytest.mark.asyncio
|
|
130
|
-
async def test_get_structured_completion(self):
|
|
131
|
-
system_directory_path = os.path.join(
|
|
132
|
-
pathlib.Path(__file__).parent, ".cognee_system/test_get_structured_completion"
|
|
133
|
-
)
|
|
134
|
-
cognee.config.system_root_directory(system_directory_path)
|
|
135
|
-
data_directory_path = os.path.join(
|
|
136
|
-
pathlib.Path(__file__).parent, ".data_storage/test_get_structured_completion"
|
|
137
|
-
)
|
|
138
|
-
cognee.config.data_root_directory(data_directory_path)
|
|
139
|
-
|
|
140
|
-
await cognee.prune.prune_data()
|
|
141
|
-
await cognee.prune.prune_system(metadata=True)
|
|
142
|
-
await setup()
|
|
143
|
-
|
|
144
|
-
class Company(DataPoint):
|
|
145
|
-
name: str
|
|
146
|
-
|
|
147
|
-
class Person(DataPoint):
|
|
148
|
-
name: str
|
|
149
|
-
works_for: Company
|
|
150
|
-
works_since: int
|
|
151
|
-
|
|
152
|
-
company1 = Company(name="Figma")
|
|
153
|
-
person1 = Person(name="Steve Rodger", works_for=company1, works_since=2015)
|
|
154
|
-
|
|
155
|
-
entities = [company1, person1]
|
|
156
|
-
await add_data_points(entities)
|
|
157
|
-
|
|
158
|
-
document = TextDocument(
|
|
159
|
-
name="Steve Rodger's career",
|
|
160
|
-
raw_data_location="somewhere",
|
|
161
|
-
external_metadata="",
|
|
162
|
-
mime_type="text/plain",
|
|
163
|
-
)
|
|
164
|
-
|
|
165
|
-
chunk1 = DocumentChunk(
|
|
166
|
-
text="Steve Rodger",
|
|
167
|
-
chunk_size=2,
|
|
168
|
-
chunk_index=0,
|
|
169
|
-
cut_type="sentence_end",
|
|
170
|
-
is_part_of=document,
|
|
171
|
-
contains=[],
|
|
172
|
-
)
|
|
173
|
-
chunk2 = DocumentChunk(
|
|
174
|
-
text="Mike Broski",
|
|
175
|
-
chunk_size=2,
|
|
176
|
-
chunk_index=1,
|
|
177
|
-
cut_type="sentence_end",
|
|
178
|
-
is_part_of=document,
|
|
179
|
-
contains=[],
|
|
180
|
-
)
|
|
181
|
-
chunk3 = DocumentChunk(
|
|
182
|
-
text="Christina Mayer",
|
|
183
|
-
chunk_size=2,
|
|
184
|
-
chunk_index=2,
|
|
185
|
-
cut_type="sentence_end",
|
|
186
|
-
is_part_of=document,
|
|
187
|
-
contains=[],
|
|
188
|
-
)
|
|
189
|
-
|
|
190
|
-
entities = [chunk1, chunk2, chunk3]
|
|
191
|
-
await add_data_points(entities)
|
|
192
|
-
|
|
193
|
-
entity_type = EntityType(name="Person", description="A human individual")
|
|
194
|
-
entity = Entity(name="Albert Einstein", is_a=entity_type, description="A famous physicist")
|
|
195
|
-
|
|
196
|
-
entities = [entity]
|
|
197
|
-
await add_data_points(entities)
|
|
198
|
-
|
|
199
|
-
await _test_get_structured_graph_completion_cot()
|
|
200
|
-
await _test_get_structured_graph_completion()
|
|
201
|
-
await _test_get_structured_graph_completion_temporal()
|
|
202
|
-
await _test_get_structured_graph_completion_rag()
|
|
203
|
-
await _test_get_structured_graph_completion_context_extension()
|
|
204
|
-
await _test_get_structured_entity_completion()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|