ComfyUI icon indicating copy to clipboard operation
ComfyUI copied to clipboard

Add .well-known/serviceinfo endpoint

Open db0 opened this issue 3 months ago • 0 comments

Feature Idea

The developers of the AI Horde, koboldcpp and aphrodite just agreed for a standard which would allow inference integrators to our APIs to quickly retrieve the information about the API they are working with.

We arranged that the information should live in a .well-known URI and we chose serviceinfo as the endpoint to signify it's use in a service api.

We came up with the following standard (you can see a live example here)

{
  "api": {
    "aihorde": {
      "rel_url": "/api/v2",
      "documentation": "https://aihorde.net/api",
      "name": "AI Horde API",
      "version": "2.5"
    }
  },
  "software": {
    "homepage": "https://aihorde.net",
    "logo": "https://aihorde.net/assets/img/logo.png",
    "name": "AI Horde",
    "repository": "https://github.com/Haidra-Org/AI-Horde",
    "version": "4.44.0"
  },
  "version": "0.2"
}

The fields should be self-explanatory, but basically api holds info about each api is served (for example aphrodite serves both Open AI and KoboldAI APIs) whereas the software holds information about the software itself. The version on the root is the version of the .well-known/serviceinfo itself.

We think it would benefit everyone if ComfyUI onboard the same endpoint and we would welcome improvement and extensions on the serviceinfo standard we came up with.

Relevant PRs

Aphrodite: https://github.com/PygmalionAI/aphrodite-engine/pull/807 AI Horde: https://github.com/Haidra-Org/AI-Horde/pull/466

Existing Solutions

Most inference APIs do not provide this information consistently. This is an attempt to standardize this for all of us.

Other

No response

db0 avatar Nov 04 '24 12:11 db0