EduScam / main_old.py
Amalia-mahdi's picture
Upload 9 files
ca4d24e verified
import json
import uuid
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from generate_message import generate_scam_message
from generate_response import generate_scam_response
from pydantic import BaseModel
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
conversation_histories = {}
class Message(BaseModel):
session_id:str
content: str
@app.get("/")
def root():
return {"messages:": "Hello World!"}
@app.post('/initial')
def get_response():
session_id = str(uuid.uuid4())
initial_scam_message = generate_scam_message()
conversation_histories[session_id] = [
{"role":"assistant", "content": initial_scam_message}
]
# conversation_history.append({"role": "assistant", "content":initial_scam_message})
return {"res": initial_scam_message}
@app.post('/chat')
def chat(user_message: Message):
session_id = user_message.session_id
if session_id not in conversation_histories:
raise HTTPException(status_code=400, detail="Session ID tidak ditemukan")
# Ambil riwayat percakapan untuk session ini
conversation_history = conversation_histories[session_id]
# Generate response dari scammer
response = generate_scam_response(user_message.content, conversation_history)
# Simpan pesan ke riwayat percakapan
conversation_history.append({"role": "user", "content": user_message.content})
conversation_history.append({"role": "assistant", "content": response})
return {"scammer": response}
# response = generate_scam_response(user_message.content, conversation_history)
# conversation_history.append({"role": "user", "content": user_message.content})
# conversation_history.append({"role": "assistant", "content": response})
# return {"scammer": response}
# conversation_history = []
# print("Chatbot edukasi scam dimulai! Ketik 'exit' untuk keluar.\n")
# # Generate pesan scam awal
# initial_scam_message = generate_scam_message()
# print(f"Scammer: {initial_scam_message}")
# conversation_history.append({"role": "assistant", "content": initial_scam_message})
# while True:
# user_input = input("Anda: ")
# if user_input.lower() == 'exit':
# print("Chatbot ditutup.")
# break
# response = generate_scam_response(user_input, conversation_history)
# conversation_history.append({"role": "user", "content": user_input})
# conversation_history.append({"role": "assistant", "content": response})
# print(f"Scammer: {response}")