バックエンドを構築する
Morphでは、Pythonを使用してバックエンドを構築します。Pythonパッケージを自由に追加して、データ処理やAIワークフローを構築することができます。
開発の流れ
Morphでのバックエンド開発の手順は以下の通りです。
Pythonパッケージを追加する
Morphは一般的なPythonプロジェクトの形式であるため、自由にPythonパッケージを追加することができます。requirements.txt
やpoetry.toml
に必要なパッケージを追加してください。
Python関数を定義し、Morphのデコレーターを追加
通常のPythonの関数定義に、Morphのデコレーターを追加することで、エイリアスを設定します。これにより、他のPythonやSQLファイル、マークダウンファイルからこの関数の結果を参照することができます。
Python関数をテストする
関数を単体テストするために、morph run
コマンドを使用して関数を実行します。
開発サーバーを起動する
開発サーバーを起動することで、Webアプリケーションをローカルで確認することができます。
Python関数の返り値
Morphプロジェクトで定義するPython関数は、以下のような返り値を持つ必要があります。
DataFrame
データ処理の結果を表すDataFrameオブジェクト。SQLの実行結果もDataFrameとして扱われます。データ処理の結果を他のPythonファイルで用いる場合や、マークダウンファイルで表示する場合に使用してください。
対応するマークダウンコンポーネントは、<DataFrame>
です。
HTML文字列
データ可視化の結果などを描画するためのHTML文字列。PlotlyやBokehなどの可視化ライブラリを用いて描画したグラフを表示したい場合に使用してください。
対応するマークダウンコンポーネントは、<Embed>
です。
ストリーミング
LLM APIなどのストリーミングAPIを使用する場合に使用します。 stream_chat
関数を用いて値の流し込みを実行します。
対応するマークダウンコンポーネントは、<Chat>
です。