Skip to content

Commit

Permalink
fix lint
Browse files Browse the repository at this point in the history
  • Loading branch information
yrobla committed Nov 29, 2024
1 parent abafcc0 commit 9e5c84a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
6 changes: 4 additions & 2 deletions src/codegate/pipeline/codegate_context_retriever/codegate.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ async def get_objects_from_search(self, search: str) -> list[object]:
return objects

def generate_context_str(self, objects: list[object]) -> str:
context_str = "Please use the information about related packages to influence your answer:\n"
context_str = "Please use the information about related packages "
"to influence your answer:\n"
for obj in objects:
# generate dictionary from object
package_obj = {
Expand Down Expand Up @@ -66,7 +67,8 @@ async def process(
last_user_message_str, last_user_idx = last_user_message
if "codegate" in last_user_message_str.lower():
# strip codegate from prompt and trim it
last_user_message_str = last_user_message_str.lower().replace("codegate", "").strip()
last_user_message_str = last_user_message_str.lower().replace(
"codegate", "").strip()
searched_objects = await self.get_objects_from_search(last_user_message_str)
context_str = self.generate_context_str(searched_objects)
# Add a system prompt to the completion request
Expand Down
10 changes: 7 additions & 3 deletions src/codegate/storage/storage_engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,10 @@ def connect(self):
def setup_schema(self):
for class_config in self.schema_config:
if not self.client.collections.exists(class_config['name']):
self.client.collections.create(class_config['name'], properties=class_config['properties'])
self.__logger.info(f"Weaviate schema for class {class_config['name']} setup complete.")
self.client.collections.create(class_config['name'],
properties=class_config['properties'])
self.__logger.info(
f"Weaviate schema for class {class_config['name']} setup complete.")

async def search(self, query: str, limit=5, distance=0.3) -> list[object]:
"""
Expand All @@ -62,7 +64,9 @@ async def search(self, query: str, limit=5, distance=0.3) -> list[object]:
# Perform the vector search
try:
collection = self.client.collections.get("Package")
response = collection.query.near_vector(query_vector[0], limit=limit, distance=distance, return_metadata=MetadataQuery(distance=True))
response = collection.query.near_vector(
query_vector[0], limit=limit, distance=distance,
return_metadata=MetadataQuery(distance=True))
if not response:
return []
return response.objects
Expand Down
6 changes: 4 additions & 2 deletions tests/test_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ def mock_logger():
@pytest.fixture
def mock_inference_engine():
inference_engine = AsyncMock()
inference_engine.embed = AsyncMock(return_value=[0.1, 0.2, 0.3]) # Adjust based on expected vector dimensions
inference_engine.embed = AsyncMock(
return_value=[0.1, 0.2, 0.3]) # Adjust based on expected vector dimensions
return inference_engine


Expand All @@ -47,7 +48,8 @@ def test_connect(storage_engine, mock_client):
async def test_search(storage_engine, mock_client):
query = "test query"
results = await storage_engine.search(query)
storage_engine.inference_engine.embed.assert_called_once_with("./models/all-minilm-L6-v2-q5_k_m.gguf", [query])
storage_engine.inference_engine.embed.assert_called_once_with(
"./models/all-minilm-L6-v2-q5_k_m.gguf", [query])
assert results is not None # Further asserts can be based on your application logic


Expand Down

0 comments on commit 9e5c84a

Please sign in to comment.