| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import os
- import sys
- sys.path.append(os.path.dirname(os.path.dirname(__file__)))
- import grpc
- from grpc_m import vector_service_pb2, vector_service_pb2_grpc
- from db.docs import DocumentsRepository
- from db.user import test_add # 假设这里有必要的导入来获取open_id
- from config import logger,GRPC_VECTOR
- async def load_user_docs_async(open_id: str, file_path: list[str]):
- async with grpc.insecure_channel(GRPC_VECTOR) as channel:
- stub = vector_service_pb2_grpc.VectorServiceStub(channel)
-
- request = vector_service_pb2.LoadUserDocRequest(
- open_id=open_id,
- data=[vector_service_pb2.Document(path=file_path, id=str(open_id))]
- )
- response = await stub.LoadUserDoc(request)
-
- # 输出响应结果
- logger.info("Response: success = {}".format(response.success))
- return response
- def run():
- # 创建gRPC通道和存根
- with grpc.insecure_channel('localhost:18600') as channel:
- stub = vector_service_pb2_grpc.VectorServiceStub(channel)
-
- # 获取open_id(这里只是示例,具体实现可能会有所不同)
- open_id = "_000QadFMhmU1jNCI3JdPnyVDL6XavC70dFy"
-
- # 创建DocumentsRepository实例并获取用户文件路径列表
- documents_repo = DocumentsRepository() # 假设这里有正确的导入和实例化逻辑
- res = documents_repo.get_user_files_path(open_id)
- logger.info(f"get docs {res}")
- # 准备gRPC请求并发送
- request = vector_service_pb2.LoadUserDocRequest(open_id=open_id, data=[vector_service_pb2.Document(path=path, id=str(uuid)) for path, uuid in res])
- response = stub.LoadUserDoc(request)
-
- # 输出响应结果
- logger.info("Response: success = {}".format(response.success))
-
- if __name__ == '__main__':
- run()
|