Open Responses API doesn't accept "output_text" as an input Item
Los mantenedores suelen responder en 1 día
@localai-org-maint-bot ya está trabajando en esto.
Desde el 28/9/2026.
- #12339 de @localai-org-maint-bot — abierto
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Empieza en core/http/endpoints/openresponses/responses.go alrededor de las líneas 727 y 750-754; después, reproduce la solicitud /v1/responses usando como entrada la salida de una respuesta anterior. Comprueba cómo se convierten los elementos output_text en entrada del backend. Se considera terminado cuando se acepta una salida copiada que contiene output_text y el contenido de la respuesta anterior llega al contexto del modelo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
LocalAI version:
v4.10.0 (7ad0cbf259f0c7bf9920fe2438fc3630ecd6c672)
Environment, CPU architecture, OS, and Version:
Docker, x86, Linux
Describe the bug
Open Response API doesn't accept output_text as an Item per the spec.
https://www.openresponses.org/reference#request-body
https://github.com/mudler/LocalAI/blob/b77937f61c522feb64f362a1ce322b5ef979cb7d/core/http/endpoints/openresponses/responses.go#L727
You should be able to exactly copy the "output" JSON from one call into the "input" JSON of the next call.
To Reproduce
Start a new OR API request (/v1/responses) with output messages from a previous response.
Expected behavior
The model sees the previous responses in the context for the new response
Logs
Example input:
Input JSON
{
"model": "gemma-4-26b-a4b-it",
"instructions": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. ",
"input": [
{
"id": "msg_8c030eaa-8eca-402d-9a37-3b81097dedf8",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"text": "text 1",
"type": "output_text",
"logprobs": [],
"annotations": []
}
],
"summary": [],
"arguments": ""
},
{
"id": "msg_936e093d-e8b7-46b1-a3ed-c5058f5092af",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"text": "text 2",
"type": "output_text",
"logprobs": [],
"annotations": []
}
],
"summary": [],
"arguments": ""
},
{
"id": "msg_259556ea-700d-42e6-905a-9897fb6674d9",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"text": "text 3",
"type": "output_text",
"logprobs": [],
"annotations": []
}
],
"summary": [],
"arguments": ""
},
{
"id": "msg_427a8eff-6185-402e-99a6-1a93c3b3f705",
"role": "assistant",
"type": "message",
"status": "completed",
"content": [
{
"text": "text 4",
"type": "output_text",
"logprobs": [],
"annotations": []
}
],
"summary": [],
"arguments": ""
}
],
"temperature": 0.8
}
Example Backend Input:
Backend Input
[
{
"role": "system",
"content": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. "
}
]
Backend Output
{
"id": "resp_ac7c7791-7680-4685-a4cc-c206264b073f",
"object": "response",
"created_at": 1790610865,
"completed_at": 1790610910,
"status": "completed",
"model": "gemma-4-26b-a4b-it",
"output": [
{
"type": "message",
"id": "msg_8f7ba482-ca80-4cc9-8633-9d71dd0e8fa3",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Please provide the scanned hand-written notes (by uploading the images or providing the text). \n\nOnce you provide them, I will combine them according to your exact constraints:\n1. **No reordering:** I will keep the notes in their original sequence.\n2. **No wording changes:** I will not change a single word in the body of the notes.\n3. **Footnotes/Endnotes exception:** I will only adjust the footnotes and endnotes to ensure they are correctly placed or formatted according to your requirements.",
"annotations": [],
"logprobs": []
}
],
"arguments": "",
"summary": []
}
],
"error": null,
"incomplete_details": null,
"previous_response_id": null,
"instructions": "These are scanned hand-written notes. Combine the notes, but do not reorder or change the wording of the notes except for the footnotes and endnotes. ",
"tools": [],
"tool_choice": "none",
"parallel_tool_calls": true,
"max_tool_calls": null,
"temperature": 0.8,
"top_p": 1,
"presence_penalty": 0,
"frequency_penalty": 0,
"top_logprobs": 0,
"max_output_tokens": null,
"text": {
"format": {
"type": "text"
}
},
"truncation": "auto",
"reasoning": null,
"usage": {
"input_tokens": 43,
"output_tokens": 1546,
"total_tokens": 1589,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"metadata": {},
"store": true,
"background": false,
"service_tier": "default",
"safety_identifier": null,
"prompt_cache_key": null
}
Additional context
I believe | "output_text" (Pseudo code since I am unfamiliar with go) needs to be added here as a quick solution, but I'm unsure if it will cause downstream problems.
https://github.com/mudler/LocalAI/blob/b77937f61c522feb64f362a1ce322b5ef979cb7d/core/http/endpoints/openresponses/responses.go#L750-L754
- Lenguaje dominante
- Go
- Estrellas
- 49.5k
- Forks
- 4.5k
- Merge medio
- 20 h 46 min
- PR fusionados (30 d)
- 371
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mudler/LocalAI
-
Realtime: ASR EOU language tags leak into the LLM conversation (unintended reply-language switching)Posiblemente ocupada @nexxtmobile la tomó hace 4 días. Abiertoarea/api bug unconfirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Gallery model audio-cpp-sortformer-diarization fails to install: SHA mismatch, reproducible across retriesQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
mudler/LocalAI#11995 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Agent pool Postgres DSN is logged in cleartext, including the password, while the auth DSN is redactedPosiblemente ocupada @localai-org-maint-bot la tomó hace 39 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mudler/LocalAI#11991 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fish-speech: make compile:true usable on Blackwell sm_121 by honouring the CUDA toolkit's ptxasQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
mudler/LocalAI#11348 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Realtime: committed-utterance WAV written with fixed 16 kHz header breaks 24 kHz client commits (empty STT -> input_not_committed -> total silence)Posiblemente ocupada @nexxtmobile la tomó hace 4 días. Abiertoarea/api bug confirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
Todos los issues de mudler/LocalAI
Issues similares
-
🕷️ bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
sysadminsmedia/homebox#1805 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
router-for-me/CLIProxyAPI#6851 ·
Los mantenedores suelen responder en 1 día
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[bug]: docs: Update webhook delete examples to use the correct flag (--webhook-id)Posiblemente ocupada @MuhammadHassan968 la tomó hoy. Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
goharbor/harbor-cli#1127 ·
Los mantenedores suelen responder en 12 días