WordPress / WordPress/php-ai-client
Abstracting away the need to manually maintain tons of provider and model metadata
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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