main
HuangHai 4 months ago
parent bbfc00fbe4
commit cf6dd8b28e

@ -67,7 +67,6 @@ async def on_session_end(person_id):
else: else:
history = "无聊天记录" history = "无聊天记录"
# 将历史聊天记录发给大模型,让它帮我分析一下 # 将历史聊天记录发给大模型,让它帮我分析一下
prompt = ( prompt = (
"我将把用户与AI大模型交流的记录发给你帮我分析一下这个用户是否存在心理健康方面的问题" "我将把用户与AI大模型交流的记录发给你帮我分析一下这个用户是否存在心理健康方面的问题"
@ -106,7 +105,6 @@ client = AsyncOpenAI(
) )
@app.post("/aichat/reply") @app.post("/aichat/reply")
async def reply(person_id: str = Form(...), prompt: str = Form(...)): async def reply(person_id: str = Form(...), prompt: str = Form(...)):
""" """
@ -242,11 +240,12 @@ async def reply(person_id: str = Form(...), prompt: str = Form(...)):
# 获取聊天记录 # 获取聊天记录
from fastapi import Query from fastapi import Query
# 登录接口 # 登录接口
@app.post("/aichat/login") @app.post("/aichat/login")
async def login( async def login(
login_name: str = Form(..., description="用户名"), login_name: str = Form(..., description="用户名"),
password: str = Form(..., description="密码") password: str = Form(..., description="密码")
): ):
""" """
用户登录接口 用户登录接口
@ -254,20 +253,29 @@ async def login(
:param password: 密码 :param password: 密码
:return: 登录结果 :return: 登录结果
""" """
flag = True
if not login_name or not password: if not login_name or not password:
raise HTTPException(status_code=400, detail="用户名和密码不能为空") flag = False
# 调用 get_user_by_login_name 方法 # 调用 get_user_by_login_name 方法
user = await get_user_by_login_name(app.state.mysql_pool, login_name) user = await get_user_by_login_name(app.state.mysql_pool, login_name)
if not user: if not user:
raise HTTPException(status_code=404, detail="用户不存在") flag = False
if user['password'] != password: if user and user['password'] != password:
raise HTTPException(status_code=401, detail="密码错误") flag = False
if not flag:
return {
"code": 200,
"message": "登录失败",
"success": False
}
# 返回带字段名称的数据 # 返回带字段名称的数据
return { return {
"code": 200, "code": 200,
"message": "登录成功", "message": "登录成功",
"success": True,
"data": { "data": {
"person_id": user["person_id"], "person_id": user["person_id"],
"login_name": user["login_name"], "login_name": user["login_name"],
@ -282,6 +290,7 @@ async def login(
} }
} }
# 获取聊天记录 # 获取聊天记录
@app.get("/aichat/get_chat_log") @app.get("/aichat/get_chat_log")
async def get_chat_log( async def get_chat_log(
@ -300,6 +309,7 @@ async def get_chat_log(
result = await get_chat_log_by_session(app.state.mysql_pool, person_id, page, page_size) result = await get_chat_log_by_session(app.state.mysql_pool, person_id, page, page_size)
return result return result
@app.get("/aichat/get_risk_page") @app.get("/aichat/get_risk_page")
async def get_risk_page( async def get_risk_page(
risk_flag: int = Query(default=1, ge=1, description="1有风险0无风险2:有风险但已处理"), risk_flag: int = Query(default=1, ge=1, description="1有风险0无风险2:有风险但已处理"),

@ -84,7 +84,8 @@ async def get_chat_log_by_session(mysql_pool, person_id, page=1, page_size=10):
records = await cur.fetchall() records = await cur.fetchall()
# 将查询结果反转,确保最新消息显示在最后 # 将查询结果反转,确保最新消息显示在最后
records.reverse() if records:
records.reverse()
# 将查询结果转换为字典列表 # 将查询结果转换为字典列表
result = [ result = [

Loading…
Cancel
Save