diff --git a/e2e_tests/poetry.lock b/e2e_tests/poetry.lock index 68ebfcf5..60634781 100644 --- a/e2e_tests/poetry.lock +++ b/e2e_tests/poetry.lock @@ -493,6 +493,23 @@ pytest = ">=4.6" [package.extras] testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] +[[package]] +name = "pytest-retry" +version = "1.6.3" +description = "Adds the ability to retry flaky tests in CI environments" +optional = false +python-versions = ">=3.9" +files = [ + {file = "pytest_retry-1.6.3-py3-none-any.whl", hash = "sha256:e96f7df77ee70b0838d1085f9c3b8b5b7d74bf8947a0baf32e2b8c71b27683c8"}, + {file = "pytest_retry-1.6.3.tar.gz", hash = "sha256:36ccfa11c8c8f9ddad5e20375182146d040c20c4a791745139c5a99ddf1b557d"}, +] + +[package.dependencies] +pytest = ">=7.0.0" + +[package.extras] +dev = ["black", "flake8", "isort", "mypy"] + [[package]] name = "pytest-sugar" version = "1.0.0" @@ -699,4 +716,4 @@ h11 = ">=0.9.0,<1" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "6ae4fa6397091b87b63698201a08d7d97628ed65992d46514f118768b46b99ce" +content-hash = "a5a13987eab6bb15765c050d6a7aaf3b0d0cf661eedb129d6b811d654880a3cb" diff --git a/e2e_tests/pyproject.toml b/e2e_tests/pyproject.toml index 68724c18..adcfe7ea 100644 --- a/e2e_tests/pyproject.toml +++ b/e2e_tests/pyproject.toml @@ -14,6 +14,7 @@ requests = "^2.29.0" selenium = "^4.11.2" pytest-sugar = "^1.0.0" deepdiff = "^8.0.1" +pytest-retry = "^1.6.3" [tool.poetry.dev-dependencies] pytest-cov = "^4.1.0" @@ -21,3 +22,6 @@ pytest-cov = "^4.1.0" [tool.pytest.ini_options] python_files = ["test*.py"] addopts = ["-v", "-s"] +retries = 3 +retry_delay = 0.5 +cumulative_timing = false diff --git a/model_server/.vscode/launch.json b/model_server/.vscode/launch.json index 89f4c86c..dd045c6f 100644 --- a/model_server/.vscode/launch.json +++ b/model_server/.vscode/launch.json @@ -9,7 +9,7 @@ "type": "debugpy", "request": "launch", "module": "uvicorn", - "args": ["app.main:app","--reload", "--port", "8000"] + "args": ["app.main:app","--reload", "--port", "51000"] } ] } diff --git a/model_server/app/function_calling/model_utils.py b/model_server/app/function_calling/model_utils.py index 5c272b4a..acab10c5 100644 --- a/model_server/app/function_calling/model_utils.py +++ b/model_server/app/function_calling/model_utils.py @@ -67,12 +67,16 @@ async def chat_completion(req: ChatMessage, res: Response): f"model_server => arch_function: {client_model_name}, messages: {json.dumps(messages)}" ) - resp = const.arch_function_client.chat.completions.create( - messages=messages, - model=client_model_name, - stream=False, - extra_body=const.arch_function_generation_params, - ) + try: + resp = const.arch_function_client.chat.completions.create( + messages=messages, + model=client_model_name, + stream=False, + extra_body=const.arch_function_generation_params, + ) + except Exception as e: + logger.error(f"model_server <= arch_function: error: {e}") + raise tool_calls = const.arch_function_hanlder.extract_tool_calls( resp.choices[0].message.content