feat:增加知识库文件字段

This commit is contained in:
2026-07-28 22:58:32 +08:00
parent 0e9bde9a14
commit 613eed541f
7 changed files with 93 additions and 43 deletions

36
main.py
View File

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