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 starlette.exceptions import HTTPException as StarletteHTTPException | ||||
| 
 | ||||
| 
 | ||||
| from apps.ollama.main import app as ollama_app | ||||
| from apps.openai.main import app as openai_app | ||||
| 
 | ||||
| from apps.web.main import app as webui_app | ||||
| from apps.rag.main import app as rag_app | ||||
| 
 | ||||
| 
 | ||||
| import time | ||||
| 
 | ||||
| 
 | ||||
| class SPAStaticFiles(StaticFiles): | ||||
| 
 | ||||
|     async def get_response(self, path: str, scope): | ||||
|         try: | ||||
|             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("/ollama/api", ollama_app) | ||||
| app.mount("/openai/api", openai_app) | ||||
| app.mount("/rag/api/v1", rag_app) | ||||
| 
 | ||||
| app.mount("/", | ||||
|           SPAStaticFiles(directory="../build", html=True), | ||||
|           name="spa-static-files") | ||||
| 
 | ||||
| app.mount("/", SPAStaticFiles(directory="../build", html=True), name="spa-static-files") | ||||
|  |  | |||
|  | @ -16,7 +16,10 @@ aiohttp | |||
| peewee | ||||
| bcrypt | ||||
| 
 | ||||
| 
 | ||||
| langchain | ||||
| chromadb | ||||
| sentence_transformers | ||||
| 
 | ||||
| PyJWT | ||||
| pyjwt[crypto] | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek