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

P143 6.8章でエラー発生 #20

Open
mizuking01 opened this issue Apr 15, 2024 · 7 comments
Open

P143 6.8章でエラー発生 #20

mizuking01 opened this issue Apr 15, 2024 · 7 comments

Comments

@mizuking01
Copy link

エラーの説明

6.8「Agentを使って必要に応じて外部情報を検索させる」のDuckDuckGo使用時にエラーが起きてしまいます。

スクリーンショット

Streamlitでのエラー
スクリーンショット 2024-04-16 010515

スクリーンショット 2024-04-16 010523

ターミナル上でのエラー
2024-04-15 16:08:24.462 Uncaught app exception
Traceback (most recent call last):
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 46, in _get_url
raise DuckDuckGoSearchException("Ratelimit")
duckduckgo_search.exceptions.DuckDuckGoSearchException: Ratelimit

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script
exec(code, module.dict)
File "/home/ec2-user/environment/langchain-book-/app.py", line 59, in
response = st.session_state.agent_chain.run(prompt, callbacks=[callback])
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/chains/base.py", line 487, in run
return self(args[0], callbacks=callbacks, tags=tags, metadata=metadata)[
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/chains/base.py", line 292, in call
raise e
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/chains/base.py", line 286, in call
self._call(inputs, run_manager=run_manager)
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 1122, in _call
next_step_output = self._take_next_step(
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/agents/agent.py", line 977, in _take_next_step
observation = tool.run(
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/tools/base.py", line 356, in run
raise e
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/tools/base.py", line 328, in run
self._run(*tool_args, run_manager=run_manager, **tool_kwargs)
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/tools/ddg_search/tool.py", line 31, in _run
return self.api_wrapper.run(query)
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/utilities/duckduckgo_search.py", line 61, in run
snippets = self.get_snippets(query)
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/langchain/utilities/duckduckgo_search.py", line 53, in get_snippets
for i, res in enumerate(results, 1):
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 91, in text
for i, result in enumerate(results, start=1):
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 142, in _text_api
resp = self._get_url("GET", "https://links.duckduckgo.com/d.js", params=payload)
File "/home/ec2-user/environment/langchain-book-/.venv/lib/python3.10/site-packages/duckduckgo_search/duckduckgo_search.py", line 50, in _get_url
raise DuckDuckGoSearchException(f"_get_url() {url} {type(ex).name}: {ex}")
duckduckgo_search.exceptions.DuckDuckGoSearchException: _get_url() https://links.duckduckgo.com/d.js DuckDuckGoSearchException: Ratelimit

書籍の該当箇所

P144のプレビュー再読み込みを実行し、「今日の東京の天気を教えて」と入力したときにエラーが発生します。

書籍の内容以外で実施したこと
修正版のバージョン4.1.0や4.1.1で試してみましたが、エラーは消えませんでした。

環境

AWS Cloud9

@os1ma
Copy link
Collaborator

os1ma commented Apr 15, 2024

ご質問ありがとうございます。

duckduckgo_search.exceptions.DuckDuckGoSearchException: Ratelimit

とのことですので、DuckDuckGoのレートリミットの可能性がありそうです。

しばらく時間をおいてからもう一度試してみてください。

時間をおいても同じエラーが発生する場合、こちらにコメントいただければ私のほうでも調査させていただきます。

よろしくお願いします。

@yushi-sim
Copy link

こちらのIssueで追加の質問失礼します。
上記と同様の場所である
6.8「Agentを使って必要に応じて外部情報を検索させる」のDuckDuckGo使用時にエラーが起きてしまいます。
ddg-search⇨google-searchに変更したら、問題なく動作しました。
ddg-searchだとHTTPエラーが発生してしまう理由について、分かりましたらお手数をおかけしますがご教授いただきたいです。

スクリーンショット 2024-07-21 14 03 44

@os1ma
Copy link
Collaborator

os1ma commented Jul 21, 2024

@yushi-sim
ご質問ありがとうございます。

エラーの原因はエラーメッセージに含まれている可能性が高いです。
エラーメッセージの全体を共有いただければ確認させていただきます。
エラーメッセージはターミナルに全体が表示されていると思いますので、省略せず全体を共有お願いします。

よろしくお願いします。

@yushi-sim
Copy link

yushi-sim commented Jul 21, 2024

@os1ma
お忙しい中迅速な返信ありがとうございます。

先ほど再度試したところエラーが出力されませんでした。。
昨日からずっとエラーが出力されていたのですが、特に何も変更していないため原因は不明です。。

また同様のエラーが出力されたら再度質問させていただきます。

ありがとうございます。

@os1ma
Copy link
Collaborator

os1ma commented Jul 22, 2024

@yushi-sim
状況共有ありがとうございます。
こちらのIssueでもともと質問されていたように、レートリミットなどによる一時的なエラーだったのかもしれません。
また同様のエラーが発生して原因が分からない場合は質問いただければと思います。

@hyrule-coder
Copy link

私も同じ Ratelimitエラーが出ました。
こちらのアドバイスを参考に、5.3.1b1を利用したら解決しました。

@os1ma
Copy link
Collaborator

os1ma commented Nov 7, 2024

@hyrule-coder
共有ありがとうございます。

私の手元でも同様のエラーが発生し、duckduckgo-searchの最新版(6.3.3)をインストールすれば動作するようでした。

今後も同様の現象が発生する可能性があるので、このリポジトリのREADMEに以下のように追記させていただきました。

もしもバージョン 5.3.0 でもエラーになる場合、duckduckgo-search のさらに新しいバージョンを使用することで解決する可能性があります。 duckduckgo-search のリリース履歴 から新しいバージョンを確認してインストールし、うまく動作するか試してみてください。

https://github.com/yoshidashingo/langchain-book/blob/main/README.md

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