diff --git a/Makefile b/Makefile index de551bde..5af49d7f 100644 --- a/Makefile +++ b/Makefile @@ -37,9 +37,9 @@ deps-python: cover-python: deps-python cd chat && export SKIP_WEAVIATE_SETUP=True && coverage run -m unittest -v && coverage report style-python: deps-python - cd chat && ruff check . + cd chat && ruff check . test-python: deps-python - cd chat && export SKIP_WEAVIATE_SETUP=True && PYTHONPATH=. && python -m unittest discover -v + cd chat && export SKIP_WEAVIATE_SETUP=True && PYTHONPATH=src:test && python -m unittest discover -v python-version: cd chat && python --version build: .aws-sam/build.toml diff --git a/chat/dependencies/requirements.txt b/chat/dependencies/requirements.txt index fc1bd91f..6bee442a 100644 --- a/chat/dependencies/requirements.txt +++ b/chat/dependencies/requirements.txt @@ -1,8 +1,6 @@ boto3~=1.34.13 langchain~=0.0.208 -nbformat~=5.9.0 openai~=0.27.8 -pandas~=2.0.2 pyjwt~=2.6.0 python-dotenv~=1.0.0 tiktoken~=0.4.0 diff --git a/chat/src/event_config.py b/chat/src/event_config.py index ce778da4..8aa6a194 100644 --- a/chat/src/event_config.py +++ b/chat/src/event_config.py @@ -4,16 +4,16 @@ from dataclasses import dataclass, field from langchain.chains.qa_with_sources import load_qa_with_sources_chain from langchain.prompts import PromptTemplate -from .setup import ( +from setup import ( weaviate_client, weaviate_vector_store, openai_chat_client, ) from typing import List -from .handlers.streaming_socket_callback_handler import StreamingSocketCallbackHandler -from .helpers.apitoken import ApiToken -from .helpers.prompts import document_template, prompt_template -from .websocket import Websocket +from handlers.streaming_socket_callback_handler import StreamingSocketCallbackHandler +from helpers.apitoken import ApiToken +from helpers.prompts import document_template, prompt_template +from websocket import Websocket CHAIN_TYPE = "stuff" diff --git a/chat/src/handlers/streaming_socket_callback_handler.py b/chat/src/handlers/streaming_socket_callback_handler.py index 8f66ac0a..b4feed92 100644 --- a/chat/src/handlers/streaming_socket_callback_handler.py +++ b/chat/src/handlers/streaming_socket_callback_handler.py @@ -1,5 +1,5 @@ from langchain.callbacks.base import BaseCallbackHandler -from ..websocket import Websocket +from websocket import Websocket import os class StreamingSocketCallbackHandler(BaseCallbackHandler): diff --git a/chat/src/requirements.txt b/chat/src/requirements.txt index d47e5b69..8cb0270e 100644 --- a/chat/src/requirements.txt +++ b/chat/src/requirements.txt @@ -1,9 +1,7 @@ # Runtime Dependencies boto3~=1.34.13 langchain~=0.0.208 -nbformat~=5.9.0 openai~=0.27.8 -pandas~=2.0.2 pyjwt~=2.6.0 python-dotenv~=1.0.0 tiktoken~=0.4.0 diff --git a/chat/src/websocket.py b/chat/src/websocket.py index 783650ac..dc81179a 100644 --- a/chat/src/websocket.py +++ b/chat/src/websocket.py @@ -1,5 +1,5 @@ import json -from .setup import websocket_client +from setup import websocket_client class Websocket: def __init__(self, client=None, endpoint_url=None, connection_id=None, ref=None): diff --git a/chat/test/handlers/test_streaming_socket_callback_handler.py b/chat/test/handlers/test_streaming_socket_callback_handler.py index 9938fb73..b814a8ff 100644 --- a/chat/test/handlers/test_streaming_socket_callback_handler.py +++ b/chat/test/handlers/test_streaming_socket_callback_handler.py @@ -1,8 +1,14 @@ +# ruff: noqa: E402 +import sys +sys.path.append('./src') + from unittest import TestCase -from src.handlers.streaming_socket_callback_handler import ( +from handlers.streaming_socket_callback_handler import ( StreamingSocketCallbackHandler, ) -from src.websocket import Websocket +from websocket import Websocket + + class MockClient: def post_to_connection(self, Data, ConnectionId): diff --git a/chat/test/helpers/test_apitoken.py b/chat/test/helpers/test_apitoken.py index b9e0b9a2..a330f56a 100644 --- a/chat/test/helpers/test_apitoken.py +++ b/chat/test/helpers/test_apitoken.py @@ -1,9 +1,15 @@ +# ruff: noqa: E402 import os -from src.helpers.apitoken import ApiToken +import sys +sys.path.append('./src') + +from helpers.apitoken import ApiToken from test.fixtures.apitoken import SUPER_TOKEN, TEST_SECRET, TEST_TOKEN from unittest import mock, TestCase + + @mock.patch.dict(os.environ, {"API_TOKEN_SECRET": TEST_SECRET}) class TestFunction(TestCase): def test_empty_token(self): diff --git a/chat/test/helpers/test_metrics.py b/chat/test/helpers/test_metrics.py index 6331676c..651043eb 100644 --- a/chat/test/helpers/test_metrics.py +++ b/chat/test/helpers/test_metrics.py @@ -1,9 +1,14 @@ -from unittest import TestCase, mock -from src.helpers.metrics import count_tokens, token_usage -from src.event_config import EventConfig - +# ruff: noqa: E402 import json import os +import sys +sys.path.append('./src') + +from unittest import TestCase, mock +from helpers.metrics import count_tokens, token_usage +from event_config import EventConfig + + @mock.patch.dict( os.environ, diff --git a/chat/test/helpers/test_prompts.py b/chat/test/helpers/test_prompts.py index e2744309..9508f32a 100644 --- a/chat/test/helpers/test_prompts.py +++ b/chat/test/helpers/test_prompts.py @@ -1,5 +1,9 @@ +# ruff: noqa: E402 +import sys +sys.path.append('./src') + +from helpers.prompts import prompt_template, document_template from unittest import TestCase -from src.helpers.prompts import prompt_template, document_template class TestPromptTemplate(TestCase): diff --git a/chat/test/test_event_config.py b/chat/test/test_event_config.py index 9269ab23..0fae8072 100644 --- a/chat/test/test_event_config.py +++ b/chat/test/test_event_config.py @@ -1,8 +1,11 @@ +# ruff: noqa: E402 import json import os -from unittest import TestCase, mock +import sys +sys.path.append('./src') -from src.event_config import EventConfig +from event_config import EventConfig +from unittest import TestCase, mock class TestEventConfigWithoutAzureResource(TestCase): diff --git a/chat/test/test_websocket.py b/chat/test/test_websocket.py index 684439b6..4d4d8b76 100644 --- a/chat/test/test_websocket.py +++ b/chat/test/test_websocket.py @@ -1,6 +1,10 @@ +# ruff: noqa: E402 +import sys +sys.path.append('./src') + from unittest import TestCase +from websocket import Websocket -from src.websocket import Websocket class MockClient: def post_to_connection(self, Data, ConnectionId):