spring-projects / spring-projects/spring-ai

Add Model Captability class

Open
#3,103 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

design model client
Dominant language
Java
Stars
9.5k
Forks
2.9k
Avg merge
1d 7h
Merged PRs (30d)
6

Description

Both #2787 and #2863 would benefit from having a Model Capability class that describes what functionality the model supports.

For the case of the reasoning models, this capability would enable one to copy the current systemMessage into a 'developerMessage' (as required by the o series of openai models) and for structured output one can switch to use the JSON mode vs. the current strategy of adding to the prompt the 'please convert my json` message.

There is a wide range of features that fall under this umbrella, so a good design is need. Multimodality is another one, we can proactively know that a request with Media would not be supported by a given model.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing issues #2787 and #2863 and the existing handling of systemMessage, developerMessage, structured output, JSON mode, and Media support. Done means an agreed Model Capability design covering reasoning, structured output, and multimodality.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
ai
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.