Spaces:
Paused
Paused
| from typing import List | |
| from fastapi import FastAPI, HTTPException, Response, Query, Request | |
| from typing import Optional | |
| from pydantic import BaseModel | |
| from characterai import PyCAI | |
| app = FastAPI() | |
| def Another(): | |
| return {"Another": "Apa Lu Liat-liat?"} | |
| async def chat_endpoint(character: str, api_key: str, message: str): | |
| try: | |
| if character == '2B': | |
| client = PyCAI(api_key) | |
| chat = client.chat.get_chat('csTC3hw0Fnj1Whnl0uV1Nb3_oYIillMQtdBH5NEl0Gs') | |
| elif character == 'Narator': | |
| client = PyCAI(api_key) | |
| chat = client.chat.get_chat('oRrOSTDibssHQwoKEfNtwBwgBEFDr1aKfVPXjY1d8nA') | |
| else: | |
| return {"Another": "API Lu Mana?."} | |
| participants = chat.get('participants', []) | |
| if not participants: | |
| return {"error": "Error"} | |
| tgt = participants[1]['user']['username'] | |
| data = client.chat.send_message(chat['external_id'], tgt, message) | |
| text = data['replies'][0]['text'] | |
| return {character.capitalize(): f"{text}"} | |
| except Exception as e: | |
| return {"error": f"Error: {e}"} | |
| async def new_chat_endpoint(character: str, api_key: str, prompt: str): | |
| try: | |
| if character == '2B': | |
| client = PyCAI(api_key) | |
| chat = client.chat.new_chat('csTC3hw0Fnj1Whnl0uV1Nb3_oYIillMQtdBH5NEl0Gs') | |
| elif character == 'Narator': | |
| client = PyCAI(api_key) | |
| chat = client.chat.new_chat('oRrOSTDibssHQwoKEfNtwBwgBEFDr1aKfVPXjY1d8nA') | |
| else: | |
| return {"Another": "API Lu Mana?."} | |
| participants = chat.get('participants', []) | |
| if not participants: | |
| return {"error": "Error"} | |
| tgt = participants[1]['user']['username'] | |
| data = client.chat.send_message(chat['external_id'], tgt, prompt) | |
| text = data['replies'][0]['text'] | |
| return {character.capitalize(): f"{text}"} | |
| except Exception as e: | |
| return {"error": f"Error: {e}"} | |