Niansuh commited on
Commit
b2adf82
·
verified ·
1 Parent(s): f5dc847

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +12 -5
main.py CHANGED
@@ -17,10 +17,15 @@ from datetime import datetime
17
  from aiohttp import ClientSession, ClientTimeout, ClientError
18
  from fastapi import FastAPI, HTTPException, Request, Depends, Header
19
  from fastapi.responses import StreamingResponse, JSONResponse, RedirectResponse
20
- from pydantic import BaseModel
21
  from io import BytesIO
22
  import base64
23
 
 
 
 
 
 
24
  # Configure logging
25
  logging.basicConfig(
26
  level=logging.INFO,
@@ -30,10 +35,6 @@ logging.basicConfig(
30
  logger = logging.getLogger(__name__)
31
 
32
  # Load environment variables
33
- from dotenv import load_dotenv
34
-
35
- load_dotenv()
36
-
37
  API_KEYS = os.getenv('API_KEYS', '').split(',') # Comma-separated API keys
38
  RATE_LIMIT = int(os.getenv('RATE_LIMIT', '60')) # Requests per minute
39
  AVAILABLE_MODELS = os.getenv('AVAILABLE_MODELS', '') # Comma-separated available models
@@ -457,6 +458,12 @@ class Message(BaseModel):
457
  role: str
458
  content: str
459
 
 
 
 
 
 
 
460
  class ChatRequest(BaseModel):
461
  model: str
462
  messages: List[Message]
 
17
  from aiohttp import ClientSession, ClientTimeout, ClientError
18
  from fastapi import FastAPI, HTTPException, Request, Depends, Header
19
  from fastapi.responses import StreamingResponse, JSONResponse, RedirectResponse
20
+ from pydantic import BaseModel, validator
21
  from io import BytesIO
22
  import base64
23
 
24
+ from dotenv import load_dotenv
25
+
26
+ # Load environment variables
27
+ load_dotenv()
28
+
29
  # Configure logging
30
  logging.basicConfig(
31
  level=logging.INFO,
 
35
  logger = logging.getLogger(__name__)
36
 
37
  # Load environment variables
 
 
 
 
38
  API_KEYS = os.getenv('API_KEYS', '').split(',') # Comma-separated API keys
39
  RATE_LIMIT = int(os.getenv('RATE_LIMIT', '60')) # Requests per minute
40
  AVAILABLE_MODELS = os.getenv('AVAILABLE_MODELS', '') # Comma-separated available models
 
458
  role: str
459
  content: str
460
 
461
+ @validator('content')
462
+ def content_must_be_string(cls, v):
463
+ if not isinstance(v, str):
464
+ raise ValueError('content must be a string')
465
+ return v
466
+
467
  class ChatRequest(BaseModel):
468
  model: str
469
  messages: List[Message]