plano/arch/tools
Salman Paracha fb0581fd39
add support for v1/messages and transformations (#558)
* pushing draft PR

* transformations are working. Now need to add some tests next

* updated tests and added necessary response transformations for Anthropics' message response object

* fixed bugs for integration tests

* fixed doc tests

* fixed serialization issues with enums on response

* adding some debug logs to help

* fixed issues with non-streaming responses

* updated the stream_context to update response bytes

* the serialized bytes length must be set in the response side

* fixed the debug statement that was causing the integration tests for wasm to fail

* fixing json parsing errors

* intentionally removing the headers

* making sure that we convert the raw bytes to the correct provider type upstream

* fixing non-streaming responses to tranform correctly

* /v1/messages works with transformations to and from /v1/chat/completions

* updating the CLI and demos to support anthropic vs. claude

* adding the anthropic key to the preference based routing tests

* fixed test cases and added more structured logs

* fixed integration tests and cleaned up logs

* added python client tests for anthropic and openai

* cleaned up logs and fixed issue with connectivity for llm gateway in weather forecast demo

* fixing the tests. python dependency order was broken

* updated the openAI client to fix demos

* removed the raw response debug statement

* fixed the dup cloning issue and cleaned up the ProviderRequestType enum and traits

* fixing logs

* moved away from string literals to consts

* fixed streaming from Anthropic Client to OpenAI

* removed debug statement that would likely trip up integration tests

* fixed integration tests for llm_gateway

* cleaned up test cases and removed unnecessary crates

* fixing comments from PR

* fixed bug whereby we were sending an OpenAIChatCompletions request object to llm_gateway even though the request may have been AnthropicMessages

---------

Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-4.local>
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-9.local>
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-10.local>
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-41.local>
Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-136.local>
2025-09-10 07:40:30 -07:00
..
cli add support for v1/messages and transformations (#558) 2025-09-10 07:40:30 -07:00
test better model names (#517) 2025-07-11 16:42:16 -07:00
__init__.py archgw cli (#117) 2024-10-03 18:21:27 -07:00
build_cli.sh remove dependency on docker-compose when starting up archgw (#305) 2024-11-26 13:13:02 -08:00
poetry.lock release 0.3.10 (#555) 2025-08-13 14:50:10 -07:00
pyproject.toml release 0.3.10 (#555) 2025-08-13 14:50:10 -07:00
README.md release 0.3.10 (#555) 2025-08-13 14:50:10 -07:00

Setup Instructions(User): archgw CLI

This guide will walk you through the steps to set up the archgw cli on your local machine

Step 1: Create a Python virtual environment

In the tools directory, create a Python virtual environment by running:

python -m venv venv

Step 2: Activate the virtual environment

  • On Linux/MacOS:
source venv/bin/activate

Step 3: Run the build script

pip install archgw==0.3.10

Uninstall Instructions: archgw CLI

pip uninstall archgw

Setup Instructions (Dev): archgw CLI

This guide will walk you through the steps to set up the archgw cli on your local machine when you want to develop the Archgw CLI

Step 1: Create a Python virtual environment

In the tools directory, create a Python virtual environment by running:

python -m venv venv

Step 2: Activate the virtual environment

  • On Linux/MacOS:
source venv/bin/activate

Step 3: Run the build script

poetry install

Step 4: build Arch

archgw build

Step 5: download models

This will help download models so model_server can load faster. This should be done once.

archgw download-models

Logs

archgw command can also view logs from gateway and model_server. Use following command to view logs,

archgw logs --follow

Uninstall Instructions: archgw CLI

pip uninstall archgw