yoshidashingo / langchain-book

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P143 6.8章でエラー発生

mizuking01 opened this issue · comments

エラーの説明

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

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

duckduckgo_search.exceptions.DuckDuckGoSearchException: Ratelimit

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

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

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

よろしくお願いします。

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

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

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

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

よろしくお願いします。

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

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

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

ありがとうございます。

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