yoshidashingo / langchain-book

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

スクリーンショット

スクリーンショット 2023-12-30 20 58 52

書籍の該当箇所

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ファイルの内容

よろしくお願いします!

スペルミスに気づかずお手数をお掛けして申し訳ございません!
解決致しました。有難うございました。

解決してよかったです!