Skip to content

Development roadmap #8

@JasonTheAdams

Description

@JasonTheAdams

I think it would be helpful to take the requirements doc and derive a development roadmap. I think what exactly is the MVP can be defined as this is thought through, but isn't my initial intent to define. The phases are prioritized based on the greater WP AI initiative, with the goal being that we can move to other projects within that effort faster, without having to wait for this to be done in its entirety. Lastly, this is intended to be iterative with no backwards compatibility issues.

I'm not sure if we want to update the requirements doc with any/all of this, or if it's best to consider them separate. I'm good either way.

0.1.0: Basic Universal Client

Goal: Providers can register models with the Client, and the client is capable of the most fundamental and common tasks and model configurations.

  • Client provides a unified API for interacting with various models
  • Basic model parameters (e.g. temperature and top P) are standardized
  • Providers and models can be registered
  • Basic AI modalities
    • Text
    • Image
    • Audio
    • Video
  • Client can receive a chat history
  • Tools can be defined and passed to the model
  • Resources can be defined and passed to the model
  • Registered models can specify whether they support tools and/or resources
  • Model prompts support tool calls and results
  • Structured output from AI

0.2.0: Battle testing improvements

Goal: With 0.1.0 out, others can begin testing. This release will provide basic API improvements and address any issues discovered during testing.

0.3.0: Streaming support

Goal: Client is capable of providing a streamed chat UX.

  • Response streaming is supported

0.4.0: Embedding

Goal: The client is capable of supporting embeds for use with vector databases

  • Embeddings can be generated by the client

No Gos

The following are ideas and directions we are intentionally not taking at this time. Some indefinitely and others in the meantime

  • The client is not responsible for persisting chat history in any way. It can receive chat history for context, but it's up to the implementing code to persist it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Type] DiscussionFor issues that are high-level and not yet ready to implement.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions