在纯Python环境下,启动服务时出现404错误,提示"Application QAnything cannot handle your request ⚠️ 404 — Not Found",

xxe27gdn  于 6个月前  发布在  Python
关注(0)|答案(5)|浏览(68)

请描述需要解决的问题
(替换此文本:请简要描述此功能请求要解决的问题。请明确哪些问题属于范围内,哪些不属于范围。)

(可选):建议解决方案

(替换此文本:简洁描述您的首选解决方案。需要解决的问题包括:

  • 技术实现的详细信息
  • 设计决策中的权衡
  • 对未来的注意事项和考虑因素

如果有多个解决方案,请分别提出。将比较留到最后。)

启动3B模型后,在浏览器按照ip,port打开时出现404错误

s2j5cfk0

s2j5cfk01#

执行

CUDA_VISIBLE_DEVICES=1 python -m qanything_kernel.qanything_server.sanic_api --host 0.0.0.0 --port 14009 --model_size 3B

初始化LLM引擎,配置如下:模型路径='/workspace/QAnything/assets/custom_models/netease-youdao/MiniChat-2-3B',分词器路径='/workspace/QAnything/assets/custom_models/netease-youdao/MiniChat-2-3B',分词器模式为自动,修订版本为None,分词器修订版本为None,信任远程代码为True,数据类型为torch.float16,最大序列长度为4096,下载目录为None,加载格式为自动,Tensor并行大小为1,禁用自定义all reduce为False,量化为None,强制使用eager模式为False,键值缓存数据类型为自动,设备配置为cuda,随机种子为0。
您正在使用<class 'transformers.models.llama.tokenization_llama.LlamaTokenizer'>的默认遗留行为。这是预期的,只是意味着将使用legacy(之前的)行为,因此对您来说没有什么变化。如果您想使用新的行为,请设置legacy=False。只有在完全理解这意味着什么并且阅读了为什么在huggingface/transformers#24565中添加的原因后才应该设置。
您正在使用<class 'transformers.models.llama.tokenization_llama_fast.LlamaTokenizerFast'>的默认遗留行为。这是预期的,只是意味着将使用legacy(之前的)行为,因此对您来说没有什么变化。如果您想使用新的行为,请设置legacy=False。只有在完全理解这意味着什么并且阅读了为什么在huggingface/transformers#24565中添加的原因后才应该设置。
INFO 05-23 08:37:19 llm_engine.py:357] # GPU块数:7221,# CPU块数:910
INFO 05-23 08:37:21 model_runner.py:684] 为CUDA图捕获模型。如果模型不是静态的,这可能会导致意外的结果。要以急切模式运行模型,请设置'enforce_eager=True'或在CLI中使用'--enforce-eager'。
INFO 05-23 08:37:21 model_runner.py:688] 每个GPU可能需要额外的1~3 GiB内存来存储CUDA图。如果您的内存不足,请考虑减小gpu_memory_utilization或强制使用急切模式。根据需要可以减少max_num_seqs以降低内存使用。
INFO 05-23 08:37:29 model_runner.py:756] 在8秒内完成图捕获。
已启动后端服务,请复制[ http://0.0.0.0:8777/qanything/ ]到浏览器进行测试。
[2024-05-23 08:37:36 +0000] [48195] [INFO] 开始工作进程 [48195]

neskvpey

neskvpey2#

请检查您的运行路径是否符合加载静态页面的路径 /dist/qanything/。

s8vozzvw

s8vozzvw4#

请求时,注意末尾的斜杠不可省略,如果是 http://{ip}:8777/qanything 会404,应改为http://{ip}:8777/qanything/。

文档:https://github.com/netease-youdao/QAnything/blob/master/QAnything%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.md#Python%E7%89%88%E6%9C%AC%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97:~:text=%E4%BD%BF%E7%94%A8UI%E7%95%8C%E9%9D%A2-,%E6%B3%A8%E6%84%8F%E6%9C%AB%E5%B0%BE%E7%9A%84%E6%96%9C%E6%9D%A0%E4%B8%8D%E5%8F%AF,-API %20 %E6%96%87%E6%A1%A3

zrfyljdw

zrfyljdw5#

这个BUG是因为找不到index.html文件导致的。原因是python运行的时候,默认参数用的是相对于该项目的路径。 解决方法:

  1. 改为绝对路径。 app.static('/qanything/', '/home/{user}/project/QAnything/qanything_kernel/qanything_server/dist/qanything/', name='qanything', index="index.html")
  2. 改为相对于 sanic.py 地址的绝对路径。 app.static('/qanything/', './dist/qanything/', name='qanything', index="index.html")

相关问题