39 lines
897 B
Python
39 lines
897 B
Python
|
import os
|
||
|
from concurrent import futures
|
||
|
import ai_pb2
|
||
|
import ai_pb2_grpc
|
||
|
import grpc
|
||
|
import init
|
||
|
|
||
|
|
||
|
class AIServer(ai_pb2_grpc.LLMQueryServicer):
|
||
|
def QueryDocumentRequest(self, request, context):
|
||
|
_text = request.text
|
||
|
_user_id = request.user_id
|
||
|
_database = request.database
|
||
|
_collection = request.collection
|
||
|
|
||
|
vector = init.text_to_vector(_text)
|
||
|
data = init.insert_document(_user_id, vector, _database)
|
||
|
|
||
|
|
||
|
return ai_pb2.AddDocumentReply(
|
||
|
id=request.text
|
||
|
)
|
||
|
|
||
|
|
||
|
def serve():
|
||
|
_ADDR = os.getenv("BIND")
|
||
|
if _ADDR is None:
|
||
|
_ADDR = "[::]:50051"
|
||
|
print("Listening on", _ADDR)
|
||
|
|
||
|
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
|
||
|
ai_pb2_grpc.add_LLMQueryServicer_to_server(AIServer(), server)
|
||
|
server.add_insecure_port(_ADDR)
|
||
|
server.start()
|
||
|
server.wait_for_termination()
|
||
|
|
||
|
|
||
|
serve()
|