llama-stack-mirror/llama_stack/apis
Ben Browning 8bee2954be
feat: Structured output for Responses API (#2324)
# What does this PR do?

This adds the missing `text` parameter to the Responses API that is how
users control structured outputs. All we do with that parameter is map
it to the corresponding chat completion response_format.

## Test Plan

The new unit tests exercise the various permutations allowed for this
property, while a couple of new verification tests actually use it for
real to verify the model outputs are following the format as expected.

Unit tests:

`python -m pytest -s -v
tests/unit/providers/agents/meta_reference/test_openai_responses.py`

Verification tests:

```
llama stack run llama_stack/templates/together/run.yaml
pytest -s -vv 'tests/verifications/openai_api/test_responses.py' \
  --base-url=http://localhost:8321/v1/openai/v1 \
  --model meta-llama/Llama-4-Scout-17B-16E-Instruct
```

Note that the verification tests can only be run with a real Llama Stack
server (as opposed to using the library client via
`--provider=stack:together`) because the Llama Stack python client is
not yet updated to accept this text field.

Signed-off-by: Ben Browning <bbrownin@redhat.com>
2025-06-03 14:43:00 -07:00
..
agents feat: Structured output for Responses API (#2324) 2025-06-03 14:43:00 -07:00
batch_inference chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
benchmarks chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
common chore: removed unused class (#2268) 2025-05-26 08:41:37 -07:00
datasetio chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
datasets chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
eval chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
files feat: openai files api (#2321) 2025-06-02 11:45:53 -07:00
inference feat: New OpenAI compat embeddings API (#2314) 2025-05-31 22:11:47 -07:00
inspect chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
models chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
post_training chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
providers chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
safety chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
scoring chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
scoring_functions chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
shields chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
synthetic_data_generation chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
telemetry chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
tools fix(tools): do not index tools, only index toolgroups (#2261) 2025-05-25 13:27:52 -07:00
vector_dbs chore: more API validators (#2165) 2025-05-15 11:22:51 -07:00
vector_io feat: Enable ingestion of precomputed embeddings (#2317) 2025-05-31 04:03:37 -06:00
__init__.py API Updates (#73) 2024-09-17 19:51:35 -07:00
datatypes.py chore: enable pyupgrade fixes (#1806) 2025-05-01 14:23:50 -07:00
resource.py chore: more mypy fixes (#2029) 2025-05-06 09:52:31 -07:00
version.py llama-stack version alpha -> v1 2025-01-15 05:58:09 -08:00