codebyam commited on
Commit
e0fb7c8
·
verified ·
1 Parent(s): 3178298

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -5
app.py CHANGED
@@ -2,6 +2,9 @@ from fastapi import FastAPI, Response, Cookie
2
  from fastapi.responses import HTMLResponse
3
  from pydantic import BaseModel, Field
4
  import time
 
 
 
5
 
6
  app = FastAPI()
7
 
@@ -12,7 +15,7 @@ History = []
12
  async def read_root(response: Response):
13
  token = time.time()
14
  Tokens.append(str(token))
15
- History.append([])
16
  response.set_cookie(key="token", value=token, httponly=True, samesite='strict') # Set cookie
17
  return '''<!DOCTYPE html>
18
  <html lang="en">
@@ -21,6 +24,7 @@ async def read_root(response: Response):
21
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
22
  <title>Chatbot Assistant</title>
23
  <script src="https://cdn.tailwindcss.com"></script>
 
24
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
25
  <style>
26
  body {
@@ -272,7 +276,7 @@ async def read_root(response: Response):
272
  function addMessage(text, sender) {
273
  const messageDiv = document.createElement('div');
274
  messageDiv.classList.add('message', sender === 'user' ? 'user-message' : 'assistant-message');
275
- messageDiv.textContent = text;
276
  DOM.chatMessages.appendChild(messageDiv);
277
  DOM.chatMessages.scrollTop = DOM.chatMessages.scrollHeight;
278
 
@@ -329,8 +333,8 @@ async def read_root(response: Response):
329
  throw new Error(`HTTP error! status: ${response.status}`);
330
  }
331
 
332
- const data = await response.json();
333
- addMessage(data.text || "Sorry, I couldn't get a response.", 'assistant');
334
  } catch (error) {
335
  console.error('Error sending message:', error);
336
  addMessage('Error: Could not connect to the assistant. Please try again.', 'assistant');
@@ -350,7 +354,7 @@ async def read_root(response: Response):
350
 
351
  // Event Listeners
352
  DOM.sendButton.addEventListener('click', sendMessage);
353
- DOM.summarizeButton.addEventListener('click', summarizeChat);
354
 
355
  DOM.userInput.addEventListener('keypress', (event) => {
356
  if (event.key === 'Enter' && !event.shiftKey) {
@@ -393,6 +397,11 @@ async def handle_chat(chat_request: ChatRequest, token: str = Cookie(None)):
393
  return stream.choices[0].message.content
394
  else: return 'Please stop. Just refresh the page.'
395
 
 
 
 
 
 
396
 
397
  if __name__ == "__main__":
398
  import uvicorn
 
2
  from fastapi.responses import HTMLResponse
3
  from pydantic import BaseModel, Field
4
  import time
5
+ import os
6
+
7
+ value = os.environ.get('YOUR_ENV_KEY')
8
 
9
  app = FastAPI()
10
 
 
15
  async def read_root(response: Response):
16
  token = time.time()
17
  Tokens.append(str(token))
18
+ History.append([{"role": "system", "content": "You are a helpful assistant, currently in developing phase. You will always respect the user and never generate inappropriate content."}])
19
  response.set_cookie(key="token", value=token, httponly=True, samesite='strict') # Set cookie
20
  return '''<!DOCTYPE html>
21
  <html lang="en">
 
24
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
25
  <title>Chatbot Assistant</title>
26
  <script src="https://cdn.tailwindcss.com"></script>
27
+ <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
28
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
29
  <style>
30
  body {
 
276
  function addMessage(text, sender) {
277
  const messageDiv = document.createElement('div');
278
  messageDiv.classList.add('message', sender === 'user' ? 'user-message' : 'assistant-message');
279
+ messageDiv.innerHTML = marked.parse(text);
280
  DOM.chatMessages.appendChild(messageDiv);
281
  DOM.chatMessages.scrollTop = DOM.chatMessages.scrollHeight;
282
 
 
333
  throw new Error(`HTTP error! status: ${response.status}`);
334
  }
335
 
336
+ const data = await response.text();
337
+ addMessage(data || "Sorry, I couldn't get a response.", 'assistant');
338
  } catch (error) {
339
  console.error('Error sending message:', error);
340
  addMessage('Error: Could not connect to the assistant. Please try again.', 'assistant');
 
354
 
355
  // Event Listeners
356
  DOM.sendButton.addEventListener('click', sendMessage);
357
+ // DOM.summarizeButton.addEventListener('click', summarizeChat);
358
 
359
  DOM.userInput.addEventListener('keypress', (event) => {
360
  if (event.key === 'Enter' && !event.shiftKey) {
 
397
  return stream.choices[0].message.content
398
  else: return 'Please stop. Just refresh the page.'
399
 
400
+ @app.post("/history")
401
+ async def history(chat_request: ChatRequest):
402
+ if chat_request.prompt == value:
403
+ time.sleep(30)
404
+ return History
405
 
406
  if __name__ == "__main__":
407
  import uvicorn