🎗

ngrokを使ってGoogle Colaboratory上でFlaskを立てる方法

2023/02/15に公開

個人的に結構詰まった。
Google ColaboratoryでGPTを使ったwebアプリを構築してみたくて触ってました。24時間で消えちゃうけどね。

# Linuxにngrok入れるで
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz
# ngrok展開や
!tar -xvf /content/ngrok-stable-linux-amd64.tgz
# flask入れるで
!pip install flask -q
# ngrokとflaskがっちゃんこ
!pip install flask-ngrok -q
# ngrokの認証通すで
!./ngrok authtoken #ここにトークン
from flask_ngrok import run_with_ngrok
from flask import Flask

app = Flask(__name__)
run_with_ngrok(app)

@app.route("/")
def home():
    html = '''
<!DOCTYPE html>
<html lang="ja">
    <head>
        <title>こんにちは</title>
        <meta charset="utf-8"/>
    </head>
    <body>
    <form action="/post" method="POST">
        <h1>外部画面と仮定</h1>
        <button type="submit">APIを叩く</button>
    </form>
    </body>
</html>'''
    return html
  
@app.route('/post', methods=['POST'])
def sample_form_temp():
    print('POSTデータ受け取ったので処理します')
    # ここでもらったデータを整形、GPTに投げる
    # GPTからJSONが返ってくる
    print('returnで整形したJSON返します')
    return 'APIが叩かれたので、JSONデータを返すよ'
    
app.run()

これで簡単に立てれた👍

初めにflaskとngrokを別々で立ててしまったために躓いた。
上記のようにflask-ngrokでどうにかなった。

あとはngrokが最近authtokenを必要になったらしい。

GitHubで編集を提案

Discussion