From 75b98e0dc661668c0d58bd57b68addc8d9911bad Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:18:38 +0100 Subject: [PATCH 1/3] feat: deletes executor limit from get_repo_file_dependencies --- cognee/tasks/repo_processor/get_repo_file_dependencies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cognee/tasks/repo_processor/get_repo_file_dependencies.py b/cognee/tasks/repo_processor/get_repo_file_dependencies.py index 221af6cf6..b82870796 100644 --- a/cognee/tasks/repo_processor/get_repo_file_dependencies.py +++ b/cognee/tasks/repo_processor/get_repo_file_dependencies.py @@ -73,7 +73,7 @@ async def get_repo_file_dependencies(repo_path: str) -> AsyncGenerator[list, Non yield repo - with ProcessPoolExecutor(max_workers = 12) as executor: + with ProcessPoolExecutor() as executor: loop = asyncio.get_event_loop() tasks = [ From 5eaeebd14e557f9d405fdc98a10b3fa158b11184 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:19:32 +0100 Subject: [PATCH 2/3] feat: implements mock feature in LiteLLM engine --- .../embeddings/LiteLLMEmbeddingEngine.py | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py b/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py index b5d780d60..31e49a676 100644 --- a/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py +++ b/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py @@ -3,6 +3,7 @@ import logging import math from typing import List, Optional import litellm +import os from cognee.infrastructure.databases.vector.embeddings.EmbeddingEngine import EmbeddingEngine litellm.set_verbose = False @@ -14,6 +15,7 @@ class LiteLLMEmbeddingEngine(EmbeddingEngine): api_version: str model: str dimensions: int + mock:bool def __init__( self, @@ -28,6 +30,7 @@ class LiteLLMEmbeddingEngine(EmbeddingEngine): self.api_version = api_version self.model = model self.dimensions = dimensions + self.mock = os.getenv("MOCK_EMBEDDING", False).lower() in ("true", "1", "yes") MAX_RETRIES = 5 retry_count = 0 @@ -38,17 +41,26 @@ class LiteLLMEmbeddingEngine(EmbeddingEngine): await asyncio.sleep(wait_time) try: - response = await litellm.aembedding( - self.model, - input = text, - api_key = self.api_key, - api_base = self.endpoint, - api_version = self.api_version - ) + if self.mock: + response = { + "data": [{"embedding": [0.0] * self.dimensions} for _ in text] + } - self.retry_count = 0 + self.retry_count = 0 - return [data["embedding"] for data in response.data] + return [data["embedding"] for data in response["data"]] + else: + response = await litellm.aembedding( + self.model, + input = text, + api_key = self.api_key, + api_base = self.endpoint, + api_version = self.api_version + ) + + self.retry_count = 0 + + return [data["embedding"] for data in response.data] except litellm.exceptions.ContextWindowExceededError as error: if isinstance(text, list): From d7493879af1cae93e84190e31140f5e135e33796 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Wed, 18 Dec 2024 14:39:54 +0100 Subject: [PATCH 3/3] fix: fixing boolean env for github actions --- .../databases/vector/embeddings/LiteLLMEmbeddingEngine.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py b/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py index 31e49a676..dce12b318 100644 --- a/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py +++ b/cognee/infrastructure/databases/vector/embeddings/LiteLLMEmbeddingEngine.py @@ -30,7 +30,11 @@ class LiteLLMEmbeddingEngine(EmbeddingEngine): self.api_version = api_version self.model = model self.dimensions = dimensions - self.mock = os.getenv("MOCK_EMBEDDING", False).lower() in ("true", "1", "yes") + + enable_mocking = os.getenv("MOCK_EMBEDDING", "false") + if isinstance(enable_mocking, bool): + enable_mocking= str(enable_mocking).lower() + self.mock = enable_mocking in ("true", "1", "yes") MAX_RETRIES = 5 retry_count = 0