大铁锤按摩 2024-02-03 17:12 采纳率: 66.7%
浏览 18
已结题

PaddleNLP 无监督智能检索问答系统 基于elasticsearch 搭建中文问答系统时出现错误

PaddleNLP 无监督智能检索问答系统 基于elasticsearch 搭建中文问答系统时出现错误
按照教程 https://github.com/PaddlePaddle/PaddleNLP/tree/develop/pipelines/examples/unsupervised-question-answering#344-%E5%90%AF%E5%8A%A8restapi%E6%[A8%A1%E5%9E%8B%E5%90%8E%E7%AB%AF 正确操作与执行

elasticsearch启动、ANN索引库构建和启动Streamlit WebUI前端钧正常,
localhost:9200可以正常打开:

img

错误出在检验RestAPI模型后端是否成功构建:

输入命令

 curl -X POST -k http://localhost:8896/query -H 'Content-Type: application/json' -d '{"query": "企业如何办理养老保险?","params": {"Retriever": {"top_k": 5}, "Ranker":{"top_k": 5}}}'

报错:

elasticsearch.exceptions.RequestError: RequestError(400, 'search_phase_execution_exception', 'runtime error')

ubuntu18.04,cuda版本11.2,elasticsearch版本8.3.2:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0

python环境:

 pip list
Package                        Version
- absl-py                        1.3.0
aiohttp                        3.9.3
aiosignal                      1.3.1
aistudio-sdk                   0.1.7
altair                         4.2.2
anyio                          3.7.1
argon2-cffi                    21.3.0
argon2-cffi-bindings           21.2.0
astor                          0.8.1
asttokens                      2.2.0
async-timeout                  4.0.3
attrdict                       2.0.1
attrs                          22.1.0
Babel                          2.14.0
backcall                       0.2.0
backports.zoneinfo             0.2.1
bce-python-sdk                 0.9.2
beautifulsoup4                 4.11.1
bleach                         5.0.1
blinker                        1.7.0
blis                           0.7.11
boilerpy3                      1.0.7
Brotli                         1.1.0
brotlipy                       0.7.0
cachetools                     5.2.0
catalogue                      2.0.10
certifi                        2021.5.30
cffi                           1.14.6
chardet                        4.0.0
charset-normalizer             3.3.2
click                          8.0.0
cloudpathlib                   0.16.0
colorama                       0.4.6
colorlog                       6.8.2
conda                          4.10.3
conda-package-handling         1.7.3
confection                     0.1.4
contourpy                      1.0.6
cryptography                   42.0.2
cssselect                      1.2.0
cssutils                       2.9.0
cuda-python                    12.3.0
cycler                         0.11.0
cymem                          2.0.8
Cython                         3.0.8
datasets                       2.16.1
debugpy                        1.6.4
decorator                      5.1.1
defusedxml                     0.7.1
dill                           0.3.4
elasticsearch                  7.11.0
entrypoints                    0.4
environs                       9.5.0
et-xmlfile                     1.1.0
Events                         0.5
exceptiongroup                 1.2.0
executing                      1.2.0
faiss-cpu                      1.7.4
fastapi                        0.103.2
fastjsonschema                 2.16.2
filelock                       3.13.1
fire                           0.5.0
Flask                          2.2.5
flask-babel                    4.0.0
fonttools                      4.38.0
frozenlist                     1.4.1
fsspec                         2023.10.0
future                         0.18.3
gevent                         23.9.1
geventhttpclient               2.0.2
gitdb                          4.0.11
GitPython                      3.1.41
google-auth                    2.14.0
google-auth-oauthlib           0.4.6
greenlet                       3.0.3
grpcio                         1.51.1
h11                            0.14.0
httpcore                       1.0.2
httpx                          0.26.0
huggingface-hub                0.20.3
idna                           2.10
imageio                        2.33.1
imgaug                         0.4.0
importlib-metadata             5.1.0
importlib-resources            5.10.0
ipykernel                      6.17.1
ipython                        8.7.0
ipython-genutils               0.2.0
ipywidgets                     8.0.2
itsdangerous                   2.1.2
jedi                           0.18.2
jieba                          0.42.1
Jinja2                         3.1.2
joblib                         1.3.2
json5                          0.9.10
jsonschema                     4.17.3
jupyter_client                 7.4.7
jupyter_core                   5.1.0
jupyter-server                 1.23.3
jupyterlab                     3.5.0
jupyterlab-language-pack-zh-CN 3.5.post2
jupyterlab-pygments            0.2.2
jupyterlab_server              2.16.3
jupyterlab-widgets             3.0.3
kiwisolver                     1.4.4
langcodes                      3.3.0
langdetect                     1.0.9
lazy_loader                    0.3
llvmlite                       0.41.1
lmdb                           1.4.1
lxml                           5.1.0
Markdown                       3.4.1
markdown-it-py                 3.0.0
MarkupSafe                     2.1.1
marshmallow                    3.20.2
matplotlib                     3.6.2
matplotlib-inline              0.1.6
mdurl                          0.1.2
minio                          7.2.3
mistune                        2.0.4
mmh3                           4.1.0
more-itertools                 10.2.0
multidict                      6.0.5
multiprocess                   0.70.12.2
murmurhash                     1.0.10
nbclassic                      0.4.8
nbclient                       0.7.2
nbconvert                      7.2.5
nbformat                       5.7.0
nest-asyncio                   1.5.6
networkx                       3.1
nltk                           3.8.1
notebook                       6.5.2
notebook_shim                  0.2.2
numba                          0.58.1
numpy                          1.23.5
oauthlib                       3.2.2
onnx                           1.15.0
opencv-contrib-python          4.6.0.66
opencv-contrib-python-headless 4.9.0.80
opencv-python                  4.6.0.66
opencv-python-headless         4.9.0.80
openpyxl                       3.1.2
opt-einsum                     3.3.0
packaging                      21.3
paddle-bfloat                  0.1.7
paddle-pipelines               0.6.2
paddle2onnx                    1.1.0
paddlefsl                      1.1.0
paddlenlp                      2.7.2
paddleocr                      2.6.1.3
paddlepaddle-gpu               2.6.0.post112
pandas                         2.0.3
pandocfilters                  1.5.0
parso                          0.8.3
pdf2docx                       0.5.8
pdf2image                      1.17.0
pdfminer.six                   20221105
pdfplumber                     0.10.3
pexpect                        4.8.0
pickleshare                    0.7.5
Pillow                         9.3.0
pip                            23.3.2
pkgutil_resolve_name           1.3.10
platformdirs                   2.5.4
premailer                      3.10.0
preshed                        3.0.9
prometheus-client              0.15.0
prompt-toolkit                 3.0.33
protobuf                       3.20.3
psutil                         5.9.4
ptyprocess                     0.7.0
pure-eval                      0.2.2
pyarrow                        15.0.0
pyarrow-hotfix                 0.6
pyasn1                         0.4.8
pyasn1-modules                 0.2.8
pybind11                       2.11.1
pyclipper                      1.3.0.post5
pycosat                        0.6.3
pycparser                      2.20
pycryptodome                   3.20.0
pydantic                       1.10.14
pydeck                         0.8.1b0
Pygments                       2.13.0
pymilvus                       2.3.6
Pympler                        1.0.1
PyMuPDF                        1.20.2
pyOpenSSL                      20.0.1
pyparsing                      3.0.9
pypdf                          4.0.1
pypdfium2                      4.26.0
pyrsistent                     0.19.2
PySocks                        1.7.1
python-dateutil                2.8.2
python-docx                    1.1.0
python-dotenv                  1.0.1
python-multipart               0.0.6
python-rapidjson               1.14
pytz                           2024.1
PyWavelets                     1.4.1
PyYAML                         6.0.1
pyzmq                          24.0.1
rapidfuzz                      3.6.1
rarfile                        4.1
regex                          2023.12.25
requests                       2.25.1
requests-oauthlib              1.3.1
rich                           13.7.0
rsa                            4.9
ruamel-yaml-conda              0.15.100
safetensors                    0.4.2
scikit-image                   0.21.0
scikit-learn                   1.3.2
scipy                          1.10.1
semver                         3.0.2
Send2Trash                     1.8.0
sentencepiece                  0.1.99
seqeval                        1.2.2
setuptools                     69.0.3
shapely                        2.0.2
six                            1.16.0
smart-open                     6.4.0
smmap                          5.0.1
sniffio                        1.3.0
soupsieve                      2.3.2.post1
spacy                          3.7.2
spacy-legacy                   3.0.12
spacy-loggers                  1.0.5
SQLAlchemy                     1.4.51
SQLAlchemy-Utils               0.41.1
srsly                          2.4.8
sseclient-py                   1.7.2
stack-data                     0.6.2
starlette                      0.27.0
streamlit                      1.11.1
supervisor                     4.2.4
tensorboard                    2.11.0
tensorboard-data-server        0.6.1
tensorboard-plugin-wit         1.8.1
termcolor                      2.4.0
terminado                      0.17.0
thinc                          8.2.2
threadpoolctl                  3.2.0
tifffile                       2023.7.10
tinycss2                       1.2.1
toml                           0.10.2
tomli                          2.0.1
tool-helpers                   0.1.1
toolz                          0.12.1
tornado                        6.2
tqdm                           4.66.1
traitlets                      5.6.0
tritonclient                   2.41.1
typer                          0.9.0
typing_extensions              4.5.0
tzdata                         2023.4
tzlocal                        5.2
ujson                          5.9.0
urllib3                        1.26.6
uvicorn                        0.27.0.post1
validators                     0.22.0
visualdl                       2.5.3
wasabi                         1.1.2
watchdog                       3.0.0
wcwidth                        0.2.5
weasel                         0.3.4
webencodings                   0.5.1
websocket-client               1.4.2
Werkzeug                       2.2.2
wheel                          0.36.2
widgetsnbextension             4.0.3
wordcloud                      1.8.2.2
xxhash                         3.4.1
yarl                           1.9.4
zipp                           3.11.0
zope.event                     5.0
zope.interface                 6.1

似乎是JSON语句格式的问题?求帮助
  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-03 17:20
    关注
    获得1.50元问题酬金

    引自免费微信小程序:皆我百晓生

    由于您提供的信息较多,但没有直接指出在基于PaddleNLP和Elasticsearch搭建无监督智能检索问答系统时具体错误的堆栈或详细错误日志,我无法准确判断问题所在。不过根据您给出的错误提示elasticsearch.exceptions.RequestError: RequestError(400, 'search_phase_execution_exception', 'runtime error'),这表明您在向Elasticsearch发送查询请求时遇到了搜索阶段执行异常。

    这种错误通常与以下几点有关:

    1. 查询DSL格式不正确:您的JSON查询可能不符合Elasticsearch的查询DSL规范,尤其是在使用PaddleNLP结合Elasticsearch进行检索时,确保构建的查询结构正确无误。
    {
      "query": {
        "multi_match" : {
          "query": "企业如何办理养老保险?",
          "fields": ["*"],   # 要匹配的字段列表,这里假设是全文本检索所有字段
          "operator": "and"  # 检索操作符,可以根据需求选择“and”、“or”
        }
      },
      "size": 5             # 返回结果的数量,对应于Retriever的top_k参数
    }
    
    1. 索引配置问题:如果您的Elasticsearch索引没有正确配置或者没有启用所需的分析器(例如中文分词器),那么在处理中文文本查询时可能会出现此错误。

    2. PaddleNLP与Elasticsearch交互代码错误:检查您的Python代码,确保正确构造了Elasticsearch客户端并执行了正确的查询操作。

    3. 未正确处理返回结果:虽然报错是在查询阶段,但如果在处理Elasticsearch返回结果时发生了错误,也可能引发此类运行时错误。

    为了解决这个问题,请尝试以下步骤:

    • 验证您的Elasticsearch查询DSL是否符合规格。
    • 确认所使用的索引是否针对中文做了合适的分析器配置。
    • 检查您的Python客户端代码,确保正确地构建和发送了查询请求到Elasticsearch服务器。

    请提供更多的上下文信息,如查询代码段、索引设置以及详细的错误堆栈信息,以便进一步排查问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 赞助了问题酬金20元 2月3日
  • 创建了问题 2月3日

悬赏问题

  • ¥15 做一个简单的bp500元贵吗?
  • ¥15 为什么点击加入购物车跳转页面应用程序找不到对应的资源该怎么修改
  • ¥15 ANSYS自动化仿真数据
  • ¥15 机器人在mujoco仿真中直接摔倒
  • ¥15 机器学习 模型相关问题
  • ¥30 Visual OpenLLM本地部署报错缺少fbgemm.dll
  • ¥15 关于使用双自由度的随机减量技术(2DOF-RD)法拟合混叠的模态信号时拟合不良的问题
  • ¥15 swiftUI与UIkit日期选择器使用问题
  • ¥60 如何将某一个城市的手机号码归属地按照“区县”区分?
  • ¥15 python处理文本格式