🚀

AWS LambdaからGroq APIを実行する(Node.js版)

に公開

AWS Lambda から Groq API を実行して結果を取得したい。

構成図

ローカルでの作業

空のフォルダに groq-sdk をインストールする

mkdir groq-sdk-layer # 名前は何でもいい
cd groq-sdk-layer
npm init
npm install groq-sdk

フォルダ構成を確認、調整する

/groq-sdk-layer
  /package.json
  /node_modules

/groq-sdk-layer
  /nodejs # ←新規作成してファイルを移動させる
    /package.json
    /node_modules

(参考)

重要: Node.js 用にインポートするライブラリは、nodejs/node_modules というフォルダ構造内にある必要があります。

[https://repost.aws/ja/knowledge-center/lambda-import-module-error-nodejs:title]

zip する

上記の nodejs フォルダを zip 圧縮する。

レイヤーの作成

上記 zip をアップロードしてレイヤーを作成し、Lambda 関数に追加します。

実行

import Groq from 'groq-sdk';
...
export const handler = async (event) => {
    ...
    var groq = new Groq({
        apiKey: process.env.GROQ_API_KEY,
    });
    ...
    const response = await groq.chat.completions.create(...);
    ...

ハマりポイント

zip する際のフォルダ構成が異なると、モジュール読み込みでエラーが起きます。

/groq-sdk-layer      # これをzipしてもダメ
  /nodejs            # これをzipする必要がある
    /package.json
    /node_modules

Discussion