P143 6.8章でエラー発生
mizuking01 opened this issue · comments
エラーの説明
6.8「Agentを使って必要に応じて外部情報を検索させる」のDuckDuckGo使用時にエラーが起きてしまいます。
スクリーンショット
ターミナル上でのエラー
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
ご質問ありがとうございます。
duckduckgo_search.exceptions.DuckDuckGoSearchException: Ratelimit
とのことですので、DuckDuckGoのレートリミットの可能性がありそうです。
しばらく時間をおいてからもう一度試してみてください。
時間をおいても同じエラーが発生する場合、こちらにコメントいただければ私のほうでも調査させていただきます。
よろしくお願いします。
@yushi-sim
ご質問ありがとうございます。
エラーの原因はエラーメッセージに含まれている可能性が高いです。
エラーメッセージの全体を共有いただければ確認させていただきます。
エラーメッセージはターミナルに全体が表示されていると思いますので、省略せず全体を共有お願いします。
よろしくお願いします。
@os1ma
お忙しい中迅速な返信ありがとうございます。
先ほど再度試したところエラーが出力されませんでした。。
昨日からずっとエラーが出力されていたのですが、特に何も変更していないため原因は不明です。。
また同様のエラーが出力されたら再度質問させていただきます。
ありがとうございます。
@yushi-sim
状況共有ありがとうございます。
こちらのIssueでもともと質問されていたように、レートリミットなどによる一時的なエラーだったのかもしれません。
また同様のエラーが発生して原因が分からない場合は質問いただければと思います。