refactor: Refactor search so graph completion is used by default (#505)
<!-- .github/pull_request_template.md --> ## Description Refactor search so query type doesn't need to be provided to make it simpler for new 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 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved the search interface by standardizing parameter usage with explicit keyword arguments for specifying search types, enhancing clarity and consistency. - **Tests** - Updated test cases and example integrations to align with the revised search parameters, ensuring consistent behavior and reliable validation of search outcomes. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
parent
8396fed9a1
commit
5fe7ff9883
23 changed files with 119 additions and 70 deletions
10
.github/workflows/test_dynamic_steps_example.yml
vendored
10
.github/workflows/test_dynamic_steps_example.yml
vendored
|
|
@ -16,13 +16,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
example-location: ./examples/python/dynamic_steps_example.py
|
example-location: ./examples/python/dynamic_steps_example.py
|
||||||
secrets:
|
secrets:
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
||||||
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
||||||
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,51 @@ concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
RUNTIME__LOG_LEVEL: ERROR
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_notebook_test:
|
run_notebook_test:
|
||||||
uses: ./.github/workflows/reusable_notebook.yml
|
name: test
|
||||||
with:
|
runs-on: ubuntu-22.04
|
||||||
notebook-location: notebooks/llama_index_cognee_integration.ipynb
|
defaults:
|
||||||
secrets:
|
run:
|
||||||
#LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
shell: bash
|
||||||
#LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
steps:
|
||||||
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
- name: Check out
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
uses: actions/checkout@master
|
||||||
#LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
||||||
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
- name: Setup Python
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
uses: actions/setup-python@v5
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
with:
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
python-version: '3.11.x'
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
- name: Install Poetry
|
||||||
|
uses: snok/install-poetry@v1.4.1
|
||||||
|
with:
|
||||||
|
virtualenvs-create: true
|
||||||
|
virtualenvs-in-project: true
|
||||||
|
installer-parallel: true
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
pip install jupyter
|
||||||
|
pip install llama-index-graph-rag-cognee==0.1.2
|
||||||
|
|
||||||
|
- name: Execute Jupyter Notebook
|
||||||
|
env:
|
||||||
|
ENV: 'dev'
|
||||||
|
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
|
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
||||||
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
||||||
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
||||||
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
||||||
|
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||||
|
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||||
|
run: |
|
||||||
|
poetry run jupyter nbconvert \
|
||||||
|
--to notebook \
|
||||||
|
--execute notebooks/llama_index_cognee_integration.ipynb \
|
||||||
|
--output executed_notebook.ipynb \
|
||||||
|
--ExecutePreprocessor.timeout=1200
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
example-location: ./examples/python/multimedia_example.py
|
example-location: ./examples/python/multimedia_example.py
|
||||||
secrets:
|
secrets:
|
||||||
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }} # Use OpenAI until we deploy models to handle multimedia
|
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||||
|
|
|
||||||
10
.github/workflows/test_simple_example.yml
vendored
10
.github/workflows/test_simple_example.yml
vendored
|
|
@ -16,13 +16,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
example-location: ./examples/python/simple_example.py
|
example-location: ./examples/python/simple_example.py
|
||||||
secrets:
|
secrets:
|
||||||
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
LLM_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||||
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
||||||
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
||||||
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
|
||||||
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
|
||||||
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
|
||||||
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
|
||||||
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
GRAPHISTRY_USERNAME: ${{ secrets.GRAPHISTRY_USERNAME }}
|
||||||
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
GRAPHISTRY_PASSWORD: ${{ secrets.GRAPHISTRY_PASSWORD }}
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,7 @@ async def main():
|
||||||
print(f"Searching cognee for insights with query: '{query_text}'")
|
print(f"Searching cognee for insights with query: '{query_text}'")
|
||||||
# Query cognee for insights on the added text
|
# Query cognee for insights on the added text
|
||||||
search_results = await cognee.search(
|
search_results = await cognee.search(
|
||||||
SearchType.INSIGHTS, query_text=query_text
|
query_text=query_text, query_type=SearchType.INSIGHTS
|
||||||
)
|
)
|
||||||
|
|
||||||
print("Search results:")
|
print("Search results:")
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ from cognee.modules.search.methods import search as search_function
|
||||||
|
|
||||||
|
|
||||||
async def search(
|
async def search(
|
||||||
query_type: SearchType,
|
|
||||||
query_text: str,
|
query_text: str,
|
||||||
|
query_type: SearchType = SearchType.GRAPH_COMPLETION,
|
||||||
user: User = None,
|
user: User = None,
|
||||||
datasets: Union[list[str], str, None] = None,
|
datasets: Union[list[str], str, None] = None,
|
||||||
) -> list:
|
) -> list:
|
||||||
|
|
|
||||||
|
|
@ -50,19 +50,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity.name", "AI"))[0]
|
random_node = (await vector_engine.search("entity.name", "AI"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\nExtracted summaries are:\n")
|
print("\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -47,19 +47,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "AI"))[0]
|
random_node = (await vector_engine.search("entity_name", "AI"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\nExtracted summaries are:\n")
|
print("\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -58,19 +58,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted INSIGHTS are:\n")
|
print("\n\nExtracted INSIGHTS are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted CHUNKS are:\n")
|
print("\n\nExtracted CHUNKS are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\nExtracted SUMMARIES are:\n")
|
print("\nExtracted SUMMARIES are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -51,19 +51,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\nExtracted summaries are:\n")
|
print("\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -126,21 +126,25 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(
|
search_results = await cognee.search(
|
||||||
SearchType.CHUNKS, query_text=random_node_name, datasets=[dataset_name_2]
|
query_type=SearchType.CHUNKS, query_text=random_node_name, datasets=[dataset_name_2]
|
||||||
)
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\n\nExtracted summaries are:\n")
|
print("\n\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -51,19 +51,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.INSIGHTS, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\nExtracted summaries are:\n")
|
print("\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -51,19 +51,23 @@ async def main():
|
||||||
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
random_node = (await vector_engine.search("entity_name", "Quantum computer"))[0]
|
||||||
random_node_name = random_node.payload["text"]
|
random_node_name = random_node.payload["text"]
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_text=random_node_name, query_type=SearchType.INSIGHTS
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted sentences are:\n")
|
print("\n\nExtracted sentences are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.CHUNKS, query_text=random_node_name)
|
search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=random_node_name)
|
||||||
assert len(search_results) != 0, "The search results list is empty."
|
assert len(search_results) != 0, "The search results list is empty."
|
||||||
print("\n\nExtracted chunks are:\n")
|
print("\n\nExtracted chunks are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
print(f"{result}\n")
|
print(f"{result}\n")
|
||||||
|
|
||||||
search_results = await cognee.search(SearchType.SUMMARIES, query_text=random_node_name)
|
search_results = await cognee.search(
|
||||||
|
query_type=SearchType.SUMMARIES, query_text=random_node_name
|
||||||
|
)
|
||||||
assert len(search_results) != 0, "Query related summaries don't exist."
|
assert len(search_results) != 0, "Query related summaries don't exist."
|
||||||
print("\nExtracted summaries are:\n")
|
print("\nExtracted summaries are:\n")
|
||||||
for result in search_results:
|
for result in search_results:
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,9 @@ async def get_context_with_cognee(
|
||||||
|
|
||||||
search_results = []
|
search_results = []
|
||||||
for search_type in search_types:
|
for search_type in search_types:
|
||||||
raw_search_results = await cognee.search(search_type, query_text=instance["question"])
|
raw_search_results = await cognee.search(
|
||||||
|
query_type=search_type, query_text=instance["question"]
|
||||||
|
)
|
||||||
|
|
||||||
if search_type == SearchType.INSIGHTS:
|
if search_type == SearchType.INSIGHTS:
|
||||||
res_list = [_insight_to_string(edge) for edge in raw_search_results]
|
res_list = [_insight_to_string(edge) for edge in raw_search_results]
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ async def cognify_search_base_rag(content: str, context: str):
|
||||||
async def cognify_search_graph(content: str, context: str):
|
async def cognify_search_graph(content: str, context: str):
|
||||||
from cognee.api.v1.search import search, SearchType
|
from cognee.api.v1.search import search, SearchType
|
||||||
|
|
||||||
results = await search(SearchType.INSIGHTS, query_text="Donald Trump")
|
results = await search(query_type=SearchType.INSIGHTS, query_text="Donald Trump")
|
||||||
print("results", results)
|
print("results", results)
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ async def main(enable_steps):
|
||||||
# Step 4: Query insights
|
# Step 4: Query insights
|
||||||
if enable_steps.get("retriever"):
|
if enable_steps.get("retriever"):
|
||||||
search_results = await cognee.search(
|
search_results = await cognee.search(
|
||||||
SearchType.GRAPH_COMPLETION, query_text="Who has experience in design tools?"
|
query_type=SearchType.GRAPH_COMPLETION, query_text="Who has experience in design tools?"
|
||||||
)
|
)
|
||||||
print(search_results)
|
print(search_results)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ async def main():
|
||||||
|
|
||||||
# Query cognee for summaries of the data in the multimedia files
|
# Query cognee for summaries of the data in the multimedia files
|
||||||
search_results = await cognee.search(
|
search_results = await cognee.search(
|
||||||
SearchType.SUMMARIES,
|
query_type=SearchType.SUMMARIES,
|
||||||
query_text="What is in the multimedia files?",
|
query_text="What is in the multimedia files?",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ async def main():
|
||||||
query_text = "Tell me about NLP"
|
query_text = "Tell me about NLP"
|
||||||
print(f"Searching cognee for insights with query: '{query_text}'")
|
print(f"Searching cognee for insights with query: '{query_text}'")
|
||||||
# Query cognee for insights on the added text
|
# Query cognee for insights on the added text
|
||||||
search_results = await cognee.search(SearchType.INSIGHTS, query_text=query_text)
|
search_results = await cognee.search(query_type=SearchType.INSIGHTS, query_text=query_text)
|
||||||
|
|
||||||
print("Search results:")
|
print("Search results:")
|
||||||
# Display results
|
# Display results
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ async def entry(text: str, query: str):
|
||||||
await cognee.prune.prune_system(metadata=True)
|
await cognee.prune.prune_system(metadata=True)
|
||||||
await cognee.add(text)
|
await cognee.add(text)
|
||||||
await cognee.cognify()
|
await cognee.cognify()
|
||||||
search_results = await cognee.search(SearchType.GRAPH_COMPLETION, query_text=query)
|
search_results = await cognee.search(query_type=SearchType.GRAPH_COMPLETION, query_text=query)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"text": text,
|
"text": text,
|
||||||
|
|
|
||||||
|
|
@ -830,7 +830,7 @@
|
||||||
"node = (await vector_engine.search(\"entity_name\", \"sarah.nguyen@example.com\"))[0]\n",
|
"node = (await vector_engine.search(\"entity_name\", \"sarah.nguyen@example.com\"))[0]\n",
|
||||||
"node_name = node.payload[\"text\"]\n",
|
"node_name = node.payload[\"text\"]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"search_results = await cognee.search(SearchType.SUMMARIES, query_text = node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.SUMMARIES, query_text = node_name)\n",
|
||||||
"print(\"\\n\\Extracted summaries are:\\n\")\n",
|
"print(\"\\n\\Extracted summaries are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
@ -851,7 +851,7 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"search_results = await cognee.search(SearchType.CHUNKS, query_text = node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text = node_name)\n",
|
||||||
"print(\"\\n\\nExtracted chunks are:\\n\")\n",
|
"print(\"\\n\\nExtracted chunks are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
@ -872,7 +872,7 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"search_results = await cognee.search(SearchType.INSIGHTS, query_text = node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.INSIGHTS, query_text = node_name)\n",
|
||||||
"print(\"\\n\\nExtracted sentences are:\\n\")\n",
|
"print(\"\\n\\nExtracted sentences are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,7 @@
|
||||||
"\n",
|
"\n",
|
||||||
"# Query cognee for summaries\n",
|
"# Query cognee for summaries\n",
|
||||||
"search_results = await cognee.search(\n",
|
"search_results = await cognee.search(\n",
|
||||||
" SearchType.SUMMARIES, query_text=\"What are the main news discussed in the document?\"\n",
|
" query_type=SearchType.SUMMARIES, query_text=\"What are the main news discussed in the document?\"\n",
|
||||||
")\n",
|
")\n",
|
||||||
"# Display search results\n",
|
"# Display search results\n",
|
||||||
"print(\"\\n Summary of main news discussed:\\n\")\n",
|
"print(\"\\n Summary of main news discussed:\\n\")\n",
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@
|
||||||
"\n",
|
"\n",
|
||||||
"# Query cognee for summaries of the data in the multimedia files\n",
|
"# Query cognee for summaries of the data in the multimedia files\n",
|
||||||
"search_results = await cognee.search(\n",
|
"search_results = await cognee.search(\n",
|
||||||
" SearchType.SUMMARIES,\n",
|
" query_type=SearchType.SUMMARIES,\n",
|
||||||
" query_text=\"What is in the multimedia files?\",\n",
|
" query_text=\"What is in the multimedia files?\",\n",
|
||||||
")\n",
|
")\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
|
|
||||||
|
|
@ -566,7 +566,7 @@
|
||||||
"node = (await vector_engine.search(\"entity_name\", \"sarah.nguyen@example.com\"))[0]\n",
|
"node = (await vector_engine.search(\"entity_name\", \"sarah.nguyen@example.com\"))[0]\n",
|
||||||
"node_name = node.payload[\"text\"]\n",
|
"node_name = node.payload[\"text\"]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"search_results = await cognee.search(SearchType.SUMMARIES, query_text=node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.SUMMARIES, query_text=node_name)\n",
|
||||||
"print(\"\\n\\Extracted summaries are:\\n\")\n",
|
"print(\"\\n\\Extracted summaries are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
@ -587,7 +587,7 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"search_results = await cognee.search(SearchType.CHUNKS, query_text=node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.CHUNKS, query_text=node_name)\n",
|
||||||
"print(\"\\n\\nExtracted chunks are:\\n\")\n",
|
"print(\"\\n\\nExtracted chunks are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
@ -608,7 +608,7 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"search_results = await cognee.search(SearchType.INSIGHTS, query_text=node_name)\n",
|
"search_results = await cognee.search(query_type=SearchType.INSIGHTS, query_text=node_name)\n",
|
||||||
"print(\"\\n\\nExtracted sentences are:\\n\")\n",
|
"print(\"\\n\\nExtracted sentences are:\\n\")\n",
|
||||||
"for result in search_results:\n",
|
"for result in search_results:\n",
|
||||||
" print(f\"{result}\\n\")"
|
" print(f\"{result}\\n\")"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue