GaiZhenbiao / ChuanhuChatGPT

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.
https://huggingface.co/spaces/JohnSmith9982/ChuanhuChatGPT
GNU General Public License v3.0
15.11k stars 2.28k forks source link

目前在线搜索不能使用 #939

Closed Suyuan406 closed 9 months ago

Suyuan406 commented 9 months ago

是否已存在现有反馈与解答?

是否是一个代理配置相关的疑问?

错误描述

使用docker部署,目前在线搜索不能使用,勾选就报错 屏幕截图 2023-11-12 170928

复现操作

使用docker部署,目前在线搜索不能使用,勾选就报错,不勾选可以正常回答,我已经看过以前类似的issue了,无法解决,我的服务器是国外的,不存在网络问题,麻烦作者抽个解决一下呗,感谢!

错误日志

2023-11-12 09:04:00,194 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2023-11-12 09:04:03,351 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2023-11-12 09:04:06,512 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
Traceback (most recent call last):
  File "/root/.local/lib/python3.9/site-packages/gradio/queueing.py", line 388, in call_prediction
    output = await route_utils.call_process_api(
  File "/root/.local/lib/python3.9/site-packages/gradio/route_utils.py", line 219, in call_process_api
    output = await app.get_blocks().process_api(
  File "/root/.local/lib/python3.9/site-packages/gradio/blocks.py", line 1437, in process_api
    result = await self.call_function(
  File "/root/.local/lib/python3.9/site-packages/gradio/blocks.py", line 1123, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/root/.local/lib/python3.9/site-packages/gradio/utils.py", line 503, in async_iteration
    return await iterator.__anext__()
  File "/root/.local/lib/python3.9/site-packages/gradio/utils.py", line 496, in __anext__
    return await anyio.to_thread.run_sync(
  File "/root/.local/lib/python3.9/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/root/.local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/root/.local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/root/.local/lib/python3.9/site-packages/gradio/utils.py", line 479, in run_sync_iterator_async
    return next(iterator)
  File "/root/.local/lib/python3.9/site-packages/gradio/utils.py", line 629, in gen_wrapper
    yield from f(*args, **kwargs)
  File "/app/modules/utils.py", line 36, in predict
    for i in iter:
  File "/app/modules/models/base_model.py", line 439, in predict
    limited_context, fake_inputs, display_append, inputs, chatbot = self.prepare_inputs(
  File "/app/modules/models/base_model.py", line 393, in prepare_inputs
    for r in islice(ddgs_gen, 10):
  File "/root/.local/lib/python3.9/site-packages/duckduckgo_search/duckduckgo_search.py", line 95, in text
    for i, result in enumerate(results, start=1):
  File "/root/.local/lib/python3.9/site-packages/duckduckgo_search/duckduckgo_search.py", line 274, in _text_lite
    resp = self._get_url("POST", "https://lite.duckduckgo.com/lite/", data=payload)
  File "/root/.local/lib/python3.9/site-packages/duckduckgo_search/duckduckgo_search.py", line 54, in _get_url
    raise ex
  File "/root/.local/lib/python3.9/site-packages/duckduckgo_search/duckduckgo_search.py", line 48, in _get_url
    resp.raise_for_status()
  File "/root/.local/lib/python3.9/site-packages/httpx/_models.py", line 749, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

运行环境

补充说明

No response

yy1781051483 commented 9 months ago

+1

litian-98 commented 9 months ago

+1

GaiZhenbiao commented 9 months ago

好的,我调查一下

Nativu5 commented 9 months ago

能复现。

2023-11-14 10:07:27,082 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2023-11-14 10:07:30,111 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
2023-11-14 10:07:33,138 [WARNING] [duckduckgo_search.py:52] _get_url() https://lite.duckduckgo.com/lite/ HTTPStatusError Client error '403 Forbidden' for url 'https://lite.duckduckgo.com/lite/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403

看样子是 DuckDuckGo 的 API 出问题了。

GaiZhenbiao commented 9 months ago

请升级duckduckgo的版本,并重新安装gradio:

pip install duckduckgo-search --upgrade
pip install gradio==3.43.2

经过我的测试,这样可以解决在线搜索不能用的问题。在最新的依赖中,我提升了duckduckgo的版本。