Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Open Responses API doesn't accept "output_text" as an input Item

オープン 初心者向け
#12,337 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
78/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go
領域
api, backend

調査の方向性

core/http/endpoints/openresponses/responses.go の727行目と750-754行目付近から始め、その後、以前のレスポンスの出力を入力として使用して /v1/responses リクエストを再現します。output_text アイテムがバックエンド入力に変換される方法を確認します。output_text を含むコピーした出力が受け入れられ、以前のレスポンスの内容がモデルコンテキストに到達すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug unconfirmed

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

主要言語
Go
スター
49.3k
フォーク
4.5k
平均マージ
1日 7時間
マージ済み PR(30日)
362

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

mudler/LocalAI のほかの issue

mudler/LocalAI の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。