Skip to content

Commit f639fbc

Browse files
committed
feat: basic api key support
1 parent 7b2a669 commit f639fbc

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

ktransformers/server/api/openai/endpoints/chat.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ async def chat_completion(request:Request,create:ChatCompletionCreate):
2525

2626
input_message = [json.loads(m.model_dump_json()) for m in create.messages]
2727

28+
if Config().api_key != '':
29+
assert request.headers.get('Authorization', '').split()[-1] == Config().api_key
30+
2831
if create.stream:
2932
async def inner():
3033
chunk = ChatCompletionChunk(id=id,object='chat.completion.chunk',created=int(time()))

ktransformers/server/args.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def parse_args(self):
1010
parser = argparse.ArgumentParser(prog="kvcache.ai", description="Ktransformers")
1111
parser.add_argument("--host", type=str, default=self.cfg.server_ip)
1212
parser.add_argument("--port", type=int, default=self.cfg.server_port)
13+
parser.add_argument("--api_key", type=str, default=self.cfg.api_key)
1314
parser.add_argument("--ssl_keyfile", type=str)
1415
parser.add_argument("--ssl_certfile", type=str)
1516
parser.add_argument("--web", type=bool, default=self.cfg.mount_web)

ktransformers/server/config/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ def __init__(self):
6969
self.server: dict = cfg.get("server", {})
7070
self.server_ip = self.server.get("ip", "0.0.0.0")
7171
self.server_port = self.server.get("port", 9016)
72+
self.api_key = self.server.get("api_key", "")
7273

7374
# db configs
7475
self.db_configs: dict = cfg.get("db", {})

0 commit comments

Comments
 (0)