jack 5 kuukautta sitten
vanhempi
commit
6894866428
3 muutettua tiedostoa jossa 22 lisäystä ja 5 poistoa
  1. 9 1
      app/providers/r2r.py
  2. 12 3
      app/services/file/impl/r2r_file.py
  3. 1 1
      pyproject.toml

+ 9 - 1
app/providers/r2r.py

@@ -1,6 +1,6 @@
 from typing import Optional, Any
 from r2r import R2RAsyncClient
-
+from fastapi import UploadFile
 from app.libs.util import verify_jwt_expiration
 from config.llm import tool_settings
 
@@ -35,6 +35,14 @@ class R2R:
             id=None,
         )
 
+    async def ingest_fileinfo(self, file: UploadFile, metadata: Optional[dict]):
+        await self._check_login()
+        return await self.client.documents.create(
+            file=file,
+            metadata=metadata if metadata else None,
+            id=None,
+        )
+
     async def search(self, query: str, filters: dict[str, Any]):
         await self._check_login()
         print(

+ 12 - 3
app/services/file/impl/r2r_file.py

@@ -38,6 +38,8 @@ class R2RFileService(OSSFileService):
         #     return ext_file
 
         file_key = f"{uuid.uuid4()}-{file.filename}"
+        file_name = file.filename
+        """
         with tempfile.NamedTemporaryFile(
             suffix="_" + file.filename, delete=True
         ) as temp_file:
@@ -47,15 +49,22 @@ class R2RFileService(OSSFileService):
                 while content := await file.read(1024):
                     await f.write(content)
 
-            storage.save_from_path(filename=file_key, local_file_path=tmp_file_path)
+            # storage.save_from_path(filename=file_key, local_file_path=tmp_file_path)
             await r2r.init()
             await r2r.ingest_file(
                 file_path=tmp_file_path, metadata={"file_key": file_key}
             )
-
+        """
+        file.filename = file_key
+        print("#####AAAA########AAAA$$$$$AAA$$$$")
+        print(file.filename)
+        await r2r.init()
+        await r2r.ingest_fileinfo(file=UploadFile, metadata={"file_key": file_key})
         # 存储
+        print("#####AAAA########bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
+        print(file_name)
         db_file = File(
-            purpose=purpose, filename=file.filename, bytes=file.size, key=file_key
+            purpose=purpose, filename=file_name, bytes=file.size, key=file_key
         )
         session.add(db_file)
         await session.commit()

+ 1 - 1
pyproject.toml

@@ -257,7 +257,7 @@ yarl = "1.18.3"
 zipp = "3.21.0"
 zope-event = "5.0"
 zope-interface = "6.2"
-
+gunicorn = "^23.0.0"
 
 [build-system]
 requires = ["poetry-core"]