215ページでのエラー
ytksato opened this issue · comments
エラーの説明
(.venv) ec2-user:~/environment/slackapp-chatgpt (main) $ python app.py
2023-12-30 11:36:47,767 [INFO] A new session has been established (session id: f7e83c4b-ca2f-4351-91c6-6ac4fb18c415)
2023-12-30 11:36:47,768 [INFO] ⚡ Bolt app is running!
2023-12-30 11:36:47,812 [INFO] Starting to receive messages from a new connection (session id: f7e83c4b-ca2f-4351-91c6-6ac4fb18c415)
2023-12-30 11:37:12,698 [ERROR] Failed to run an internal function (2 validation errors for RetrievalQA
retriever
field required (type=value_error.missing)
reriever
extra fields not permitted (type=value_error.extra))
2023-12-30 11:39:58,187 [ERROR] Failed to run an internal function (2 validation errors for RetrievalQA
retriever
field required (type=value_error.missing)
reriever
extra fields not permitted (type=value_error.extra))
^CTraceback (most recent call last):
File "/home/ec2-user/environment/slackapp-chatgpt/app.py", line 137, in
SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"]).start()
File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/slack_bolt/adapter/socket_mode/base_handler.py", line 57, in start
Event().wait()
File "/home/ec2-user/.pyenv/versions/3.10.13/lib/python3.10/threading.py", line 607, in wait
signaled = self._cond.wait(timeout)
File "/home/ec2-user/.pyenv/versions/3.10.13/lib/python3.10/threading.py", line 320, in wait
waiter.acquire()
KeyboardInterrupt
スクリーンショット
書籍の該当箇所
215ページの「Pineconeを検索して回答する」のコードです。
書籍の内容以外で実施したこと
なし
環境
AWS Cloud9(AWS Cloud9 以外の環境を使用している場合はご記入ください)
その他
このページの修正をしない場合はソケットモードで正常にslack上で動作します。
ご質問ありがとうございます!
共有いただいたメッセージの以下の箇所が、エラーの原因を出力しているように見えます。
2023-12-30 11:37:12,698 [ERROR] Failed to run an internal function (2 validation errors for RetrievalQA
retriever
field required (type=value_error.missing)
reriever
extra fields not permitted (type=value_error.extra))
日本語にすると、以下のようになります。
RetrievalQAの内部の関数の実行で、2つのバリデーションエラーが発生しました。
1つ目としては、必須の「retriever」が見つかりませんでした。
2つ目としては、「reriever」という許可されないフィールドが指定されています。
「retriever」が見つからず、「reriever」が見つかった、とのことなので、おそらく以下の箇所で「retriever=」を「reriever=」にタイプミスしているということかと思います。
qa_chain = RetrievalQA.from_llm(llm=llm, retriever=vectorstore.as_retriever())
こちらの箇所を確認してみてください。
動作確認済みのソースコード
「8.8.Pineconeを検索して回答する」の時点の動作確認済みソースコードを、以下で参照できます。
https://github.com/yoshidashingo/langchain-book/tree/main/details/08-08_retrieval-qa
もし必要でしたら、上記のURLから、app.pyを参照してみてください。
もしも上記の内容で解決しない場合
もしも上記の内容で解決しない場合、以下を共有いただければサポートさせていただきます。
- ご自身で作成された、app.pyファイルの内容
- ご自身で作成された、requirements.txtファイルの内容
よろしくお願いします!
スペルミスに気づかずお手数をお掛けして申し訳ございません!
解決致しました。有難うございました。
解決してよかったです!