Skip to content

Conversation

@actus-wirtenberger
Copy link

Summary

  • Add APIpie as a new provider with 800+ models

Implementation Details

Model Metadata Generation

APIpie's /v1/models/detailed endpoint returns comprehensive model information but lacks human-readable display names and reasoning effort metadata. This PR addresses these limitations:

Display Names: Uses Claude Sonnet 4.5 via APIpie to generate professional display names from model IDs and descriptions

  • Example: gpt-4o-2024-11-20"GPT-4o (2024-11-20)"
  • Example: claude-3-5-sonnet"Claude 3.5 Sonnet"

Reasoning Effort Detection: For models with "reasoning" in their subtype, uses LLM to analyze descriptions and determine if they support controllable reasoning depth (e.g., OpenAI's reasoning_effort parameter)

Graceful Fallback

The implementation ensures the tool never breaks due to API issues:

  • If APIPIE_DISPLAY_NAME_API_KEY is not set or fails, falls back to using raw model IDs as display names
  • All LLM features are optional enhancements, not requirements

Caching Strategy

Implements SQLite-based caching to minimize API costs:

  • Caches display names keyed by model ID + metadata hash
  • Caches reasoning effort analysis keyed by description hash
  • Automatic cache invalidation when model metadata changes
  • Periodic cleanup of old entries (90+ days)
  • GitHub Actions cache integration for CI/CD efficiency

CI/CD Integration

Updates .github/workflows/update.yml to:

  • Restore/save APIpie cache between runs
  • Run APIpie model generation with donated API key
  • Commit updated model configurations automatically

API Key Donation

To enable the enhanced metadata generation features in this PR, the contributor is donating an APIpie API key. The API key will be sent to the Charm Bracelet maintainers via email for configuration in GitHub Actions secrets as APIPIE_DISPLAY_NAME_API_KEY.

Add APIpie.ai as a new LLM provider aggregator with 900+ models.
Includes dynamic model configuration generator that fetches models
from APIpie's API and generates provider configuration.

Features:
- Fetches models from APIpie.ai detailed endpoint
- Filters for enabled LLM models
- Extracts pricing, context windows, and capabilities
- Generates catwalk-compatible provider configuration
- Taskfile integration for easy regeneration
- Add APIpie to provider registry for runtime availability
- Configure nightly workflow to regenerate APIpie models
- Add cache restoration for SQLite database
- Set up API key secret for LLM-enhanced naming
- Update commit message to include APIpie updates
@actus-wirtenberger actus-wirtenberger requested a review from a team as a code owner October 27, 2025 10:04
@actus-wirtenberger actus-wirtenberger requested review from andreynering and meowgorithm and removed request for a team October 27, 2025 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant