Hansimov commited on
Commit
deca16d
1 Parent(s): d7e9766

:recycle: [Refactor] Configure api info with config.json

Browse files
apis/chat_api.py CHANGED
@@ -12,6 +12,10 @@ from fastapi.responses import HTMLResponse
12
  from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
13
  from pydantic import BaseModel, Field
14
  from sse_starlette.sse import EventSourceResponse, ServerSentEvent
 
 
 
 
15
 
16
  from messagers.message_composer import MessageComposer
17
  from mocks.stream_chat_mocker import stream_chat_mock
@@ -24,9 +28,9 @@ class ChatAPIApp:
24
  def __init__(self):
25
  self.app = FastAPI(
26
  docs_url="/",
27
- title="HuggingFace LLM API",
28
  swagger_ui_parameters={"defaultModelsExpandDepth": -1},
29
- version="1.0",
30
  )
31
  self.setup_routes()
32
 
@@ -152,17 +156,17 @@ class ArgParser(argparse.ArgumentParser):
152
 
153
  self.add_argument(
154
  "-s",
155
- "--server",
156
  type=str,
157
- default="0.0.0.0",
158
- help="Server IP for HF LLM Chat API",
159
  )
160
  self.add_argument(
161
  "-p",
162
  "--port",
163
  type=int,
164
- default=23333,
165
- help="Server Port for HF LLM Chat API",
166
  )
167
 
168
  self.add_argument(
@@ -181,9 +185,9 @@ app = ChatAPIApp().app
181
  if __name__ == "__main__":
182
  args = ArgParser().args
183
  if args.dev:
184
- uvicorn.run("__main__:app", host=args.server, port=args.port, reload=True)
185
  else:
186
- uvicorn.run("__main__:app", host=args.server, port=args.port, reload=False)
187
 
188
  # python -m apis.chat_api # [Docker] on product mode
189
  # python -m apis.chat_api -d # [Dev] on develop mode
 
12
  from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
13
  from pydantic import BaseModel, Field
14
  from sse_starlette.sse import EventSourceResponse, ServerSentEvent
15
+ from tclogger import logger
16
+
17
+ from constants.models import AVAILABLE_MODELS_DICTS
18
+ from constants.envs import CONFIG
19
 
20
  from messagers.message_composer import MessageComposer
21
  from mocks.stream_chat_mocker import stream_chat_mock
 
28
  def __init__(self):
29
  self.app = FastAPI(
30
  docs_url="/",
31
+ title=CONFIG["app_name"],
32
  swagger_ui_parameters={"defaultModelsExpandDepth": -1},
33
+ version=CONFIG["version"],
34
  )
35
  self.setup_routes()
36
 
 
156
 
157
  self.add_argument(
158
  "-s",
159
+ "--host",
160
  type=str,
161
+ default=CONFIG["host"],
162
+ help=f"Host for {CONFIG['app_name']}",
163
  )
164
  self.add_argument(
165
  "-p",
166
  "--port",
167
  type=int,
168
+ default=CONFIG["port"],
169
+ help=f"Port for {CONFIG['app_name']}",
170
  )
171
 
172
  self.add_argument(
 
185
  if __name__ == "__main__":
186
  args = ArgParser().args
187
  if args.dev:
188
+ uvicorn.run("__main__:app", host=args.host, port=args.port, reload=True)
189
  else:
190
+ uvicorn.run("__main__:app", host=args.host, port=args.port, reload=False)
191
 
192
  # python -m apis.chat_api # [Docker] on product mode
193
  # python -m apis.chat_api -d # [Dev] on develop mode
configs/__init__.py ADDED
File without changes
configs/config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "app_name": "HuggingFace LLM API",
3
+ "version": "1.0.7",
4
+ "host": "0.0.0.0",
5
+ "port": 23333
6
+ }
constants/{env.py → envs.py} RENAMED
@@ -1,10 +1,13 @@
1
  from pathlib import Path
2
  from tclogger import logger, OSEnver
3
 
4
- secrets_path = Path(__file__).parents[1] / "secrets.json"
5
- ENVER = OSEnver(secrets_path)
6
 
7
- http_proxy = ENVER["http_proxy"]
 
 
 
 
 
8
  if http_proxy:
9
  logger.note(f"> Using proxy: {http_proxy}")
10
  PROXIES = {
@@ -13,3 +16,6 @@ if http_proxy:
13
  }
14
  else:
15
  PROXIES = None
 
 
 
 
1
  from pathlib import Path
2
  from tclogger import logger, OSEnver
3
 
 
 
4
 
5
+ config_root = Path(__file__).parents[1] / "configs"
6
+
7
+ secrets_path = config_root / "secrets.json"
8
+ SECRETS = OSEnver(secrets_path)
9
+
10
+ http_proxy = SECRETS["http_proxy"]
11
  if http_proxy:
12
  logger.note(f"> Using proxy: {http_proxy}")
13
  PROXIES = {
 
16
  }
17
  else:
18
  PROXIES = None
19
+
20
+ config_path = config_root / "config.json"
21
+ CONFIG = OSEnver(config_path)
tests/openai.py CHANGED
@@ -7,7 +7,7 @@ from pathlib import Path
7
 
8
  from curl_cffi import requests
9
  from tclogger import logger, OSEnver
10
- from constants.env import PROXIES
11
 
12
 
13
  class OpenaiAPI:
 
7
 
8
  from curl_cffi import requests
9
  from tclogger import logger, OSEnver
10
+ from constants.envs import PROXIES
11
 
12
 
13
  class OpenaiAPI: