forked from open-webui/open-webui
feat: litellm yaml
This commit is contained in:
parent
b5bd07a06a
commit
14dd0d11fb
3 changed files with 31 additions and 2 deletions
2
backend/.gitignore
vendored
2
backend/.gitignore
vendored
|
@ -8,4 +8,6 @@ _test
|
||||||
Pipfile
|
Pipfile
|
||||||
data/*
|
data/*
|
||||||
!data/config.json
|
!data/config.json
|
||||||
|
!data/litellm/config.yaml
|
||||||
|
|
||||||
.webui_secret_key
|
.webui_secret_key
|
|
@ -2,7 +2,8 @@ from bs4 import BeautifulSoup
|
||||||
import json
|
import json
|
||||||
import markdown
|
import markdown
|
||||||
import time
|
import time
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
from fastapi import FastAPI, Request, Depends
|
from fastapi import FastAPI, Request, Depends
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
@ -13,6 +14,7 @@ from fastapi.middleware.cors import CORSMiddleware
|
||||||
from starlette.exceptions import HTTPException as StarletteHTTPException
|
from starlette.exceptions import HTTPException as StarletteHTTPException
|
||||||
|
|
||||||
|
|
||||||
|
from litellm.proxy.proxy_server import ProxyConfig, initialize
|
||||||
from litellm.proxy.proxy_server import app as litellm_app
|
from litellm.proxy.proxy_server import app as litellm_app
|
||||||
|
|
||||||
from apps.ollama.main import app as ollama_app
|
from apps.ollama.main import app as ollama_app
|
||||||
|
@ -38,6 +40,21 @@ class SPAStaticFiles(StaticFiles):
|
||||||
raise ex
|
raise ex
|
||||||
|
|
||||||
|
|
||||||
|
proxy_config = ProxyConfig()
|
||||||
|
|
||||||
|
|
||||||
|
async def config():
|
||||||
|
router, model_list, general_settings = await proxy_config.load_config(
|
||||||
|
router=None, config_file_path="./data/litellm/config.yaml"
|
||||||
|
)
|
||||||
|
|
||||||
|
await initialize(config="./data/litellm/config.yaml", telemetry=False)
|
||||||
|
|
||||||
|
|
||||||
|
async def startup():
|
||||||
|
await config()
|
||||||
|
|
||||||
|
|
||||||
app = FastAPI(docs_url="/docs" if ENV == "dev" else None, redoc_url=None)
|
app = FastAPI(docs_url="/docs" if ENV == "dev" else None, redoc_url=None)
|
||||||
|
|
||||||
origins = ["*"]
|
origins = ["*"]
|
||||||
|
@ -51,6 +68,11 @@ app.add_middleware(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@app.on_event("startup")
|
||||||
|
async def on_startup():
|
||||||
|
await startup()
|
||||||
|
|
||||||
|
|
||||||
@app.middleware("http")
|
@app.middleware("http")
|
||||||
async def check_url(request: Request, call_next):
|
async def check_url(request: Request, call_next):
|
||||||
start_time = int(time.time())
|
start_time = int(time.time())
|
||||||
|
@ -79,7 +101,6 @@ async def auth_middleware(request: Request, call_next):
|
||||||
app.mount("/api/v1", webui_app)
|
app.mount("/api/v1", webui_app)
|
||||||
app.mount("/litellm/api", litellm_app)
|
app.mount("/litellm/api", litellm_app)
|
||||||
|
|
||||||
|
|
||||||
app.mount("/ollama/api", ollama_app)
|
app.mount("/ollama/api", ollama_app)
|
||||||
app.mount("/openai/api", openai_app)
|
app.mount("/openai/api", openai_app)
|
||||||
|
|
||||||
|
|
6
test.json
Normal file
6
test.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"model_name": "string",
|
||||||
|
"litellm_params": {
|
||||||
|
"model": "ollama/mistral"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue