Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

p.177 章7.12でエラー #3

Open
DAKE-yasu opened this issue Nov 1, 2023 · 3 comments
Open

p.177 章7.12でエラー #3

DAKE-yasu opened this issue Nov 1, 2023 · 3 comments

Comments

@DAKE-yasu
Copy link

DAKE-yasu commented Nov 1, 2023

エラーの説明
章7.12 [会話履歴を保持する]を実施時にエラーとなりました。
エラー内容は以下のとおりです。

Failed to run listener function (error: Got unexpected message type: AIMessageChunk)
Traceback (most recent call last):
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/slack_bolt/listener/thread_runner.py", line 65, in run
    returned_value = listener.run_ack_function(request=request, response=response)
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/slack_bolt/listener/custom_listener.py", line 50, in run_ack_function
    return self.ack_function(
  File "/home/ec2-user/environment/slackapp-chatgpt/app.py", line 72, in handle_mention
    messages.extend(history.messages)
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/langchain/memory/chat_message_histories/momento.py", line 141, in messages
    return messages_from_dict(items)
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/langchain/schema/messages.py", line 348, in messages_from_dict
    return [_message_from_dict(m) for m in messages]
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/langchain/schema/messages.py", line 348, in <listcomp>
    return [_message_from_dict(m) for m in messages]
  File "/home/ec2-user/environment/slackapp-chatgpt/.venv/lib/python3.10/site-packages/langchain/schema/messages.py", line 336, in _message_from_dict
    raise ValueError(f"Got unexpected message type: {_type}")
ValueError: Got unexpected message type: AIMessageChunk

書籍の該当箇所

p 180のアプリケーション実行時に、Slack Botに対してスレッド内で@で返答したところ当該エラーが発生しました。

書籍の内容以外で実施したこと

下記issueに記載のとおり、langchainのバージョンを下げたところエラーは解決しました。
gpt-engineer-org/gpt-engineer#833

当方の環境は2023/10/31時点で作成したCloud9環境に"pip install langchain"でlangchainをインストールしていました。
当該環境でlangchainのバージョンを確認したところ"0.0.327"でした。
そのため、書籍冒頭viiページ記載の0.0.292にバージョンを合わせたところ解決しました。(pip install langchain==0.0.292)

環境

AWS Cloud9

@naoki85
Copy link

naoki85 commented Nov 5, 2023

私も同様のエラーになり、試してみたことを共有します。

llm からの戻り値を確認したところ、 AIMessageChunk という型でした。
MomentoChatMessageHistory(Memory) には add_ai_message というメソッドが存在したため、こちらを使用して AiMessage として追加するようにしたところ、動くことが確認できました。

ai_message = llm(messages)
history.add_ai_message(ai_message.content)  # ここを変更

参考になれば幸いです。

@yoshidashingo
Copy link
Owner

ご報告ありがとうございます。

@os1ma
Copy link
Collaborator

os1ma commented Nov 20, 2023

ご報告ありがとうございます。

パッケージのバージョンに起因するエラーに遭遇しないよう、バージョンを指定してインストールする方法をまとめました。
具体的なコマンドは「こちら(パッケージのバージョン固定に関する変更)」を参照してください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants