フルスタックチャンネル
サインアップサインアップ
ログインログイン
利用規約プライバシーポリシーお問い合わせ
Copyright © All rights reserved | FullStackChannel
解決済
「Next.js13とSupabaseで知識データベースQ&Aアプリ構築(Embedding)」でデータベースの作成ができない
Next.js
JavaScript
データベース
Big
2023/06/14 02:52

実現したいこと


上記の画像の状態を解決したい

発生している問題

500 Internal Server Errorが発生していて、データベースが作成できません

ソースコード

https://gist.github.com/hrkn63-hnm/5e4ee1b7ba3a0e23b2fb050f282118e6

フルスタックチャンネル様のソースコードをコピペしました。

自分で試したこと

components/knowledge/knowledge-new.tsxのファイルの中で
console.log(urls)
console.log({urls})
console.log(body)を行いましたが、特に問題があるようには感じられませんでした。
Fetchの時点でうまくいっていないと思われますが、対処できませんでした。

また、429エラーやCould not parse CSS stylesheetなども見受けられます。
おそらく、429エラーが原因でAPI大量リクエストをおこなってしまっているようです。

加えて、OpenAIのAPIkeyが一度も使われていないこと、ベクトルへの変換が正常に行われていないことも関係がありそうです。

対処法を教えていただけると幸いです。

追記

私のコードにミスがあるかもしれないと思い、フルスタックチャンネル様のリポジトリをForkしてローカルで実行してみましたが、同じエラーが発生しました。
.env.localを追加してsupabaseの設定も行なっておりnpm iも実行済みです。

また、動画内で知識データベースにリンクを追加する際(19:53~19:55)に、動画が「カット」されており、不自然に感じました。2個目以降のリンクを追加する際には確認できなかったので私の勘違いなのかもしれませんが、初めてデータを格納する際は別に何かをするようにも感じました。詳しく教えていただけると幸いです。

回答 7件
login
回答するにはログインが必要です
はる@講師
約2年前

ターミナルでcurlコマンドが失敗するのはAPIキーが間違っていると思います。

$OPENAI_API_KEYを取得したAPIキーに変更して、もう一度コマンドをたたいてみてください。

Big
約2年前

すみません、間違えてベストアンサーを設定してしまいました...

このコマンドを打つ前にもしかしてとは思っていましたが、無料トライアルの期間切れだったぽいですね。

未成年なので有料にするかどうかは親に相談してみます。

ご丁寧にありがとうございました。

{
    "error": {
        "message": "You exceeded your current quota, please check your plan and billing details.",
        "type": "insufficient_quota",
        "param": null,
        "code": null
    }
}
はる@講師
約2年前

他のURLでもうまくいかない場合おかしいですね。

どこでエラーが発生していますでしょうか?

SupabaseかOpenAIのEmbedding APIか、JSDOMの記事の取得のところなのかご確認をお願い致します。

Big
約2年前

Supabaseにはerrorが発生していないように思われます。

JSDOMの記事の取得でerrorが発生しているかどうかの確認方法がわからないため、今一度supabaseで見るべき場所とともに教えていただけると幸いです。

Big
約2年前

とりあえずOpenAIのEmbedding APIの公式ドキュメントのcurlコマンドそのまま実行したところ以下のerrorが発生しました。
.env.localファイルにて環境変数を設定しているはずですが...
うまくいっていない可能性もあると思い、Vercelでも試してみましたがうまくいきませんでした。

https://platform.openai.com/docs/guides/embeddings/what-are-embeddings

curl https://api.openai.com/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "input": "Your text string goes here",
    "model": "text-embedding-ada-002"
  }'
{
    "error": {
        "message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.",
        "type": "invalid_request_error",
        "param": null,
        "code": null
    }
}
はる@講師
約2年前

このURLは、こちらでもエラーが発生しました。

https://www.google.com/

別のURLを試して頂いてもよろしいでしょうか?

Big
約2年前

返答ありがとうございます。
その他いくつか試してもうまくいきませんでした。うまく行ったURLを送っていただきたいです。試してみます。