diff --git a/endpoints/core/router.py b/endpoints/core/router.py index f2b42473..017738b7 100644 --- a/endpoints/core/router.py +++ b/endpoints/core/router.py @@ -2,6 +2,7 @@ import pathlib from sys import maxsize from fastapi import APIRouter, Depends, HTTPException, Request, Response +from fastapi.responses import JSONResponse from sse_starlette import EventSourceResponse from common import model, sampling @@ -61,6 +62,34 @@ async def healthcheck(response: Response) -> HealthCheckResponse: ) +@router.get("/.well-known/serviceinfo") +async def service_info(): + return JSONResponse( + content={ + "version": 0.1, + "software": { + "name": "TabbyAPI", + "repository": "https://github.com/theroyallab/tabbyAPI", + "homepage": "https://github.com/theroyallab/tabbyAPI", + }, + "api": { + "openai": { + "name": "OpenAI API", + "relative_url": "/v1", + "documentation": "https://theroyallab.github.io/tabbyAPI", + "version": 1, + }, + "koboldai": { + "name": "KoboldAI API", + "relative_url": "/api", + "documentation": "https://theroyallab.github.io/tabbyAPI", + "version": 1, + }, + }, + } + ) + + # Model list endpoint @router.get("/v1/models", dependencies=[Depends(check_api_key)]) @router.get("/v1/model/list", dependencies=[Depends(check_api_key)])