| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import asyncio
- import os
- import sys
- sys.path.append(os.path.dirname(os.path.dirname(__file__)))
- import asyncio
- from grpclib.client import Channel
- from grpc_m.vector import vector_grpc, vector_pb2
- from db.docs import DocumentsRepository
- from db.user_oauth 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
- async def run():
- # 创建gRPC通道和存根
- async with Channel('localhost',18600) as channel:
- stub = vector_grpc.VectorServiceStub(channel)
-
- # 准备gRPC请求并发送
- request = vector_pb2.SearchRequest(collection_name="some-uuid-1", query="价格多少")
- responses:vector_pb2.SearchResponses = await stub.SimilaritySearch(request)
- data = responses.data
- # 输出响应结果
- logger.info("Response: success = {}".format(data))
- for item in data:
- chunk_data = item.chunk
- metadata_dict = dict(item.metadata)
- score_value = item.score
- uuid_value = item.uuid
- print(f"Chunk: {chunk_data}")
- print(f"Metadata: {metadata_dict}")
- print(f"Score: {score_value}")
- print(f"UUID: {uuid_value}")
-
- if __name__ == '__main__':
- asyncio.run(run())
|