Skip to content

feat(llm): opt OpenAI-compatible models into the Responses API (ARTEMIS_OPENAI_RESPONSES_API) - #218

Open
glayyiyi wants to merge 1 commit into
google:mainfrom
glayyiyi:feat/openai-responses-api-opt-in
Open

glayyiyi wants to merge 1 commit into
google:mainfrom
glayyiyi:feat/openai-responses-api-opt-in

Conversation

@glayyiyi

Copy link
Copy Markdown

Summary

Some OpenAI-compatible endpoints accept function tools only on the Responses API. One example is GPT-6.x on Amazon Bedrock, whose /v1/chat/completions rejects tools combined with reasoning. With provider: "custom", ARTEMIS always builds a Chat Completions client, so those models cannot run the Flash operator.

This PR adds an opt-in, ARTEMIS_OPENAI_RESPONSES_API, which takes a regex matched against the model name. For a matching model, the custom/vLLM/Ollama branch of ModelFactory passes use_responses_api=True to ChatOpenAI. When the variable is unset or doesn't match, nothing changes.

An environment variable keeps the change to one line in the factory and leaves the config schema alone. I'm happy to move it into the endpoint config instead if you prefer.

Tests

The new file tests/unit/test_model_factory_responses_api.py covers three cases: a matching model opts in, a non-matching model keeps Chat Completions, and an unset variable changes nothing. make test, make lint and make typecheck pass.

…IS_OPENAI_RESPONSES_API)

Some OpenAI-compatible endpoints only accept function tools on /v1/responses (GPT-6.x on Amazon Bedrock).
A regex on the model name selects langchain's use_responses_api for those models; nothing changes when unset.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant