from fastapi import FastAPI, Response, Cookie from fastapi.responses import HTMLResponse from pydantic import BaseModel, Field import time import os value = os.environ.get('YOUR_ENV_KEY') app = FastAPI() Tokens = [] History = [] @app.get("/", response_class=HTMLResponse) async def read_root(response: Response): token = time.time() Tokens.append(str(token)) History.append([{"role": "system", "content": "You are a helpful assistant. Always respond with factual accuracy and avoid hallucinations. Maintain professionalism and grounded honesty. Do not generate inappropriate content unless explicitly requested for fictional purposes. Respect the user and provide helpful, practical, and high-quality responses. Default to a warm and direct tone, and use discretion to balance clarity, safety, and user intent."}]) response.set_cookie(key="token", value=token, httponly=True, samesite='strict') # Set cookie return ''' Chatbot Assistant
Chat Assistant
''' from openai import OpenAI client = OpenAI(base_url="http://localhost:8080/v1", api_key="no-key-required") class ChatRequest(BaseModel): """Request model for the chat endpoint.""" prompt: str @app.post("/response") async def handle_chat(chat_request: ChatRequest, token: str = Cookie(None)): if token in Tokens: i = Tokens.index(token) History[i].append({"role": "user", "content": chat_request.prompt}) stream = client.chat.completions.create( model="", messages=History[i], ) History[i].append({"role": "assistant", "content": chat_request.prompt}) return {"text": stream.choices[0].message.content} else: return 'Please stop. Just refresh the page.' @app.post("/history") async def history(chat_request: ChatRequest): if chat_request.prompt == value: time.sleep(30) return History if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)