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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek