mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 01:31:13 +02:00
add /sdapi/v1/lora endpoint
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
+4
-3
@@ -5,7 +5,7 @@ from fastapi import FastAPI, APIRouter, Depends, Request
|
||||
from fastapi.security import HTTPBasic, HTTPBasicCredentials
|
||||
from fastapi.exceptions import HTTPException
|
||||
from modules import errors, shared, postprocessing
|
||||
from modules.api import models, endpoints, script, helpers, server, nvml, generate, process, control, gallery, docs
|
||||
from modules.api import models, endpoints, script, helpers, server, nvml, generate, process, control, gallery, loras, docs
|
||||
|
||||
|
||||
errors.install()
|
||||
@@ -100,8 +100,9 @@ class Api:
|
||||
|
||||
# lora api
|
||||
if shared.native:
|
||||
self.add_api_route("/sdapi/v1/loras", endpoints.get_loras, methods=["GET"], response_model=List[dict])
|
||||
self.add_api_route("/sdapi/v1/refresh-loras", endpoints.post_refresh_loras, methods=["POST"])
|
||||
self.add_api_route("/sdapi/v1/lora", loras.get_lora, methods=["GET"], response_model=dict)
|
||||
self.add_api_route("/sdapi/v1/loras", loras.get_loras, methods=["GET"], response_model=List[dict])
|
||||
self.add_api_route("/sdapi/v1/refresh-loras", loras.post_refresh_loras, methods=["POST"])
|
||||
|
||||
# gallery api
|
||||
gallery.register_api(self.app)
|
||||
|
||||
@@ -43,12 +43,6 @@ def get_embeddings():
|
||||
|
||||
return {"loaded": convert_embeddings(db.word_embeddings), "skipped": convert_embeddings(db.skipped_embeddings)}
|
||||
|
||||
def get_loras():
|
||||
from modules.lora import network, lora_load
|
||||
def create_lora_json(obj: network.NetworkOnDisk):
|
||||
return { "name": obj.name, "alias": obj.alias, "path": obj.filename, "metadata": obj.metadata }
|
||||
return [create_lora_json(obj) for obj in lora_load.available_networks.values()]
|
||||
|
||||
def get_extra_networks(page: Optional[str] = None, name: Optional[str] = None, filename: Optional[str] = None, title: Optional[str] = None, fullname: Optional[str] = None, hash: Optional[str] = None): # pylint: disable=redefined-builtin
|
||||
res = []
|
||||
for pg in shared.extra_networks:
|
||||
@@ -158,10 +152,6 @@ def post_refresh_vae():
|
||||
shared.refresh_vaes()
|
||||
return {}
|
||||
|
||||
def post_refresh_loras():
|
||||
from modules.lora import lora_load
|
||||
return lora_load.list_available_networks()
|
||||
|
||||
def get_extensions_list():
|
||||
from modules import extensions
|
||||
extensions.list_extensions()
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
from fastapi.exceptions import HTTPException
|
||||
|
||||
|
||||
def get_lora(lora: str) -> dict:
|
||||
from modules.lora import lora_load
|
||||
if lora not in lora_load.available_networks:
|
||||
raise HTTPException(status_code=404, detail=f"Lora '{lora}' not found")
|
||||
obj = lora_load.available_networks[lora]
|
||||
obj.info = obj.get_info()
|
||||
obj.desc = obj.get_desc()
|
||||
print('HERE', obj)
|
||||
return obj.__dict__
|
||||
|
||||
def get_loras():
|
||||
from modules.lora import network, lora_load
|
||||
def create_lora_json(obj: network.NetworkOnDisk):
|
||||
return { "name": obj.name, "alias": obj.alias, "path": obj.filename, "metadata": obj.metadata }
|
||||
return [create_lora_json(obj) for obj in lora_load.available_networks.values()]
|
||||
|
||||
def post_refresh_loras():
|
||||
from modules.lora import lora_load
|
||||
return lora_load.list_available_networks()
|
||||
Reference in New Issue
Block a user