File size: 2,026 Bytes
02ebbc8
 
46bd214
02ebbc8
c8e2a8d
46bd214
c8e2a8d
794b90b
46bd214
1a1dee2
46bd214
de235e2
f669ed4
1afbeb8
f669ed4
6363664
de235e2
df7997e
b2add11
b8c8e0a
 
b2add11
b8c8e0a
b2add11
b8c8e0a
 
b2add11
b8c8e0a
c8e2a8d
 
 
 
 
b2add11
c8e2a8d
 
b8c8e0a
 
c8e2a8d
3b48198
cf75111
b8c8e0a
c8e2a8d
b8c8e0a
 
c8e2a8d
cbcfffd
 
 
 
 
 
 
794b90b
cbcfffd
df7997e
46bd214
b8c8e0a
cbcfffd
c8e2a8d
df7997e
 
 
 
745d134
df7997e
 
cbcfffd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import os
from django.core.asgi import get_asgi_application
from fastapi import FastAPI,Request
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates

from starlette.middleware.cors import CORSMiddleware

import gradio as gr
from mysite.routers.gradio import setup_gradio_interfaces
from mysite.routers.fastapi import setup_webhook_routes,include_routers
from mysite.routers.database import setup_database_routes
from mysite.config.asgi_config import init_django_app
from interpreter import interpreter
import mysite.interpreter.interpreter_config  # インポートするだけで設定が適用されます
# ロガーの設定
from mysite.logger import logger
import threading

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
application = get_asgi_application()

app = FastAPI()

# Djangoアプリケーションの初期化
init_django_app(app, application)

# ミドルウェアの設定
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Gradioインターフェースの設定
gradio_interfaces = setup_gradio_interfaces()

## Webhookルートの設定
include_routers(app)
setup_webhook_routes(app)

# データベースルートの設定
setup_database_routes(app)

# テンプレートファイルが格納されているディレクトリを指定
templates = Jinja2Templates(directory="templates")

@app.get("/tests")
def get_some_page(request: Request):
    return templates.TemplateResponse("index.html", {"request": request})

# Gradioアプリのマウント
app.mount("/templates", StaticFiles(directory="templates", html=True), name="templates")
#gradio_interfaces.launch()
app = gr.mount_gradio_app(app, gradio_interfaces, "/")



def run_gradio():
    gradio_interfaces.launch(server_name="0.0.0.0", server_port=7861, share=True)
    #iface_2.launch(server_name="0.0.0.0", server_port=7861, share=True)

#threading.Thread(target=run_gradio).start()