forked from open-webui/open-webui
feat: rag api endpoint
This commit is contained in:
parent
7071716f54
commit
b2c9f6dff8
3 changed files with 33 additions and 4 deletions
23
backend/apps/rag/main.py
Normal file
23
backend/apps/rag/main.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
from fastapi import FastAPI, Request, Depends, HTTPException
|
||||||
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
|
from apps.web.routers import auths, users, chats, modelfiles, utils
|
||||||
|
from config import WEBUI_VERSION, WEBUI_AUTH
|
||||||
|
|
||||||
|
|
||||||
|
app = FastAPI()
|
||||||
|
|
||||||
|
origins = ["*"]
|
||||||
|
|
||||||
|
app.add_middleware(
|
||||||
|
CORSMiddleware,
|
||||||
|
allow_origins=origins,
|
||||||
|
allow_credentials=True,
|
||||||
|
allow_methods=["*"],
|
||||||
|
allow_headers=["*"],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@app.get("/")
|
||||||
|
async def get_status():
|
||||||
|
return {"status": True}
|
|
@ -5,16 +5,18 @@ from fastapi.middleware.wsgi import WSGIMiddleware
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from starlette.exceptions import HTTPException as StarletteHTTPException
|
from starlette.exceptions import HTTPException as StarletteHTTPException
|
||||||
|
|
||||||
|
|
||||||
from apps.ollama.main import app as ollama_app
|
from apps.ollama.main import app as ollama_app
|
||||||
from apps.openai.main import app as openai_app
|
from apps.openai.main import app as openai_app
|
||||||
|
|
||||||
from apps.web.main import app as webui_app
|
from apps.web.main import app as webui_app
|
||||||
|
from apps.rag.main import app as rag_app
|
||||||
|
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
class SPAStaticFiles(StaticFiles):
|
class SPAStaticFiles(StaticFiles):
|
||||||
|
|
||||||
async def get_response(self, path: str, scope):
|
async def get_response(self, path: str, scope):
|
||||||
try:
|
try:
|
||||||
return await super().get_response(path, scope)
|
return await super().get_response(path, scope)
|
||||||
|
@ -49,9 +51,10 @@ async def check_url(request: Request, call_next):
|
||||||
|
|
||||||
|
|
||||||
app.mount("/api/v1", webui_app)
|
app.mount("/api/v1", webui_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)
|
||||||
|
app.mount("/rag/api/v1", rag_app)
|
||||||
|
|
||||||
app.mount("/",
|
|
||||||
SPAStaticFiles(directory="../build", html=True),
|
app.mount("/", SPAStaticFiles(directory="../build", html=True), name="spa-static-files")
|
||||||
name="spa-static-files")
|
|
||||||
|
|
|
@ -16,7 +16,10 @@ aiohttp
|
||||||
peewee
|
peewee
|
||||||
bcrypt
|
bcrypt
|
||||||
|
|
||||||
|
|
||||||
|
langchain
|
||||||
chromadb
|
chromadb
|
||||||
|
sentence_transformers
|
||||||
|
|
||||||
PyJWT
|
PyJWT
|
||||||
pyjwt[crypto]
|
pyjwt[crypto]
|
||||||
|
|
Loading…
Reference in a new issue