feat: 增加修改speaker_id接口
This commit is contained in:
1 parent
ce033dca2b
commit
30fdb9c6bd
5 files changed
+68
-5
No files matched your search
@@ -77,3 +77,32 @@ async def update_session_handler(session_id, session_data:SessionUpdateRequest,
|
||||
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail=str(e))
|
||||
session_update_data = SessionUpdateData(updatedAt=datetime.now().isoformat())
|
||||
return SessionUpdateResponse(status="success",message="Session 更新成功",data=session_update_data)
|
||||
|
||||
#更新Session中的Speaker Id信息
|
||||
async def update_session_speaker_id_handler(session_id, session_data, db, redis):
|
||||
existing_session = ""
|
||||
if redis.exists(session_id):
|
||||
existing_session = redis.get(session_id)
|
||||
else:
|
||||
existing_session = db.query(Session).filter(Session.id == session_id).first().content
|
||||
if not existing_session:
|
||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Session not found")
|
||||
|
||||
#更新Session字段
|
||||
session = json.loads(existing_session)
|
||||
session_llm_info = json.loads(session["llm_info"])
|
||||
session_llm_info["speaker_id"] = session_data.speaker_id
|
||||
session["llm_info"] = json.dumps(session_llm_info,ensure_ascii=False)
|
||||
|
||||
#存储Session
|
||||
|
||||
session_str = json.dumps(session,ensure_ascii=False)
|
||||
redis.set(session_id, session_str)
|
||||
try:
|
||||
db.query(Session).filter(Session.id == session_id).update({"content": session_str})
|
||||
db.commit()
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail=str(e))
|
||||
session_update_data = SessionSpeakerUpdateData(updatedAt=datetime.now().isoformat())
|
||||
return SessionSpeakerUpdateResponse(status="success",message="Session SpeakID更新成功",data=session_update_data)
|
||||
Reference in new issue
Block a user