Quellcode durchsuchen

add meeting attendee recommendation logic

highing666 vor 3 Jahren
Ursprung
Commit
c07d8e8ce1
4 geänderte Dateien mit 31 neuen und 1 gelöschten Zeilen
  1. 11 0
      .env_pro
  2. 11 1
      app/api/routers/algorithms.py
  3. 8 0
      app/core/config.py
  4. 1 0
      app/models/domain/algorithms.py

+ 11 - 0
.env_pro

@@ -13,7 +13,18 @@ ML_MODELS_DIR="/app/ml_models/"
 
 PROJECT_NAME="saga_algo_api"
 
+# PostgreSQL
 POSTGRES_SERVER="172.17.11.173:5432"
 POSTGRES_USER="saga"
 POSTGRES_PASSWORD="deepsaga"
 POSTGRES_DB="env_db"
+
+# Redis
+REDIS_HOST="172.17.11.179"
+REDIS_PORT=6379
+REDIS_DB=0
+REDIS_PASSWORD="123456"
+
+# Milvus
+MILVUS_HOST="localhost"
+MILVUS_PORT="19530"

+ 11 - 1
app/api/routers/algorithms.py

@@ -2,6 +2,9 @@ from fastapi import APIRouter
 from loguru import logger
 
 from app.controllers.algorithms.graph_coloring import get_graph_coloring
+from app.controllers.algorithms.meeting_attendee_recommendation import (
+    build_recommendations,
+)
 from app.models.domain.algorithms import GraphColoringRequest, GraphColoringResponse
 from app.models.domain.algorithms import (
     AttendeesRecommendationRequest,
@@ -29,4 +32,11 @@ async def get_graph_coloring_result(graph: GraphColoringRequest):
     "/attendees-recommendation", response_model=AttendeesRecommendationResponse
 )
 async def get_recommended(meeting_info: AttendeesRecommendationRequest):
-    return {"code": 200, "message": "Test", "data": {"userIdList": []}}
+    try:
+        res = await build_recommendations(
+            meeting_info.companyId, meeting_info.initiatorId
+        )
+    except [KeyError, IndexError, ValueError]:
+        return {"code": 500, "message": "Recommend failure."}
+    else:
+        return {"code": 200, "message": "sucess", "data": {"userIdList": res}}

+ 8 - 0
app/core/config.py

@@ -36,6 +36,14 @@ class Settings(BaseSettings):
 
     PROJECT_NAME: str
 
+    REDIS_HOST: str
+    REDIS_PORT: int
+    REDIS_DB: int
+    REDIS_PASSWORD: str
+
+    MILVUS_HOST: str
+    MILVUS_PORT: str
+
     POSTGRES_SERVER: str
     POSTGRES_USER: str
     POSTGRES_PASSWORD: str

+ 1 - 0
app/models/domain/algorithms.py

@@ -15,6 +15,7 @@ class GraphColoringRequest(BaseModel):
 
 
 class AttendeesRecommendationRequest(BaseModel):
+    companyId: str
     initiatorId: str
     meetingRoomId: Optional[str]
     meetingRoomLocation: Optional[str]