The current implementation is focused on text/code based GenerativeAI use cases as input and output. The name AiClient, is likely too broad. There isn't yet a ton of experience with multi-modal language models and such a generic name might be better suited in that use case.

Consider to rename AiClient. Here are some things to consider.

  • There is friction with Java naming conventions and standard use of the abbreviation AI.
  • Consider renaming AiClient to GenerativeClient and perhaps the package name to org.sf.ai.client.generative
  • Consider making Generation an interface with a generic type.

Comment From: markpollack

Closing in favor of https://github.com/spring-projects/spring-ai/issues/241