WordPress / WordPress/php-ai-client

Abstracting away the need to manually maintain tons of provider and model metadata

Open
#4 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

[Type] Discussion
Dominant language
PHP
Stars
308
Forks
84
Avg merge
7d 21h
Merged PRs (30d)
2

Description

One pain point I've had while maintaining AI Services is to keep up with provider details and their model metadata, especially as the available models and their metadata (e.g. maximum supported input and output tokens, capabilities like function calling) change all the time.

Unfortunately, the majority of providers do not provide structured information about these aspects in their APIs. Most providers barely provide any model information other than the identifier and human readable name - not even something as high level as whether a model is for text generation or image generation, for example.

This means that, the more providers and models we'll eventually support, the worse the maintenance burden becomes. At some point it's probably unreasonable for the maintainers of this project, however many it will be, to be able to keep up with all the model changes across all the supported providers.

When chatting to Jamie and Marcus from the Drupal AI side, they also raised this as a severe problem they've been facing. They shared https://models.litellm.ai/, which might be the only source of granular model information across providers that's publicly available. If we could somehow implement infrastructure to consume that data to help with model discovery based on capabilities, it would severely reduce the maintenance burden.

Let's think about how we could make that a reality. Potentially this is something that could be built into this SDK, or it could be a separate package purely focused on the data which this SDK could consume.

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 reading the existing SDK structure and reviewing models.litellm.ai, then determine how provider and model metadata is currently maintained. Done means there is an agreed design for consuming external model data to support capability-based discovery and reduce manual maintenance.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
ai, backend-api-design
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.