from PDAPI import * __metadata__ = { "methods": ["POST"], "blueprint": "Invite", "permission": 1.0, "attributes": [], "limit": "1/second", "args": [ {"Name": "InviteID", "Type": "int"} ] } def HandleRequest(): InviteID = flask.request.args.get("InviteID") Conversation = InviteConversation.query.filter_by(InviteID=InviteID).first() if Conversation and IsConversationValid(InviteID): AiMessages = [Msg for Msg in Conversation.Messages if Msg.get("Role") == "Assistant"] if AiMessages: return flask.jsonify({ "Success": True, "Data": {"InviteID": InviteID, "AiMessage": AiMessages[-1]} }) Messages = [{"Role": "System", "Content": openr(JoinPath(TempLate, "Invite/prompt")), "CreateTime": time.time()}] NewConversation = InviteConversation( InviteID=InviteID, Messages=Messages, CreateTime=time.time() ) db.session.add(NewConversation) db.session.commit() AiMessages = [{"role": Msg["Role"].lower(), "content": Msg["Content"]} for Msg in Messages] Client = OpenAI(api_key="sk-e6e4206cded047818f7e329538c69613", base_url="https://api.deepseek.com") Response = Client.chat.completions.create(model="deepseek-chat", messages=AiMessages, stream=False) AiContent = Response.choices[0].message.content AiMessage = {"Role": "Assistant", "Content": AiContent, "CreateTime": time.time()} Messages.append(AiMessage) NewConversation.Messages = Messages db.session.add(NewConversation) db.session.commit() return flask.jsonify({ "Success": True, "Data": {"InviteID": InviteID, "MessageCount": len(Messages), "AiMessage": AiMessage} })