Expected Behavior

Can use Spring AI to integrate with ByteDance's LLM doubao-seed-1-6-thinking-250715

or which starter should I choose?

Current Behavior

I tried using spring-ai-starter-model-openai, but the request parameters do not support the thinking field, and the response data also doesn’t include reasoning_content.

I hope Spring AI can support integration with more LLMs.

Request Example:

{
    "model": "doubao-seed-1-6-thinking-250715",
    "messages": [
      {
        "role": "user",
        "content": "Hello"
      },
      {
        "role": "system",
        "content": "You're an intelligent assistant."
      }
    ],
    "stream": true,
    "thinking": {
      "type": "enabled"
    },
    "stream_options": {
      "include_usage": true
    }
  }

Response Example:

...
{"choices":[{"delta":{"content":"","reasoning_content":" need","role":"assistant"},"index":0}],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","service_tier":"default","object":"chat.completion.chunk","usage":null}

{"choices":[{"delta":{"content":"","reasoning_content":".","role":"assistant"},"index":0}],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","service_tier":"default","object":"chat.completion.chunk","usage":null}

{"choices":[{"delta":{"content":"Hello","role":"assistant"},"index":0}],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","service_tier":"default","object":"chat.completion.chunk","usage":null}

{"choices":[{"delta":{"content":"!","role":"assistant"},"index":0}],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","service_tier":"default","object":"chat.completion.chunk","usage":null}

{"choices":[{"delta":{"content":" How","role":"assistant"},"index":0}],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","service_tier":"default","object":"chat.completion.chunk","usage":null}

...

{"choices":[],"created":1756883562,"id":"021756883562269078532ccda42bfe607645d235a4671675eb216","model":"doubao-seed-1-6-thinking-250715","object":"chat.completion.chunk","usage":{"completion_tokens":72,"prompt_tokens":20,"total_tokens":92,"prompt_tokens_details":{"cached_tokens":0},"completion_tokens_details":{"reasoning_tokens":63}}}

[DONE]

Comment From: eeaters

Haha, I ran into the same issue, so I wrote a simple Doubao starter locally that only includes the text model and vector model.It works very well

However, I heard online that if a starter wants to be included in Spring AI, it needs authorization from the vendor. If I improve and adjust my code to the style of spring-ai, can I submit it? @markpollack @tzolov

Comment From: sunyuhan1998

Hi @magese @eeaters , Following previous practice, for support of new models, we recommend using the OpenAI starter whenever the model is compatible with the OpenAI interface. If compatibility is not possible, we suggest initially incubating the support within the Spring AI Community, and once it matures, integrating it into the main project. If you have such a need, feel free to create an issue at: https://github.com/spring-ai-community/community/issues/new?template=application.yml to request support for the specific model.