|
|
from __future__ import annotations
|
|
|
import asyncio
|
|
|
import os
|
|
|
import threading
|
|
|
from protobuf2openai.app import app as openai_server
|
|
|
from server import create_app, startup_tasks
|
|
|
import uvicorn
|
|
|
|
|
|
|
|
|
async def main():
|
|
|
|
|
|
warp_app = create_app()
|
|
|
await startup_tasks()
|
|
|
|
|
|
|
|
|
warp_thread = threading.Thread(
|
|
|
target=uvicorn.run,
|
|
|
args=(warp_app,),
|
|
|
kwargs={"host": "0.0.0.0", "port": 8000, "log_level": "info", "access_log": True},
|
|
|
daemon=True
|
|
|
)
|
|
|
warp_thread.start()
|
|
|
|
|
|
try:
|
|
|
from warp2protobuf.core.auth import refresh_jwt_if_needed as _refresh_jwt
|
|
|
await _refresh_jwt()
|
|
|
except Exception:
|
|
|
pass
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
asyncio.run(main())
|
|
|
uvicorn.run(
|
|
|
openai_server,
|
|
|
host=os.getenv("HOST", "127.0.0.1"),
|
|
|
port=int(os.getenv("PORT", "8010")),
|
|
|
log_level="info",
|
|
|
) |