add /v1/models endpoint
Browse files
main.py
CHANGED
@@ -132,6 +132,29 @@ def verify_api_key(credentials: HTTPAuthorizationCredentials = Depends(security)
|
|
132 |
async def request_model(request: RequestModel, token: str = Depends(verify_api_key)):
|
133 |
return await model_handler.request_model(request, token)
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
if __name__ == '__main__':
|
136 |
import uvicorn
|
137 |
uvicorn.run("__main__:app", host="0.0.0.0", port=8000, reload=True)
|
|
|
132 |
async def request_model(request: RequestModel, token: str = Depends(verify_api_key)):
|
133 |
return await model_handler.request_model(request, token)
|
134 |
|
135 |
+
def get_all_models():
|
136 |
+
config = load_config()
|
137 |
+
all_models = []
|
138 |
+
|
139 |
+
for provider in config:
|
140 |
+
for model in provider['model']:
|
141 |
+
model_info = {
|
142 |
+
"id": model,
|
143 |
+
"object": "model",
|
144 |
+
"created": 1720524448858,
|
145 |
+
"owned_by": provider['provider']
|
146 |
+
}
|
147 |
+
all_models.append(model_info)
|
148 |
+
|
149 |
+
return all_models
|
150 |
+
|
151 |
+
@app.get("/v1/models")
|
152 |
+
async def list_models():
|
153 |
+
models = get_all_models()
|
154 |
+
return {
|
155 |
+
"object": "list",
|
156 |
+
"data": models
|
157 |
+
}
|
158 |
if __name__ == '__main__':
|
159 |
import uvicorn
|
160 |
uvicorn.run("__main__:app", host="0.0.0.0", port=8000, reload=True)
|