feat:增加知识库文件字段
This commit is contained in:
36
main.py
36
main.py
@@ -9,7 +9,7 @@ from database import get_db
|
||||
from schemas.agent import QueryRequest
|
||||
from schemas.library import LibraryFileRequest, LibraryFileResponse
|
||||
from service.agent_service import query_agent
|
||||
from service.library_service import add_file, get_file, list_files
|
||||
from service.library_service import add_file, get_file, list_files, edit_file
|
||||
from storage import upload_rustfs
|
||||
from ocr import ocr_from_url
|
||||
|
||||
@@ -23,17 +23,13 @@ app.add_middleware(
|
||||
)
|
||||
|
||||
|
||||
@app.post("/upload")
|
||||
@app.post("/library/upload")
|
||||
def upload(file: UploadFile = File(...)):
|
||||
url = upload_rustfs(file.file, file.filename)
|
||||
text = ocr_from_url(url)
|
||||
|
||||
return {
|
||||
"text": text,
|
||||
}
|
||||
return ocr_from_url(url)
|
||||
|
||||
|
||||
@app.post("/generate")
|
||||
@app.post("/library/question")
|
||||
def generate(query: QueryRequest):
|
||||
"""流式对话"""
|
||||
return StreamingResponse(
|
||||
@@ -42,17 +38,21 @@ def generate(query: QueryRequest):
|
||||
)
|
||||
|
||||
|
||||
@app.post("/files", response_model=bool)
|
||||
async def add_library_file(data: LibraryFileRequest, db: AsyncSession = Depends(get_db)):
|
||||
await add_file(db, data)
|
||||
return True
|
||||
|
||||
|
||||
@app.get("/files", response_model=List[LibraryFileResponse])
|
||||
@app.get("/library/files", response_model=List[LibraryFileResponse])
|
||||
async def list_library_file(db: AsyncSession = Depends(get_db)):
|
||||
return await list_files(db)
|
||||
|
||||
|
||||
@app.get("/files/{file_id}", response_model=LibraryFileResponse)
|
||||
async def get_library_file(file_id: int, db: AsyncSession = Depends(get_db)):
|
||||
return await get_file(db, file_id)
|
||||
@app.get("/library/files/{id}", response_model=LibraryFileResponse)
|
||||
async def get_library_file(id: int, db: AsyncSession = Depends(get_db)):
|
||||
return await get_file(db, id)
|
||||
|
||||
|
||||
@app.post("/library/files", response_model=bool)
|
||||
async def add_library_file(data: LibraryFileRequest, db: AsyncSession = Depends(get_db)):
|
||||
return await add_file(db, data)
|
||||
|
||||
|
||||
@app.put("/library/files/{id}", response_model=bool)
|
||||
async def edit_library_file(id: int, data: LibraryFileRequest, db: AsyncSession = Depends(get_db)):
|
||||
return await edit_file(db, id, data)
|
||||
|
||||
Reference in New Issue
Block a user