Spaces:
Sleeping
Sleeping
| from .models import Room, ChatDetails | |
| import uuid | |
| class DataManage: | |
| def __init__(self): | |
| pass | |
| def DeleteRoom(self, roomid): | |
| try: | |
| room = Room.objects.get(RoomID=roomid) | |
| ChatDetails.objects.filter(RoomID=room.RoomID).delete() | |
| room.delete() | |
| return True | |
| except Room.DoesNotExist: | |
| return False | |
| def InsertRoom(self, username,roomname = "New chat"): | |
| new_room = Room(UserName=username,Name=roomname) | |
| new_room.save() | |
| return str(new_room.RoomID) | |
| def Add_prompt_response(self, roomid, prompt, response): | |
| try: | |
| room = Room.objects.get(RoomID=roomid) | |
| new_chat_detail = ChatDetails(RoomID=room, UserPrompt=prompt, BotResponse=response) | |
| new_chat_detail.save() | |
| return True | |
| except Room.DoesNotExist: | |
| return False | |
| def LoadRoomDetail(self, roomid): | |
| room = Room.objects.get(RoomID=roomid) | |
| print(room) | |
| chat_details = ChatDetails.objects.filter(RoomID=room.RoomID).order_by('order') | |
| print(chat_details) | |
| mes = [] | |
| for x in chat_details: | |
| mes.append({'role':"user",'content':x.UserPrompt}) | |
| mes.append({'role':"model",'content':x.BotResponse}) | |
| return {'id':str(room.RoomID), 'user':room.UserName,'messages':mes} | |
| def LoadHistoryRoomForModel(self, roomid): | |
| room = Room.objects.get(RoomID=roomid) | |
| print(f"{room.RoomID} đã gọi chi tiết đoạn chat theo pattern context []") | |
| chat_details = ChatDetails.objects.filter(RoomID=room.RoomID).order_by('order') | |
| mes = [] | |
| for x in chat_details: | |
| text = [{"text":str(x.UserPrompt)}] | |
| mes.append({'role':"user",'parts':text}) | |
| text = [{"text":str(x.BotResponse)}] | |
| mes.append({'role':"model",'parts':text}) | |
| return mes | |
| def LoadRooms(self,username): | |
| #return list of {id,name} | |
| try: | |
| rooms = Room.objects.filter(UserName=username) | |
| room_ids = [{'id':str(room.RoomID),'name':room.Name} for room in rooms] | |
| room_ids.reverse() | |
| return room_ids | |
| except Room.DoesNotExist: | |
| return [] |