From fe4955f46667797c4eb32d1c7fe16b0bda798769 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Tue, 24 Jun 2025 19:09:56 +0800 Subject: [PATCH] 'commit' --- dsRag/Dao/KbDao.py | 13 ++ dsRag/Dao/__pycache__/KbDao.cpython-310.pyc | Bin 0 -> 756 bytes dsRag/Model/KbModel.py | 14 ++ .../Model/__pycache__/KbModel.cpython-310.pyc | Bin 0 -> 768 bytes dsRag/Start.py | 188 ++++++++++++------ 5 files changed, 150 insertions(+), 65 deletions(-) create mode 100644 dsRag/Dao/KbDao.py create mode 100644 dsRag/Dao/__pycache__/KbDao.cpython-310.pyc create mode 100644 dsRag/Model/KbModel.py create mode 100644 dsRag/Model/__pycache__/KbModel.cpython-310.pyc diff --git a/dsRag/Dao/KbDao.py b/dsRag/Dao/KbDao.py new file mode 100644 index 00000000..45c73177 --- /dev/null +++ b/dsRag/Dao/KbDao.py @@ -0,0 +1,13 @@ +from typing import List, Optional +from Model.KbModel import KbModel, KbFileModel +from Util.MySQLUtil import init_mysql_pool + +class KbDao: + def __init__(self, mysql_pool): + self.mysql_pool = mysql_pool + + async def create_kb(self, kb: KbModel) -> int: + # 实现创建知识库的数据库操作 + pass + + # 其他CRUD方法实现... \ No newline at end of file diff --git a/dsRag/Dao/__pycache__/KbDao.cpython-310.pyc b/dsRag/Dao/__pycache__/KbDao.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b3956185250945c7d698a6a304d615efd47431d GIT binary patch literal 756 zcmZWn&2AGh5FUGflO}1zfk&vcmplMMRV6Aoqz#1#Az6{EP3)E>-rdx@K}yvFs1a|# zL-aX#3tu_$3Y?g62t;C}nVp~YeBX>+_xoKy`Sw+O_{0EyP;e*#24|?vDH;We87P@x zB^R7g%uP^+A}k{j`8Y6fnTUkJD^Q_|wxFU1E>aawAxnN@56HL+FN&sh>FZTn)KzXU zlZ@w=wbI5Njpr{5qkWJucU)9OE6YuDYvih~&4M}{N{GQ3YIA}{gJ22-S4{COh(HB8 zRH2Tpk%@}8p@>z2JW>~p=jVC7;CN;)>ebJIE6~63t?@Nv^ z=PtIoUEAtEmUvC@oz7B&FF5cNY>KX@k#S4p?O>nqS=+e8m z_B8OhN!D?3yIB?0jio(UdTg%m?|$^>LHPcbPP@UowlJg1&GgL$d6vfaeGc$EydO4w TzGHn#>uP8}Lm09id%}MMaEYP; literal 0 HcmV?d00001 diff --git a/dsRag/Model/KbModel.py b/dsRag/Model/KbModel.py new file mode 100644 index 00000000..df15cf51 --- /dev/null +++ b/dsRag/Model/KbModel.py @@ -0,0 +1,14 @@ +from pydantic import BaseModel +from typing import Optional + +class KbModel(BaseModel): + kb_name: str + short_name: str + is_delete: Optional[int] = 0 + +class KbFileModel(BaseModel): + file_name: str + ext_name: str + kb_id: int + is_delete: Optional[int] = 0 + state: Optional[int] = 0 \ No newline at end of file diff --git a/dsRag/Model/__pycache__/KbModel.cpython-310.pyc b/dsRag/Model/__pycache__/KbModel.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dfca195d348bc397deb2b44ff240952e37bbc307 GIT binary patch literal 768 zcmZ{i!A{&T5QfKboH)yF*~4D?2+M(cs}(}1q6bu{s4AprB`dpjAtjq^Z6mSgBCb3K zujDJIz5=JtIB3NIEcws;4Gx!Rc>+}wEYS>?1rs##v&}Y#Lo&SKT{D(Whl!fA`a^_p7O@l_Bt$p3KRkNhk z*Mp-u#Od}?43tbmnfwI9O{&?feicMnKqMTIq$L6}A|eve%dOAQ$M%Gslf`k}^qmRCFARHd(%kmgf*TR?rZOSv%$eedY2{`!)Q2?4E~VoT+E pqpQ}}OPgROWPY=*+sjBkVu~-mwRe!SzM%)y_sDk$LpDw(;y MAX_FILE_SIZE: + raise HTTPException( + status_code=400, + detail=f"文件大小超过限制: {MAX_FILE_SIZE/1024/1024}MB" + ) + file.file.seek(0) + + # 创建Upload目录 + upload_dir = Path("Upload") + upload_dir.mkdir(exist_ok=True) + + # 保存文件 + file_path = upload_dir / file.filename + with open(file_path, "wb") as f: + f.write(await file.read()) + + # 记录到数据库 + async with app.state.mysql_pool.acquire() as conn: + async with conn.cursor() as cur: + await cur.execute( + """INSERT INTO t_ai_kb_files + (file_name, ext_name, kb_id, file_path, file_size) + VALUES (%s, %s, %s, %s, %s)""", + (file.filename, file_ext, kb_id, str(file_path), file_size) + ) + await conn.commit() + return { + "id": cur.lastrowid, + "filename": file.filename, + "size": file_size, + "path": str(file_path) + } + if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000) \ No newline at end of file