Supabase Edge機能にNPMパッケージをインストールするSupabase Edge関数に精通している場合、NPMパッケージのインストールは、典型的なnode.jsまたはExpressアプリケーションほど簡単ではないことがわかるかもしれません。ただし、Supabase Edge関数にNPMパッケージを含める方法はいくつかあります。このガイドでは、import_map.jsonファイルを使用してこれを達成する方法を示します。
Dockerがマシンにインストールされていることを確認してください。
ディレクトリを選択して、次のコマンドを実行します。
npx supabase initこれにより、ディレクトリにsupabaseフォルダーが作成されます。
次のコマンドを実行してプロジェクトを開始します。
npx supabase startこのプロセスは、Docker画像を引いてコンテナを起動するため、数分かかる場合があります。
お気に入りのコードエディターでディレクトリを開き、次のコマンドを実行して新しいSupabase Edge関数を作成します。
npx supabase functions new < your-function-name >これにより、 functionsディレクトリ内に関数の名前が付いたフォルダーが作成されます。
NPMパッケージをインストールできます。この例では、Langchainパッケージをインストールして、基本的なRAGパイプラインを作成します。
import_map.jsonを作成しますfunctionsフォルダーにimport_map.jsonという名前のファイルを作成し、次のJSONブロックを追加します。
{
"imports" : {
"@supabase/supabase-js" : " npm:@supabase/[email protected] " ,
"langchain/" : " https://esm.sh/[email protected]/ " ,
"@langchain/openai/" : " https://esm.sh/@langchain/[email protected]/ " ,
"@langchain/core/" : " https://esm.sh/@langchain/[email protected]/ " ,
"@langchain/community/" : " https://esm.sh/@langchain/[email protected]/ "
}
}NPMパッケージのサブモジュールを使用する場合は、パッケージ名の最後にA
/追加してください。参照については、@supabase/supabase-jsと残りのlangchainパッケージのインポートを参照してください。
プロジェクトがSupabase Cloudプロジェクトにリンクしていることを確認してください。
エッジ関数をSupabaseに展開するには、次のコマンドを実行します。
npx supabase functions deployこのコマンドはすべての機能を展開します。
特定の関数を展開するには、使用します。
npx supabase functions deploy < function-name >