feat!: Implement include parameter specifically for adding logprobs in the output message (#4261)
Some checks failed
SqlStore Integration Tests / test-postgres (3.12) (push) Failing after 0s
Integration Auth Tests / test-matrix (oauth2_token) (push) Failing after 1s
Test External Providers Installed via Module / test-external-providers-from-module (venv) (push) Has been skipped
Integration Tests (Replay) / generate-matrix (push) Successful in 3s
SqlStore Integration Tests / test-postgres (3.13) (push) Failing after 3s
API Conformance Tests / check-schema-compatibility (push) Successful in 15s
Python Package Build Test / build (3.12) (push) Successful in 17s
Python Package Build Test / build (3.13) (push) Successful in 18s
Test External API and Providers / test-external (venv) (push) Failing after 28s
Vector IO Integration Tests / test-matrix (push) Failing after 43s
UI Tests / ui-tests (22) (push) Successful in 52s
Unit Tests / unit-tests (3.13) (push) Failing after 1m45s
Unit Tests / unit-tests (3.12) (push) Failing after 1m58s
Pre-commit / pre-commit (22) (push) Successful in 3m9s
Integration Tests (Replay) / Integration Tests (, , , client=, ) (push) Failing after 4m5s

# Problem
As an Application Developer, I want to use the include parameter with
the value message.output_text.logprobs, so that I can receive log
probabilities for output tokens to assess the model's confidence in its
response.

# What does this PR do?

- Updates the include parameter in various resource definitions
- Updates the inline provider to return logprobs when
"message.output_text.logprobs" is passed in the include parameter
- Converts the logprobs returned by the inference provider from chat
completion format to responses format

Closes #[4260](https://github.com/llamastack/llama-stack/issues/4260)

## Test Plan

- Created a script to explore OpenAI behavior:
https://github.com/s-akhtar-baig/llama-stack-examples/blob/main/responses/src/include.py
- Added integration tests and new recordings

---------

Co-authored-by: Matthew Farrellee <matt@cs.wisc.edu>
Co-authored-by: Ashwin Bharambe <ashwin.bharambe@gmail.com>
This commit is contained in:
Shabana Baig 2025-12-11 14:11:21 -05:00 committed by GitHub
parent 76e47d811a
commit 805abf573f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 13524 additions and 161 deletions

View file

@ -4631,15 +4631,15 @@ components:
type: number
title: Logprob
top_logprobs:
items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
title: Top Logprobs
anyOf:
- items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
- type: 'null'
type: object
required:
- token
- logprob
- top_logprobs
title: OpenAITokenLogProb
description: |-
The log probability for a token from an OpenAI-compatible chat completion response.
@ -5727,15 +5727,22 @@ components:
OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
title: Text
type:
type: string
type:
const: output_text
title: Type
default: output_text
title: Type
type: string
annotations:
items:
discriminator:
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
propertyName: type
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
@ -5745,20 +5752,20 @@ components:
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
type: object
type: array
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
type: object
OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
@ -7374,7 +7381,7 @@ components:
include:
anyOf:
- items:
type: string
$ref: '#/components/schemas/ResponseItemInclude'
type: array
- type: 'null'
max_infer_iters:
@ -7573,8 +7580,7 @@ components:
logprobs:
anyOf:
- items:
additionalProperties: true
type: object
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
@ -8336,6 +8342,13 @@ components:
item_id:
title: Item Id
type: string
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
output_index:
title: Output Index
type: integer
@ -12098,19 +12111,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
title: OpenAIResponseOutputMessageContentOutputText-Input
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -12167,19 +12180,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
title: OpenAIResponseOutputMessageContentOutputText-Output
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -12212,6 +12225,88 @@ components:
They are all under one type because the Responses API gives them all
the same "type" value, and there is no way to tell them apart in certain
scenarios.
OpenAIResponseOutputMessageContentOutputText-Input:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageContentOutputText-Output:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageFileSearchToolCallResults:
properties:
attributes:
@ -12371,6 +12466,18 @@ components:
required:
- reasoning_tokens
title: OutputTokensDetails
ResponseItemInclude:
type: string
enum:
- web_search_call.action.sources
- code_interpreter_call.outputs
- computer_call_output.output.image_url
- file_search_call.results
- message.input_image.image_url
- message.output_text.logprobs
- reasoning.encrypted_content
title: ResponseItemInclude
description: Specify additional output data to include in the model response.
SearchRankingOptions:
properties:
ranker:

View file

@ -1460,15 +1460,15 @@ components:
type: number
title: Logprob
top_logprobs:
items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
title: Top Logprobs
anyOf:
- items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
- type: 'null'
type: object
required:
- token
- logprob
- top_logprobs
title: OpenAITokenLogProb
description: |-
The log probability for a token from an OpenAI-compatible chat completion response.
@ -2556,15 +2556,22 @@ components:
OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
title: Text
type:
type: string
type:
const: output_text
title: Type
default: output_text
title: Type
type: string
annotations:
items:
discriminator:
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
propertyName: type
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
@ -2574,20 +2581,20 @@ components:
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
type: object
type: array
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
type: object
OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
@ -4203,7 +4210,7 @@ components:
include:
anyOf:
- items:
type: string
$ref: '#/components/schemas/ResponseItemInclude'
type: array
- type: 'null'
max_infer_iters:
@ -4402,8 +4409,7 @@ components:
logprobs:
anyOf:
- items:
additionalProperties: true
type: object
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
@ -5165,6 +5171,13 @@ components:
item_id:
title: Item Id
type: string
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
output_index:
title: Output Index
type: integer
@ -8927,19 +8940,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
title: OpenAIResponseOutputMessageContentOutputText-Input
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -8996,19 +9009,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
title: OpenAIResponseOutputMessageContentOutputText-Output
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -9041,6 +9054,88 @@ components:
They are all under one type because the Responses API gives them all
the same "type" value, and there is no way to tell them apart in certain
scenarios.
OpenAIResponseOutputMessageContentOutputText-Input:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageContentOutputText-Output:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageFileSearchToolCallResults:
properties:
attributes:
@ -9200,6 +9295,18 @@ components:
required:
- reasoning_tokens
title: OutputTokensDetails
ResponseItemInclude:
type: string
enum:
- web_search_call.action.sources
- code_interpreter_call.outputs
- computer_call_output.output.image_url
- file_search_call.results
- message.input_image.image_url
- message.output_text.logprobs
- reasoning.encrypted_content
title: ResponseItemInclude
description: Specify additional output data to include in the model response.
SearchRankingOptions:
properties:
ranker:

View file

@ -1349,15 +1349,15 @@ components:
type: number
title: Logprob
top_logprobs:
items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
title: Top Logprobs
anyOf:
- items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
- type: 'null'
type: object
required:
- token
- logprob
- top_logprobs
title: OpenAITokenLogProb
description: |-
The log probability for a token from an OpenAI-compatible chat completion response.
@ -2445,15 +2445,22 @@ components:
OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
title: Text
type:
type: string
type:
const: output_text
title: Type
default: output_text
title: Type
type: string
annotations:
items:
discriminator:
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
propertyName: type
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
@ -2463,20 +2470,20 @@ components:
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
type: object
type: array
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
type: object
OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
@ -3983,8 +3990,7 @@ components:
logprobs:
anyOf:
- items:
additionalProperties: true
type: object
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
@ -4746,6 +4752,13 @@ components:
item_id:
title: Item Id
type: string
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
output_index:
title: Output Index
type: integer
@ -7975,19 +7988,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
title: OpenAIResponseOutputMessageContentOutputText-Output
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -8020,6 +8033,47 @@ components:
They are all under one type because the Responses API gives them all
the same "type" value, and there is no way to tell them apart in certain
scenarios.
OpenAIResponseOutputMessageContentOutputText-Output:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageFileSearchToolCallResults:
properties:
attributes:

View file

@ -3277,15 +3277,15 @@ components:
type: number
title: Logprob
top_logprobs:
items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
title: Top Logprobs
anyOf:
- items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
- type: 'null'
type: object
required:
- token
- logprob
- top_logprobs
title: OpenAITokenLogProb
description: |-
The log probability for a token from an OpenAI-compatible chat completion response.
@ -4373,15 +4373,22 @@ components:
OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
title: Text
type:
type: string
type:
const: output_text
title: Type
default: output_text
title: Type
type: string
annotations:
items:
discriminator:
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
propertyName: type
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
@ -4391,20 +4398,20 @@ components:
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
type: object
type: array
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
type: object
OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
@ -6020,7 +6027,7 @@ components:
include:
anyOf:
- items:
type: string
$ref: '#/components/schemas/ResponseItemInclude'
type: array
- type: 'null'
max_infer_iters:
@ -6219,8 +6226,7 @@ components:
logprobs:
anyOf:
- items:
additionalProperties: true
type: object
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
@ -6982,6 +6988,13 @@ components:
item_id:
title: Item Id
type: string
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
output_index:
title: Output Index
type: integer
@ -10407,19 +10420,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
title: OpenAIResponseOutputMessageContentOutputText-Input
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -10476,19 +10489,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
title: OpenAIResponseOutputMessageContentOutputText-Output
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -10521,6 +10534,88 @@ components:
They are all under one type because the Responses API gives them all
the same "type" value, and there is no way to tell them apart in certain
scenarios.
OpenAIResponseOutputMessageContentOutputText-Input:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageContentOutputText-Output:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageFileSearchToolCallResults:
properties:
attributes:
@ -10680,6 +10775,18 @@ components:
required:
- reasoning_tokens
title: OutputTokensDetails
ResponseItemInclude:
type: string
enum:
- web_search_call.action.sources
- code_interpreter_call.outputs
- computer_call_output.output.image_url
- file_search_call.results
- message.input_image.image_url
- message.output_text.logprobs
- reasoning.encrypted_content
title: ResponseItemInclude
description: Specify additional output data to include in the model response.
SearchRankingOptions:
properties:
ranker:

View file

@ -4631,15 +4631,15 @@ components:
type: number
title: Logprob
top_logprobs:
items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
title: Top Logprobs
anyOf:
- items:
$ref: '#/components/schemas/OpenAITopLogProb'
type: array
- type: 'null'
type: object
required:
- token
- logprob
- top_logprobs
title: OpenAITokenLogProb
description: |-
The log probability for a token from an OpenAI-compatible chat completion response.
@ -5727,15 +5727,22 @@ components:
OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
title: Text
type:
type: string
type:
const: output_text
title: Type
default: output_text
title: Type
type: string
annotations:
items:
discriminator:
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
propertyName: type
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
@ -5745,20 +5752,20 @@ components:
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
type: object
type: array
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
type: object
OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
@ -7374,7 +7381,7 @@ components:
include:
anyOf:
- items:
type: string
$ref: '#/components/schemas/ResponseItemInclude'
type: array
- type: 'null'
max_infer_iters:
@ -7573,8 +7580,7 @@ components:
logprobs:
anyOf:
- items:
additionalProperties: true
type: object
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
@ -8336,6 +8342,13 @@ components:
item_id:
title: Item Id
type: string
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
nullable: true
output_index:
title: Output Index
type: integer
@ -12098,19 +12111,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
title: OpenAIResponseOutputMessageContentOutputText-Input
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Input'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Input | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -12167,19 +12180,19 @@ components:
title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
- items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
title: OpenAIResponseOutputMessageContentOutputText
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
title: OpenAIResponseOutputMessageContentOutputText-Output
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseContentPartRefusal
discriminator:
propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText-Output'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
title: OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal
type: array
title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
title: list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText-Output | OpenAIResponseContentPartRefusal]
role:
title: Role
type: string
@ -12212,6 +12225,88 @@ components:
They are all under one type because the Responses API gives them all
the same "type" value, and there is no way to tell them apart in certain
scenarios.
OpenAIResponseOutputMessageContentOutputText-Input:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageContentOutputText-Output:
properties:
text:
type: string
title: Text
type:
type: string
const: output_text
title: Type
default: output_text
annotations:
items:
oneOf:
- $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
title: OpenAIResponseAnnotationFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
title: OpenAIResponseAnnotationContainerFileCitation
- $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
title: OpenAIResponseAnnotationFilePath
discriminator:
propertyName: type
mapping:
container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
type: array
title: Annotations
logprobs:
anyOf:
- items:
$ref: '#/components/schemas/OpenAITokenLogProb'
type: array
- type: 'null'
type: object
required:
- text
title: OpenAIResponseOutputMessageContentOutputText
OpenAIResponseOutputMessageFileSearchToolCallResults:
properties:
attributes:
@ -12371,6 +12466,18 @@ components:
required:
- reasoning_tokens
title: OutputTokensDetails
ResponseItemInclude:
type: string
enum:
- web_search_call.action.sources
- code_interpreter_call.outputs
- computer_call_output.output.image_url
- file_search_call.results
- message.input_image.image_url
- message.output_text.logprobs
- reasoning.encrypted_content
title: ResponseItemInclude
description: Specify additional output data to include in the model response.
SearchRankingOptions:
properties:
ranker:

View file

@ -43,6 +43,8 @@ from llama_stack_api import (
OpenAIEmbeddingsRequestWithExtraBody,
OpenAIEmbeddingsResponse,
OpenAIMessageParam,
OpenAITokenLogProb,
OpenAITopLogProb,
Order,
RerankResponse,
RoutingTable,
@ -342,8 +344,34 @@ class InferenceRouter(Inference):
)
if choice_delta.finish_reason:
current_choice_data["finish_reason"] = choice_delta.finish_reason
# Convert logprobs from chat completion format to responses format
# Chat completion returns list of ChatCompletionTokenLogprob, but
# expecting list of OpenAITokenLogProb in OpenAIChoice
if choice_delta.logprobs and choice_delta.logprobs.content:
current_choice_data["logprobs_content_parts"].extend(choice_delta.logprobs.content)
converted_logprobs = []
for token_logprob in choice_delta.logprobs.content:
top_logprobs = None
if token_logprob.top_logprobs:
top_logprobs = [
OpenAITopLogProb(
token=tlp.token,
bytes=tlp.bytes,
logprob=tlp.logprob,
)
for tlp in token_logprob.top_logprobs
]
converted_logprobs.append(
OpenAITokenLogProb(
token=token_logprob.token,
bytes=token_logprob.bytes,
logprob=token_logprob.logprob,
top_logprobs=top_logprobs,
)
)
# Update choice delta with the newly formatted logprobs object
choice_delta.logprobs.content = converted_logprobs
current_choice_data["logprobs_content_parts"].extend(converted_logprobs)
# Compute metrics on final chunk
if chunk.choices and chunk.choices[0].finish_reason:

View file

@ -43,6 +43,7 @@ from llama_stack_api import (
Order,
Prompts,
ResponseGuardrailSpec,
ResponseItemInclude,
Safety,
ToolGroups,
ToolRuntime,
@ -265,7 +266,7 @@ class OpenAIResponsesImpl:
response_id: str,
after: str | None = None,
before: str | None = None,
include: list[str] | None = None,
include: list[ResponseItemInclude] | None = None,
limit: int | None = 20,
order: Order | None = Order.desc,
) -> ListOpenAIResponseInputItem:
@ -331,7 +332,7 @@ class OpenAIResponsesImpl:
temperature: float | None = None,
text: OpenAIResponseText | None = None,
tools: list[OpenAIResponseInputTool] | None = None,
include: list[str] | None = None,
include: list[ResponseItemInclude] | None = None,
max_infer_iters: int | None = 10,
guardrails: list[str | ResponseGuardrailSpec] | None = None,
parallel_tool_calls: bool | None = None,
@ -392,6 +393,7 @@ class OpenAIResponsesImpl:
parallel_tool_calls=parallel_tool_calls,
max_tool_calls=max_tool_calls,
metadata=metadata,
include=include,
)
if stream:
@ -445,6 +447,7 @@ class OpenAIResponsesImpl:
parallel_tool_calls: bool | None = True,
max_tool_calls: int | None = None,
metadata: dict[str, str] | None = None,
include: list[ResponseItemInclude] | None = None,
) -> AsyncIterator[OpenAIResponseObjectStream]:
# These should never be None when called from create_openai_response (which sets defaults)
# but we assert here to help mypy understand the types
@ -494,6 +497,7 @@ class OpenAIResponsesImpl:
instructions=instructions,
max_tool_calls=max_tool_calls,
metadata=metadata,
include=include,
)
# Stream the response

View file

@ -24,6 +24,7 @@ from llama_stack_api import (
OpenAIChatCompletionRequestWithExtraBody,
OpenAIChatCompletionToolCall,
OpenAIChoice,
OpenAIChoiceLogprobs,
OpenAIMessageParam,
OpenAIResponseContentPartOutputText,
OpenAIResponseContentPartReasoningText,
@ -68,6 +69,7 @@ from llama_stack_api import (
OpenAIResponseUsageInputTokensDetails,
OpenAIResponseUsageOutputTokensDetails,
OpenAIToolMessageParam,
ResponseItemInclude,
Safety,
WebSearchToolTypes,
)
@ -121,6 +123,7 @@ class StreamingResponseOrchestrator:
parallel_tool_calls: bool | None = None,
max_tool_calls: int | None = None,
metadata: dict[str, str] | None = None,
include: list[ResponseItemInclude] | None = None,
):
self.inference_api = inference_api
self.ctx = ctx
@ -139,6 +142,7 @@ class StreamingResponseOrchestrator:
# Max number of total calls to built-in tools that can be processed in a response
self.max_tool_calls = max_tool_calls
self.metadata = metadata
self.include = include
self.sequence_number = 0
# Store MCP tool mapping that gets built during tool processing
self.mcp_tool_to_server: dict[str, OpenAIResponseInputToolMCP] = (
@ -245,6 +249,10 @@ class StreamingResponseOrchestrator:
)
logger.debug(f"calling openai_chat_completion with tools: {self.ctx.chat_tools}")
logprobs = (
True if self.include and ResponseItemInclude.message_output_text_logprobs in self.include else None
)
params = OpenAIChatCompletionRequestWithExtraBody(
model=self.ctx.model,
messages=messages,
@ -256,6 +264,7 @@ class StreamingResponseOrchestrator:
stream_options={
"include_usage": True,
},
logprobs=logprobs,
)
completion_result = await self.inference_api.openai_chat_completion(params)
@ -577,6 +586,7 @@ class StreamingResponseOrchestrator:
chunk_created = 0
chunk_model = ""
chunk_finish_reason = ""
chat_response_logprobs = []
# Create a placeholder message item for delta events
message_item_id = f"msg_{uuid.uuid4()}"
@ -606,6 +616,12 @@ class StreamingResponseOrchestrator:
chunk_events: list[OpenAIResponseObjectStream] = []
for chunk_choice in chunk.choices:
# Collect logprobs if present
chunk_logprobs = None
if chunk_choice.logprobs and chunk_choice.logprobs.content:
chunk_logprobs = chunk_choice.logprobs.content
chat_response_logprobs.extend(chunk_logprobs)
# Emit incremental text content as delta events
if chunk_choice.delta.content:
# Emit output_item.added for the message on first content
@ -645,6 +661,7 @@ class StreamingResponseOrchestrator:
content_index=content_index,
delta=chunk_choice.delta.content,
item_id=message_item_id,
logprobs=chunk_logprobs,
output_index=message_output_index,
sequence_number=self.sequence_number,
)
@ -848,6 +865,7 @@ class StreamingResponseOrchestrator:
OpenAIResponseOutputMessageContentOutputText(
text=final_text,
annotations=[],
logprobs=chat_response_logprobs if chat_response_logprobs else None,
)
)
@ -875,6 +893,7 @@ class StreamingResponseOrchestrator:
message_item_id=message_item_id,
tool_call_item_ids=tool_call_item_ids,
content_part_emitted=content_part_emitted,
logprobs=OpenAIChoiceLogprobs(content=chat_response_logprobs) if chat_response_logprobs else None,
)
def _build_chat_completion(self, result: ChatCompletionResult) -> OpenAIChatCompletion:
@ -896,6 +915,7 @@ class StreamingResponseOrchestrator:
message=assistant_message,
finish_reason=result.finish_reason,
index=0,
logprobs=result.logprobs,
)
],
created=result.created,

View file

@ -28,6 +28,7 @@ from llama_stack_api import (
OpenAIResponseOutputMessageMCPListTools,
OpenAIResponseTool,
OpenAIResponseToolMCP,
OpenAITokenLogProb,
)
@ -54,6 +55,7 @@ class ChatCompletionResult:
message_item_id: str # For streaming events
tool_call_item_ids: dict[int, str] # For streaming events
content_part_emitted: bool # Tracking state
logprobs: list[OpenAITokenLogProb] | None = None
@property
def content_text(self) -> str:

View file

@ -115,10 +115,17 @@ async def convert_chat_choice_to_response_message(
)
annotations, clean_text = _extract_citations_from_text(output_content, citation_files or {})
logprobs = choice.logprobs.content if choice.logprobs and choice.logprobs.content else None
return OpenAIResponseMessage(
id=message_id or f"msg_{uuid.uuid4()}",
content=[OpenAIResponseOutputMessageContentOutputText(text=clean_text, annotations=list(annotations))],
content=[
OpenAIResponseOutputMessageContentOutputText(
text=clean_text,
annotations=list(annotations),
logprobs=logprobs,
)
],
status="completed",
role="assistant",
)

View file

@ -25,7 +25,7 @@ __version__ = "0.4.0.dev0"
from . import common # noqa: F401
# Import all public API symbols
from .agents import Agents, ResponseGuardrail, ResponseGuardrailSpec
from .agents import Agents, ResponseGuardrail, ResponseGuardrailSpec, ResponseItemInclude
from .batches import (
Batches,
BatchObject,
@ -798,6 +798,7 @@ __all__ = [
"ResponseFormatType",
"ResponseGuardrail",
"ResponseGuardrailSpec",
"ResponseItemInclude",
"RouteInfo",
"RoutingTable",
"RowsDataSource",

View file

@ -5,6 +5,7 @@
# the root directory of this source tree.
from collections.abc import AsyncIterator
from enum import StrEnum
from typing import Annotated, Protocol, runtime_checkable
from pydantic import BaseModel
@ -40,6 +41,20 @@ class ResponseGuardrailSpec(BaseModel):
ResponseGuardrail = str | ResponseGuardrailSpec
class ResponseItemInclude(StrEnum):
"""
Specify additional output data to include in the model response.
"""
web_search_call_action_sources = "web_search_call.action.sources"
code_interpreter_call_outputs = "code_interpreter_call.outputs"
computer_call_output_output_image_url = "computer_call_output.output.image_url"
file_search_call_results = "file_search_call.results"
message_input_image_image_url = "message.input_image.image_url"
message_output_text_logprobs = "message.output_text.logprobs"
reasoning_encrypted_content = "reasoning.encrypted_content"
@runtime_checkable
class Agents(Protocol):
"""Agents
@ -80,7 +95,7 @@ class Agents(Protocol):
temperature: float | None = None,
text: OpenAIResponseText | None = None,
tools: list[OpenAIResponseInputTool] | None = None,
include: list[str] | None = None,
include: list[ResponseItemInclude] | None = None,
max_infer_iters: int | None = 10, # this is an extension to the OpenAI API
guardrails: Annotated[
list[ResponseGuardrail] | None,

View file

@ -582,7 +582,7 @@ class OpenAITokenLogProb(BaseModel):
token: str
bytes: list[int] | None = None
logprob: float
top_logprobs: list[OpenAITopLogProb]
top_logprobs: list[OpenAITopLogProb] | None = None
@json_schema_type

View file

@ -10,6 +10,7 @@ from typing import Annotated, Any, Literal
from pydantic import BaseModel, Field, model_validator
from typing_extensions import TypedDict
from llama_stack_api.inference import OpenAITokenLogProb
from llama_stack_api.schema_utils import json_schema_type, register_schema
from llama_stack_api.vector_io import SearchRankingOptions as FileSearchRankingOptions
@ -173,6 +174,7 @@ class OpenAIResponseOutputMessageContentOutputText(BaseModel):
text: str
type: Literal["output_text"] = "output_text"
annotations: list[OpenAIResponseAnnotations] = Field(default_factory=list)
logprobs: list[OpenAITokenLogProb] | None = None
@json_schema_type
@ -746,6 +748,7 @@ class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
:param content_index: Index position within the text content
:param delta: Incremental text content being added
:param item_id: Unique identifier of the output item being updated
:param logprobs: (Optional) Token log probability details
:param output_index: Index position of the item in the output list
:param sequence_number: Sequential number for ordering streaming events
:param type: Event type identifier, always "response.output_text.delta"
@ -754,6 +757,7 @@ class OpenAIResponseObjectStreamResponseOutputTextDelta(BaseModel):
content_index: int
delta: str
item_id: str
logprobs: list[OpenAITokenLogProb] | None = None
output_index: int
sequence_number: int
type: Literal["response.output_text.delta"] = "response.output_text.delta"
@ -944,7 +948,7 @@ class OpenAIResponseContentPartOutputText(BaseModel):
type: Literal["output_text"] = "output_text"
text: str
annotations: list[OpenAIResponseAnnotations] = Field(default_factory=list)
logprobs: list[dict[str, Any]] | None = None
logprobs: list[OpenAITokenLogProb] | None = None
@json_schema_type

View file

@ -0,0 +1,273 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_non_streaming[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/chat/completions",
"headers": {},
"body": {
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Which planet do humans live on?"
}
],
"stream": true,
"stream_options": {
"include_usage": true
}
},
"endpoint": "/v1/chat/completions",
"model": "gpt-4o"
},
"response": {
"body": [
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": "",
"function_call": null,
"refusal": null,
"role": "assistant",
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "7QzHQ6lzvh3q5B"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": "Hum",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "FeusGPqBEpqS6"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": "ans",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "NlU22uDnPr4Xu"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": " live",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "OYvedgkm6nw"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": " on",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "vJCJOpQtraxRU"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": " Earth",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "m2vxU9eHj6"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": ".",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "DnwaguLN8ye05F0"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "HTd8zntqKG"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-463f6367d350",
"choices": [],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": {
"completion_tokens": 6,
"prompt_tokens": 14,
"total_tokens": 20,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
}
},
"obfuscation": ""
}
}
],
"is_streaming": true
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,345 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_function_tools[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/chat/completions",
"headers": {},
"body": {
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "What is the weather in Paris?"
}
],
"logprobs": true,
"stream": true,
"stream_options": {
"include_usage": true
},
"tools": [
{
"type": "function",
"function": {
"type": "function",
"name": "get_weather",
"description": "Get weather information for a specified location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name (e.g., 'New York', 'London')"
}
}
},
"strict": null
}
}
]
},
"endpoint": "/v1/chat/completions",
"model": "gpt-4o"
},
"response": {
"body": [
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": "assistant",
"tool_calls": [
{
"index": 0,
"id": "call_8T1tTdWOywKWs4tYSzyflftR",
"function": {
"arguments": "",
"name": "get_weather"
},
"type": "function"
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "2U536HpxwFMNHw"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "{\"",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "LDpoCusy"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "location",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "X7q"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "\":\"",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "TMTYo8"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "Paris",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "8EmcxX"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "\"}",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "cnMSe1WI"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": "tool_calls",
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "fs5p"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-a6c5e729150f",
"choices": [],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": {
"completion_tokens": 14,
"prompt_tokens": 67,
"total_tokens": 81,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
}
},
"obfuscation": "xFLK91cW1si1hsA"
}
}
],
"is_streaming": true
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,626 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_web_search[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/chat/completions",
"headers": {},
"body": {
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Search for a positive news story from today."
}
],
"logprobs": true,
"stream": true,
"stream_options": {
"include_usage": true
},
"tools": [
{
"type": "function",
"function": {
"name": "web_search",
"description": "Search the web for information",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The query to search for"
}
},
"required": [
"query"
]
}
}
}
]
},
"endpoint": "/v1/chat/completions",
"model": "gpt-4o"
},
"response": {
"body": [
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": "assistant",
"tool_calls": [
{
"index": 0,
"id": "call_kGEKcnS1ACXBjDD9RLvEPhUS",
"function": {
"arguments": "",
"name": "web_search"
},
"type": "function"
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "Ea4lU3SBADVpuRM"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "{\"",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "s4ALAFdD"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "query",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "pDn3D3"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "\":\"",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "SchS7C"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "positive",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "a7J"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": " news",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "pG4eSg"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": " October",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "D4e"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": " ",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "6Uc6z04L51"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "25",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "dft71oaPt"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": " ",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "fpxlA6ttbn"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "202",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "m8lLRUsS"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "3",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "WDZAEyeR2r"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": [
{
"index": 0,
"id": null,
"function": {
"arguments": "\"}",
"name": null
},
"type": null
}
]
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": null,
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "Cxvvs2Tw"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": "tool_calls",
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": null,
"obfuscation": "0TfM"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-b09384754b4b",
"choices": [],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_e819e3438b",
"usage": {
"completion_tokens": 21,
"prompt_tokens": 59,
"total_tokens": 80,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
}
},
"obfuscation": "4wZgiWAXEQQJOsA"
}
}
],
"is_streaming": true
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,24 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_web_search[txt=openai/gpt-4o]",
"request": {
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_web_search[txt=openai/gpt-4o]",
"provider": "tavily",
"tool_name": "web_search",
"kwargs": {
"query": "positive news October 25 2023"
}
},
"response": {
"body": {
"__type__": "llama_stack_api.tools.ToolInvocationResult",
"__data__": {
"content": "{\"query\": \"positive news October 25 2023\", \"top_k\": [{\"url\": \"https://www.positive.news/society/what-went-right-in-2023-the-top-25-good-news-stories-of-the-year/\", \"title\": \"What went right in 2023: the top 25 good news stories of the year\", \"content\": \"The 'golden age of medicine' arrived, animals came back from the brink, the renewables juggernaut gathered pace, climate reparations became reality and\", \"score\": 0.9952448, \"raw_content\": null}, {\"url\": \"https://www.pbs.org/newshour/show/october-25-2023-pbs-newshour-full-episode\", \"title\": \"October 25, 2023 \\u2013 PBS NewsHour full episode | PBS News\", \"content\": \"PBS Full Episode Image 1: Increased National Guard Presence in Washington Image 11 PBS News October 25, 2023 PBS News Hour full episode * Image 13: Palestinians work to rescue people at the site of an Israeli strike on a residential building in Gaza City Israel may delay Gaza ground invasion for hostage negotiations and aid for Palestinians 3 min * Image 14: Former U.S. President Trump's civil fraud trial continues, in New York News Wrap: Trump fined $10,000 for violating a gag order in civil fraud trial 4 min Subscribe to Here\\u2019s the Deal, our politics newsletter for analysis you won\\u2019t find anywhere else. 1. Read Nov 29Maduro\\u2019s government rejects Trump\\u2019s claim of closing Venezuelan airspace PBS News\", \"score\": 0.993255, \"raw_content\": null}, {\"url\": \"https://www.nbcnews.com/nightly-news-netcast/video/nightly-news-full-broadcast-october-25th-196425797597\", \"title\": \"Nightly News Full Broadcast (October 25th)\", \"content\": \"Rep. Mike Johnson was elected Speaker of the House; President Biden says Israel has a 'right and responsibility' to target Hamas, but must protect civilians.\", \"score\": 0.99174845, \"raw_content\": null}, {\"url\": \"https://en.wikipedia.org/wiki/Portal:Current_events/2023_October_25\", \"title\": \"Portal:Current events/2023 October 25 - Wikipedia\", \"content\": \"The Gaza Health Ministry announces that at least 704 people have died in the past day. \\u00b7 At least 16 people are killed and several others are injured in Israeli\", \"score\": 0.98975134, \"raw_content\": null}, {\"url\": \"https://www.theguardian.com/theguardian/2023/oct/25\", \"title\": \"Wednesday 25 October 2023 - The Guardian\", \"content\": \"UK news \\u00b7 Gaza diary part eight: 'I am terrified that I'm getting used to what is happening' \\u00b7 'The West Bank will ignite': Israel's operations\", \"score\": 0.98926485, \"raw_content\": null}]}",
"error_message": null,
"error_code": null,
"metadata": null
}
},
"is_streaming": false
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,364 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_streaming[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/chat/completions",
"headers": {},
"body": {
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Which planet do humans live on?"
}
],
"logprobs": true,
"stream": true,
"stream_options": {
"include_usage": true
}
},
"endpoint": "/v1/chat/completions",
"model": "gpt-4o"
},
"response": {
"body": [
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": "",
"function_call": null,
"refusal": null,
"role": "assistant",
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "2IcNZ"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": "Hum",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": "Hum",
"bytes": [
72,
117,
109
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": "ans",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": "ans",
"bytes": [
97,
110,
115
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": " live",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " live",
"bytes": [
32,
108,
105,
118,
101
],
"logprob": -1.2664456789934775e-06,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "5"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": " on",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " on",
"bytes": [
32,
111,
110
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": " Earth",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " Earth",
"bytes": [
32,
69,
97,
114,
116,
104
],
"logprob": -0.024795344099402428,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "71craWuV6JEUfb"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": ".",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": ".",
"bytes": [
46
],
"logprob": -6.034592388459714e-06,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "YL8S3ILVuL"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": null,
"obfuscation": "W62dZrKKUL"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-dab8216633e9",
"choices": [],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_689bad8e9a",
"usage": {
"completion_tokens": 6,
"prompt_tokens": 14,
"total_tokens": 20,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
}
},
"obfuscation": ""
}
}
],
"is_streaming": true
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,364 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_non_streaming[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/chat/completions",
"headers": {},
"body": {
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Which planet do humans live on?"
}
],
"logprobs": true,
"stream": true,
"stream_options": {
"include_usage": true
}
},
"endpoint": "/v1/chat/completions",
"model": "gpt-4o"
},
"response": {
"body": [
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": "",
"function_call": null,
"refusal": null,
"role": "assistant",
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": "nhS1O"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": "Hum",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": "Hum",
"bytes": [
72,
117,
109
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": "ans",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": "ans",
"bytes": [
97,
110,
115
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": " live",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " live",
"bytes": [
32,
108,
105,
118,
101
],
"logprob": -1.2664456789934775e-06,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": "t"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": " on",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " on",
"bytes": [
32,
111,
110
],
"logprob": 0.0,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": ""
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": " Earth",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": " Earth",
"bytes": [
32,
69,
97,
114,
116,
104
],
"logprob": -0.02083509787917137,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": "HqlGFBjvYMrjOfC"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": ".",
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": null,
"index": 0,
"logprobs": {
"content": [
{
"token": ".",
"bytes": [
46
],
"logprob": -6.869017852295656e-06,
"top_logprobs": []
}
],
"refusal": null
}
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": "iHmejH8al8"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [
{
"delta": {
"content": null,
"function_call": null,
"refusal": null,
"role": null,
"tool_calls": null
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": null,
"obfuscation": "23vTR8FqDi"
}
},
{
"__type__": "openai.types.chat.chat_completion_chunk.ChatCompletionChunk",
"__data__": {
"id": "rec-e64dd8ced6be",
"choices": [],
"created": 0,
"model": "gpt-4o-2024-08-06",
"object": "chat.completion.chunk",
"service_tier": "default",
"system_fingerprint": "fp_cbf1785567",
"usage": {
"completion_tokens": 6,
"prompt_tokens": 14,
"total_tokens": 20,
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 0,
"rejected_prediction_tokens": 0
},
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
}
},
"obfuscation": ""
}
}
],
"is_streaming": true
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,989 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_non_streaming[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/models",
"headers": {},
"body": {},
"endpoint": "/v1/models",
"model": ""
},
"response": {
"body": [
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0613",
"created": 1686588896,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4",
"created": 1687882411,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo",
"created": 1677610602,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex-mini",
"created": 1763007109,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-chat-latest",
"created": 1762547951,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-2025-11-13",
"created": 1762800353,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1",
"created": 1762800673,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex",
"created": 1762988221,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "davinci-002",
"created": 1692634301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "babbage-002",
"created": 1692634615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct",
"created": 1692901427,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct-0914",
"created": 1694122472,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-3",
"created": 1698785189,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-2",
"created": 1698798177,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-1106-preview",
"created": 1698957206,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-1106",
"created": 1698959748,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd",
"created": 1699046015,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-1106",
"created": 1699053241,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd-1106",
"created": 1699053533,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-small",
"created": 1705948997,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-large",
"created": 1705953180,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0125-preview",
"created": 1706037612,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-preview",
"created": 1706037777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-0125",
"created": 1706048358,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo",
"created": 1712361441,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-2024-04-09",
"created": 1712601677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o",
"created": 1715367049,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-05-13",
"created": 1715368132,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-2024-07-18",
"created": 1721172717,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini",
"created": 1721172741,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-08-06",
"created": 1722814719,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "chatgpt-4o-latest",
"created": 1723515131,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-10-01",
"created": 1727131766,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-10-01",
"created": 1727389042,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview",
"created": 1727460443,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview",
"created": 1727659998,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-latest",
"created": 1731689265,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-2024-09-26",
"created": 1732734466,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-12-17",
"created": 1733945430,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-12-17",
"created": 1734034239,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview-2024-12-17",
"created": 1734112601,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview-2024-12-17",
"created": 1734115920,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-2024-12-17",
"created": 1734326976,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1",
"created": 1734375816,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview",
"created": 1734387380,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview",
"created": 1734387424,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview",
"created": 1734655677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini",
"created": 1737146383,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini-2025-01-31",
"created": 1738010200,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-11-20",
"created": 1739331543,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview-2025-03-11",
"created": 1741377021,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview-2025-03-11",
"created": 1741388170,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview",
"created": 1741388720,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview-2025-03-11",
"created": 1741390858,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview",
"created": 1741391161,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe",
"created": 1742068463,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-transcribe",
"created": 1742068596,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro-2025-03-19",
"created": 1742251504,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro",
"created": 1742251791,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-tts",
"created": 1742403959,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-2025-04-16",
"created": 1744133301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-2025-04-16",
"created": 1744133506,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3",
"created": 1744225308,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini",
"created": 1744225351,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-2025-04-14",
"created": 1744315746,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1",
"created": 1744316542,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini-2025-04-14",
"created": 1744317547,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini",
"created": 1744318173,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano-2025-04-14",
"created": 1744321025,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano",
"created": 1744321707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1",
"created": 1745517030,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "codex-mini-latest",
"created": 1746673257,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro",
"created": 1748475349,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2025-06-03",
"created": 1748907838,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2025-06-03",
"created": 1748908498,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro-2025-06-10",
"created": 1749166761,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research",
"created": 1749685485,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research",
"created": 1749840121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe-diarize",
"created": 1750798887,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research-2025-06-26",
"created": 1750865219,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research-2025-06-26",
"created": 1750866121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-chat-latest",
"created": 1754073306,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-2025-08-07",
"created": 1754075360,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5",
"created": 1754425777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini-2025-08-07",
"created": 1754425867,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini",
"created": 1754425928,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano-2025-08-07",
"created": 1754426303,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano",
"created": 1754426384,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-2025-08-28",
"created": 1756256146,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime",
"created": 1756271701,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-2025-08-28",
"created": 1756271773,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio",
"created": 1756339249,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-codex",
"created": 1757527818,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1-mini",
"created": 1758845821,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro-2025-10-06",
"created": 1759469707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro",
"created": 1759469822,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini",
"created": 1759512027,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini-2025-10-06",
"created": 1759512137,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api",
"created": 1759514629,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini",
"created": 1759517133,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini-2025-10-06",
"created": 1759517175,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2",
"created": 1759708615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2-pro",
"created": 1759708663,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api-2025-10-14",
"created": 1760043960,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-16k",
"created": 1683758102,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1",
"created": 1681940951,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "whisper-1",
"created": 1677532384,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-ada-002",
"created": 1671217299,
"object": "model",
"owned_by": "openai-internal"
}
}
],
"is_streaming": false
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,989 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_function_tools[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/models",
"headers": {},
"body": {},
"endpoint": "/v1/models",
"model": ""
},
"response": {
"body": [
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0613",
"created": 1686588896,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4",
"created": 1687882411,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo",
"created": 1677610602,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex-mini",
"created": 1763007109,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-chat-latest",
"created": 1762547951,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-2025-11-13",
"created": 1762800353,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1",
"created": 1762800673,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex",
"created": 1762988221,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "davinci-002",
"created": 1692634301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "babbage-002",
"created": 1692634615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct",
"created": 1692901427,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct-0914",
"created": 1694122472,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-3",
"created": 1698785189,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-2",
"created": 1698798177,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-1106-preview",
"created": 1698957206,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-1106",
"created": 1698959748,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd",
"created": 1699046015,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-1106",
"created": 1699053241,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd-1106",
"created": 1699053533,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-small",
"created": 1705948997,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-large",
"created": 1705953180,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0125-preview",
"created": 1706037612,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-preview",
"created": 1706037777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-0125",
"created": 1706048358,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo",
"created": 1712361441,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-2024-04-09",
"created": 1712601677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o",
"created": 1715367049,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-05-13",
"created": 1715368132,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-2024-07-18",
"created": 1721172717,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini",
"created": 1721172741,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-08-06",
"created": 1722814719,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "chatgpt-4o-latest",
"created": 1723515131,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-10-01",
"created": 1727131766,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-10-01",
"created": 1727389042,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview",
"created": 1727460443,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview",
"created": 1727659998,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-latest",
"created": 1731689265,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-2024-09-26",
"created": 1732734466,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-12-17",
"created": 1733945430,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-12-17",
"created": 1734034239,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview-2024-12-17",
"created": 1734112601,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview-2024-12-17",
"created": 1734115920,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-2024-12-17",
"created": 1734326976,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1",
"created": 1734375816,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview",
"created": 1734387380,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview",
"created": 1734387424,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview",
"created": 1734655677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini",
"created": 1737146383,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini-2025-01-31",
"created": 1738010200,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-11-20",
"created": 1739331543,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview-2025-03-11",
"created": 1741377021,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview-2025-03-11",
"created": 1741388170,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview",
"created": 1741388720,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview-2025-03-11",
"created": 1741390858,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview",
"created": 1741391161,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe",
"created": 1742068463,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-transcribe",
"created": 1742068596,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro-2025-03-19",
"created": 1742251504,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro",
"created": 1742251791,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-tts",
"created": 1742403959,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-2025-04-16",
"created": 1744133301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-2025-04-16",
"created": 1744133506,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3",
"created": 1744225308,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini",
"created": 1744225351,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-2025-04-14",
"created": 1744315746,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1",
"created": 1744316542,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini-2025-04-14",
"created": 1744317547,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini",
"created": 1744318173,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano-2025-04-14",
"created": 1744321025,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano",
"created": 1744321707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1",
"created": 1745517030,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "codex-mini-latest",
"created": 1746673257,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro",
"created": 1748475349,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2025-06-03",
"created": 1748907838,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2025-06-03",
"created": 1748908498,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro-2025-06-10",
"created": 1749166761,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research",
"created": 1749685485,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research",
"created": 1749840121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe-diarize",
"created": 1750798887,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research-2025-06-26",
"created": 1750865219,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research-2025-06-26",
"created": 1750866121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-chat-latest",
"created": 1754073306,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-2025-08-07",
"created": 1754075360,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5",
"created": 1754425777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini-2025-08-07",
"created": 1754425867,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini",
"created": 1754425928,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano-2025-08-07",
"created": 1754426303,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano",
"created": 1754426384,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-2025-08-28",
"created": 1756256146,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime",
"created": 1756271701,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-2025-08-28",
"created": 1756271773,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio",
"created": 1756339249,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-codex",
"created": 1757527818,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1-mini",
"created": 1758845821,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro-2025-10-06",
"created": 1759469707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro",
"created": 1759469822,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini",
"created": 1759512027,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini-2025-10-06",
"created": 1759512137,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api",
"created": 1759514629,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini",
"created": 1759517133,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini-2025-10-06",
"created": 1759517175,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2",
"created": 1759708615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2-pro",
"created": 1759708663,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api-2025-10-14",
"created": 1760043960,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-16k",
"created": 1683758102,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1",
"created": 1681940951,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "whisper-1",
"created": 1677532384,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-ada-002",
"created": 1671217299,
"object": "model",
"owned_by": "openai-internal"
}
}
],
"is_streaming": false
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,989 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_streaming[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/models",
"headers": {},
"body": {},
"endpoint": "/v1/models",
"model": ""
},
"response": {
"body": [
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0613",
"created": 1686588896,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4",
"created": 1687882411,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo",
"created": 1677610602,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex-mini",
"created": 1763007109,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-chat-latest",
"created": 1762547951,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-2025-11-13",
"created": 1762800353,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1",
"created": 1762800673,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex",
"created": 1762988221,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "davinci-002",
"created": 1692634301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "babbage-002",
"created": 1692634615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct",
"created": 1692901427,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct-0914",
"created": 1694122472,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-3",
"created": 1698785189,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-2",
"created": 1698798177,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-1106-preview",
"created": 1698957206,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-1106",
"created": 1698959748,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd",
"created": 1699046015,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-1106",
"created": 1699053241,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd-1106",
"created": 1699053533,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-small",
"created": 1705948997,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-large",
"created": 1705953180,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0125-preview",
"created": 1706037612,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-preview",
"created": 1706037777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-0125",
"created": 1706048358,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo",
"created": 1712361441,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-2024-04-09",
"created": 1712601677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o",
"created": 1715367049,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-05-13",
"created": 1715368132,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-2024-07-18",
"created": 1721172717,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini",
"created": 1721172741,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-08-06",
"created": 1722814719,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "chatgpt-4o-latest",
"created": 1723515131,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-10-01",
"created": 1727131766,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-10-01",
"created": 1727389042,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview",
"created": 1727460443,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview",
"created": 1727659998,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-latest",
"created": 1731689265,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-2024-09-26",
"created": 1732734466,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-12-17",
"created": 1733945430,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-12-17",
"created": 1734034239,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview-2024-12-17",
"created": 1734112601,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview-2024-12-17",
"created": 1734115920,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-2024-12-17",
"created": 1734326976,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1",
"created": 1734375816,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview",
"created": 1734387380,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview",
"created": 1734387424,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview",
"created": 1734655677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini",
"created": 1737146383,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini-2025-01-31",
"created": 1738010200,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-11-20",
"created": 1739331543,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview-2025-03-11",
"created": 1741377021,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview-2025-03-11",
"created": 1741388170,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview",
"created": 1741388720,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview-2025-03-11",
"created": 1741390858,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview",
"created": 1741391161,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe",
"created": 1742068463,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-transcribe",
"created": 1742068596,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro-2025-03-19",
"created": 1742251504,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro",
"created": 1742251791,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-tts",
"created": 1742403959,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-2025-04-16",
"created": 1744133301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-2025-04-16",
"created": 1744133506,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3",
"created": 1744225308,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini",
"created": 1744225351,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-2025-04-14",
"created": 1744315746,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1",
"created": 1744316542,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini-2025-04-14",
"created": 1744317547,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini",
"created": 1744318173,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano-2025-04-14",
"created": 1744321025,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano",
"created": 1744321707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1",
"created": 1745517030,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "codex-mini-latest",
"created": 1746673257,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro",
"created": 1748475349,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2025-06-03",
"created": 1748907838,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2025-06-03",
"created": 1748908498,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro-2025-06-10",
"created": 1749166761,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research",
"created": 1749685485,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research",
"created": 1749840121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe-diarize",
"created": 1750798887,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research-2025-06-26",
"created": 1750865219,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research-2025-06-26",
"created": 1750866121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-chat-latest",
"created": 1754073306,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-2025-08-07",
"created": 1754075360,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5",
"created": 1754425777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini-2025-08-07",
"created": 1754425867,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini",
"created": 1754425928,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano-2025-08-07",
"created": 1754426303,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano",
"created": 1754426384,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-2025-08-28",
"created": 1756256146,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime",
"created": 1756271701,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-2025-08-28",
"created": 1756271773,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio",
"created": 1756339249,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-codex",
"created": 1757527818,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1-mini",
"created": 1758845821,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro-2025-10-06",
"created": 1759469707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro",
"created": 1759469822,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini",
"created": 1759512027,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini-2025-10-06",
"created": 1759512137,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api",
"created": 1759514629,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini",
"created": 1759517133,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini-2025-10-06",
"created": 1759517175,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2",
"created": 1759708615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2-pro",
"created": 1759708663,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api-2025-10-14",
"created": 1760043960,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-16k",
"created": 1683758102,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1",
"created": 1681940951,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "whisper-1",
"created": 1677532384,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-ada-002",
"created": 1671217299,
"object": "model",
"owned_by": "openai-internal"
}
}
],
"is_streaming": false
},
"id_normalization_mapping": {}
}

View file

@ -0,0 +1,989 @@
{
"test_id": "tests/integration/responses/test_basic_responses.py::test_include_logprobs_with_web_search[txt=openai/gpt-4o]",
"request": {
"method": "POST",
"url": "https://api.openai.com/v1/v1/models",
"headers": {},
"body": {},
"endpoint": "/v1/models",
"model": ""
},
"response": {
"body": [
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0613",
"created": 1686588896,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4",
"created": 1687882411,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo",
"created": 1677610602,
"object": "model",
"owned_by": "openai"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex-mini",
"created": 1763007109,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-chat-latest",
"created": 1762547951,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-2025-11-13",
"created": 1762800353,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1",
"created": 1762800673,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5.1-codex",
"created": 1762988221,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "davinci-002",
"created": 1692634301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "babbage-002",
"created": 1692634615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct",
"created": 1692901427,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-instruct-0914",
"created": 1694122472,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-3",
"created": 1698785189,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "dall-e-2",
"created": 1698798177,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-1106-preview",
"created": 1698957206,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-1106",
"created": 1698959748,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd",
"created": 1699046015,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-1106",
"created": 1699053241,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1-hd-1106",
"created": 1699053533,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-small",
"created": 1705948997,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-3-large",
"created": 1705953180,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-0125-preview",
"created": 1706037612,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-preview",
"created": 1706037777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-0125",
"created": 1706048358,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo",
"created": 1712361441,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4-turbo-2024-04-09",
"created": 1712601677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o",
"created": 1715367049,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-05-13",
"created": 1715368132,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-2024-07-18",
"created": 1721172717,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini",
"created": 1721172741,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-08-06",
"created": 1722814719,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "chatgpt-4o-latest",
"created": 1723515131,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-10-01",
"created": 1727131766,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-10-01",
"created": 1727389042,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview",
"created": 1727460443,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview",
"created": 1727659998,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-latest",
"created": 1731689265,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "omni-moderation-2024-09-26",
"created": 1732734466,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2024-12-17",
"created": 1733945430,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2024-12-17",
"created": 1734034239,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview-2024-12-17",
"created": 1734112601,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview-2024-12-17",
"created": 1734115920,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-2024-12-17",
"created": 1734326976,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1",
"created": 1734375816,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-realtime-preview",
"created": 1734387380,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-audio-preview",
"created": 1734387424,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview",
"created": 1734655677,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini",
"created": 1737146383,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-mini-2025-01-31",
"created": 1738010200,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-2024-11-20",
"created": 1739331543,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "computer-use-preview-2025-03-11",
"created": 1741377021,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview-2025-03-11",
"created": 1741388170,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-search-preview",
"created": 1741388720,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview-2025-03-11",
"created": 1741390858,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-search-preview",
"created": 1741391161,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe",
"created": 1742068463,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-transcribe",
"created": 1742068596,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro-2025-03-19",
"created": 1742251504,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o1-pro",
"created": 1742251791,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-mini-tts",
"created": 1742403959,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-2025-04-16",
"created": 1744133301,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-2025-04-16",
"created": 1744133506,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3",
"created": 1744225308,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini",
"created": 1744225351,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-2025-04-14",
"created": 1744315746,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1",
"created": 1744316542,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini-2025-04-14",
"created": 1744317547,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-mini",
"created": 1744318173,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano-2025-04-14",
"created": 1744321025,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4.1-nano",
"created": 1744321707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1",
"created": 1745517030,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "codex-mini-latest",
"created": 1746673257,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro",
"created": 1748475349,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-realtime-preview-2025-06-03",
"created": 1748907838,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-audio-preview-2025-06-03",
"created": 1748908498,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-pro-2025-06-10",
"created": 1749166761,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research",
"created": 1749685485,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research",
"created": 1749840121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-4o-transcribe-diarize",
"created": 1750798887,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o3-deep-research-2025-06-26",
"created": 1750865219,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "o4-mini-deep-research-2025-06-26",
"created": 1750866121,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-chat-latest",
"created": 1754073306,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-2025-08-07",
"created": 1754075360,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5",
"created": 1754425777,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini-2025-08-07",
"created": 1754425867,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-mini",
"created": 1754425928,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano-2025-08-07",
"created": 1754426303,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-nano",
"created": 1754426384,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-2025-08-28",
"created": 1756256146,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime",
"created": 1756271701,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-2025-08-28",
"created": 1756271773,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio",
"created": 1756339249,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-codex",
"created": 1757527818,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-image-1-mini",
"created": 1758845821,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro-2025-10-06",
"created": 1759469707,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-pro",
"created": 1759469822,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini",
"created": 1759512027,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-audio-mini-2025-10-06",
"created": 1759512137,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api",
"created": 1759514629,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini",
"created": 1759517133,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-realtime-mini-2025-10-06",
"created": 1759517175,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2",
"created": 1759708615,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "sora-2-pro",
"created": 1759708663,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-5-search-api-2025-10-14",
"created": 1760043960,
"object": "model",
"owned_by": "system"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "gpt-3.5-turbo-16k",
"created": 1683758102,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "tts-1",
"created": 1681940951,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "whisper-1",
"created": 1677532384,
"object": "model",
"owned_by": "openai-internal"
}
},
{
"__type__": "openai.types.model.Model",
"__data__": {
"id": "text-embedding-ada-002",
"created": 1671217299,
"object": "model",
"owned_by": "openai-internal"
}
}
],
"is_streaming": false
},
"id_normalization_mapping": {}
}

View file

@ -12,6 +12,22 @@ from .fixtures.test_cases import basic_test_cases, image_test_cases, multi_turn_
from .streaming_assertions import StreamingValidator
def provider_from_model(client_with_models, text_model_id):
models = {m.id: m for m in client_with_models.models.list()}
models.update(
{m.custom_metadata["provider_resource_id"]: m for m in client_with_models.models.list() if m.custom_metadata}
)
provider_id = models[text_model_id].custom_metadata["provider_id"]
providers = {p.provider_id: p for p in client_with_models.providers.list()}
return providers[provider_id]
def skip_if_chat_completions_logprobs_not_supported(client_with_models, text_model_id):
provider_type = provider_from_model(client_with_models, text_model_id).provider_type
if provider_type in ("remote::ollama",):
pytest.skip(f"Model {text_model_id} hosted by {provider_type} doesn't support /v1/chat/completions logprobs.")
@pytest.mark.parametrize("case", basic_test_cases)
def test_response_non_streaming_basic(responses_client, text_model_id, case):
response = responses_client.responses.create(
@ -206,3 +222,153 @@ def test_response_non_streaming_multi_turn_image(responses_client, text_model_id
previous_response_id = response.id
output_text = response.output_text.lower()
assert turn_expected.lower() in output_text
def test_include_logprobs_non_streaming(client_with_models, text_model_id):
"""Test logprobs inclusion in responses with the include parameter."""
skip_if_chat_completions_logprobs_not_supported(client_with_models, text_model_id)
input = "Which planet do humans live on?"
include = ["message.output_text.logprobs"]
# Create a response without include["message.output_text.logprobs"]
response_w_o_logprobs = client_with_models.responses.create(
model=text_model_id,
input=input,
stream=False,
)
# Verify we got one output message and no logprobs
assert len(response_w_o_logprobs.output) == 1
message_outputs = [output for output in response_w_o_logprobs.output if output.type == "message"]
assert len(message_outputs) == 1, f"Expected one message output, got {len(message_outputs)}"
assert message_outputs[0].content[0].logprobs is None, "Expected no logprobs in the returned response"
# Create a response with include["message.output_text.logprobs"]
response_with_logprobs = client_with_models.responses.create(
model=text_model_id,
input=input,
stream=False,
include=include,
)
# Verify we got one output message and output message has logprobs
assert len(response_with_logprobs.output) == 1
message_outputs = [output for output in response_with_logprobs.output if output.type == "message"]
assert len(message_outputs) == 1, f"Expected one message output, got {len(message_outputs)}"
assert message_outputs[0].content[0].logprobs is not None, (
"Expected logprobs in the returned response, but none were returned"
)
def test_include_logprobs_streaming(client_with_models, text_model_id):
"""Test logprobs inclusion in responses with the include parameter."""
skip_if_chat_completions_logprobs_not_supported(client_with_models, text_model_id)
input = "Which planet do humans live on?"
include = ["message.output_text.logprobs"]
# Create a streaming response with include["message.output_text.logprobs"]
stream = client_with_models.responses.create(
model=text_model_id,
input=input,
stream=True,
include=include,
)
for chunk in stream:
if chunk.type == "response.completed":
message_outputs = [output for output in chunk.response.output if output.type == "message"]
assert len(message_outputs) == 1, f"Expected one message output, got {len(message_outputs)}"
assert message_outputs[0].content[0].logprobs is not None, (
f"Expected logprobs in the returned chunk ({chunk.type=}), but none were returned"
)
elif chunk.type == "response.output_item.done":
content = chunk.item.content
assert len(content) == 1, f"Expected one content object, got {len(content)}"
assert content[0].logprobs is not None, (
f"Expected logprobs in the returned chunk ({chunk.type=}), but none were returned"
)
elif chunk.type in ["response.output_text.delta", "response.output_text.done"]:
assert chunk.logprobs is not None, (
f"Expected logprobs in the returned chunk ({chunk.type=}), but none were returned"
)
elif chunk.type == "response.content_part.done":
assert chunk.part.logprobs is None, f"Expected no logprobs in the returned chunk ({chunk.type=})"
def test_include_logprobs_with_web_search(client_with_models, text_model_id):
"""Test include logprobs with built-in tool."""
skip_if_chat_completions_logprobs_not_supported(client_with_models, text_model_id)
input = "Search for a positive news story from today."
include = ["message.output_text.logprobs"]
tools = [
{
"type": "web_search",
}
]
# Create a response with built-in tool and include["message.output_text.logprobs"]
response = client_with_models.responses.create(
model=text_model_id,
input=input,
stream=False,
include=include,
tools=tools,
)
# Verify we got one built-in tool call and output message has logprobs
assert len(response.output) >= 2
assert response.output[0].type == "web_search_call"
assert response.output[0].status == "completed"
message_outputs = [output for output in response.output if output.type == "message"]
assert len(message_outputs) == 1, f"Expected one message output, got {len(message_outputs)}"
assert message_outputs[0].content[0].logprobs is not None, (
"Expected logprobs in the returned response, but none were returned"
)
def test_include_logprobs_with_function_tools(client_with_models, text_model_id):
"""Test include logprobs with function tools."""
skip_if_chat_completions_logprobs_not_supported(client_with_models, text_model_id)
input = "What is the weather in Paris?"
include = ["message.output_text.logprobs"]
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get weather information for a specified location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city name (e.g., 'New York', 'London')",
},
},
},
},
]
# Create a response with function tool and include["message.output_text.logprobs"]
response = client_with_models.responses.create(
model=text_model_id,
input=input,
stream=False,
include=include,
tools=tools,
)
# Verify we got one function tool call and no logprobs
assert len(response.output) == 1
assert response.output[0].type == "function_call"
assert response.output[0].name == "get_weather"
assert response.output[0].status == "completed"
message_outputs = [output for output in response.output if output.type == "message"]
assert len(message_outputs) == 0, f"Expected no message output, got {len(message_outputs)}"