更新python后端

This commit is contained in:
BBIT-Kai
2025-09-18 17:18:18 +08:00
parent 2fc209e6e6
commit de6a350da8
45 changed files with 2524 additions and 89 deletions
+76
View File
@@ -0,0 +1,76 @@
from models.ChatRequest import ChatRequest
from models.ChatWithReportRequest import ChatWithReportRequest
from models.BaseResponse import BaseResponse
import uuid
import db.postgres as pg
import db.sqlserver as sqlserver
import uuid
import threading
from fastapi import APIRouter, Depends
from uuid import UUID
from config.security import get_user_id_from_token
botRouter = APIRouter()
from llm.chatLLM import get_chat_response
from llm.titleChain import get_title
from llm.sqlLLM import get_sql_description_response,get_chat_sql_response,get_chat_sql_improve_response
from models.SaveReportRequest import SaveReportRequest
from models.AIProfilesRequest import AIProfilesRequest
import json
@botRouter.get("/aiListForService")
def getAiList(user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
return BaseResponse(data=pg.get_all_ai_bot(user_id,"service"))
@botRouter.get("/aiListForReport")
def getAiList(user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
return BaseResponse(data=pg.get_all_ai_bot(user_id,"report"))
@botRouter.get("/aiListForBot")
def getAiList(user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
return BaseResponse(data=pg.get_all_ai_bot(user_id,"bot"))
# 保存智能体
@botRouter.post("/saveBot")
def saveReportBot(bot: AIProfilesRequest,user_id: UUID = Depends(get_user_id_from_token)):
if not user_id:
return {"error": "userId is required"}
print(bot)
ai_personality = {
"名字":bot.name,
"性格":bot.role,
"业务":bot.service,
}
ai_personality_json = json.dumps(ai_personality, ensure_ascii=False)
available_report_tables_json = json.dumps(bot.available_report_tables, ensure_ascii=False)
available_kn_bases_json = json.dumps(bot.available_kn_bases, ensure_ascii=False)
if bot.id:
pg.update_bot(
id = bot.id,
title =bot.title,
description = bot.description,
welcome_words = bot.welcome_words,
ai_personality = ai_personality_json,
available_kn_bases = available_kn_bases_json,
available_report_tables = available_report_tables_json,
available_module = bot.available_module,
user_id = user_id
)
else:
pg.insert_bot(
title =bot.title,
description = bot.description,
welcome_words = bot.welcome_words,
ai_personality = ai_personality_json,
available_kn_bases = available_kn_bases_json,
available_module = bot.available_module,
available_report_tables = available_report_tables_json,
user_id = user_id
)
return BaseResponse(data= None)