feat: rag api endpoint

This commit is contained in:
Timothy J. Baek 2024-01-06 22:07:20 -08:00
parent 7071716f54
commit b2c9f6dff8
3 changed files with 33 additions and 4 deletions

23
backend/apps/rag/main.py Normal file
View 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}

View file

@ -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")

View file

@ -16,7 +16,10 @@ aiohttp
peewee peewee
bcrypt bcrypt
langchain
chromadb chromadb
sentence_transformers
PyJWT PyJWT
pyjwt[crypto] pyjwt[crypto]