QwenLM / Qwen-Agent

Agent framework and applications built upon Qwen>=2.0, featuring Function Calling, Code Interpreter, RAG, and Chrome extension.
https://pypi.org/project/qwen-agent/
Other
3.22k stars 313 forks source link

500: Internal Error #213

Open yanghp86 opened 3 months ago

yanghp86 commented 3 months ago

浏览器中输入webui打开7860端口,出来LOGO一会就报500: Internal Error,这是什么问题呢?

yanghp86 commented 3 months ago

请问一下,我遇到以下问题了,日志在哪可以看到?,这个webui的默认端口为7860可以改吗?,我的代码如下: from qwen_agent.agents import Assistant from qwen_agent.gui import WebUI

llm_cfg = {

使用 DashScope 提供的模型服务:

#'model': 'qwen-max',
#'model_server': 'dashscope',
# 'api_key': 'YOUR_DASHSCOPE_API_KEY',
# 如果这里没有设置 'api_key',它将读取 `DASHSCOPE_API_KEY` 环境变量。

# 使用与 OpenAI API 兼容的模型服务,例如 vLLM 或 Ollama:
'model': 'qwen2:latest',
'model_server': 'http://10.10.0.232:11434/v1/',  # base_url,也称为 api_base
#'api_key': 'EMPTY',

# (可选) LLM 的超参数:
'generate_cfg': {
    'top_p': 0.8
}

} files =['/home/04154817mvyq.pdf'] def test(): bot = Assistant(llm={'model': 'qwen-plus'}) messages = [{'role': 'user', 'content': [{'text': '介绍图一'}, {'file': 'https://arxiv.org/pdf/1706.03762.pdf'}]}] for rsp in bot.run(messages): print(rsp)

def app_gui():

Define the agent

bot = Assistant(llm=llm_cfg,
                name='Assistant',
                files =files,
                description='使用RAG检索并回答,支持文件类型:PDF/Word/PPT/TXT/HTML。')
chatbot_config = {
    'prompt.suggestions': [
        {
            'text': '这是什么文章'
        },
    ]
}
WebUI(bot, chatbot_config=chatbot_config).run()

if name == 'main':

test()

app_gui()
JianxinMa commented 3 months ago

gradio似乎问题很多,比如我也遇到过开了网络代理后就没办法打开的情况。500: Internal Error @tuhahaha 有头绪吗?

(早知道就用streamlit了、而不是gradio了)

yanghp86 commented 3 months ago

你们的项目我非常喜欢,特别是这个fast rag和更慢更准的智能体问答,我的目标是想用这些功能做一个类似于openai api的接口,提问时可以带上pdf等文件名的,然后历史聊天记录不断地去文件内容进行追问,界面我自己可以写一套可以选勾选文件的对话框。现在担心和无法解决的问题如下: 1、我觉得我勾选了小说pdf上传并带上问题后,后续的新追问,应该不需要对整本小说PDF再来一次解析了吧?在原基础上继续答不就行了吗?我担心性能问题,如果小说有20万字的话,每一次问问题都要解析一次整本小说,会不会太慢了。 2、我用webui遇到了问题,所以我改用了test(),我发现for循环里面的stream类输出太烦了,我在message里面用stream=false好像也关不了,我只关心最后的完整输出。

JianxinMa commented 3 months ago

你们的项目我非常喜欢,特别是这个fast rag和更慢更准的智能体问答,我的目标是想用这些功能做一个类似于openai api的接口,提问时可以带上pdf等文件名的,然后历史聊天记录不断地去文件内容进行追问,界面我自己可以写一套可以选勾选文件的对话框。现在担心和无法解决的问题如下: 1、我觉得我勾选了小说pdf上传并带上问题后,后续的新追问,应该不需要对整本小说PDF再来一次解析了吧?在原基础上继续答不就行了吗?我担心性能问题,如果小说有20万字的话,每一次问问题都要解析一次整本小说,会不会太慢了。 2、我用webui遇到了问题,所以我改用了test(),我发现for循环里面的stream类输出太烦了,我在message里面用stream=false好像也关不了,我只关心最后的完整输出。

  1. PDF解析有缓存,但检索(关键词生成和关键词检索)有耗时。
  2. 只需要取最后一次回复的话,可以用 *_, final_responses = agent.run(...) 获取流式 iterator 的最后一次输出。
yanghp86 commented 3 months ago

请教一下,pdf解析有缓存,他是根据我的message [{'role': 'user', 'content': [{'text': '介绍图一'}, {'file': 'https://arxiv.org/pdf/1706.03762.pdf'}]}]历史记录中的file:文件的url不变来确认不需要重新做缓存的吗,也就是我的message对象随着对话的增加,只要'file': 'https://arxiv.org/pdf/1706.03762.pdf'这个键对不变,就可以有缓存?他会有时间生命周期吗,我想一直挂载在内存中备用可以吗

JianxinMa commented 3 months ago

请教一下,pdf解析有缓存,他是根据我的message [{'role': 'user', 'content': [{'text': '介绍图一'}, {'file': 'https://arxiv.org/pdf/1706.03762.pdf'}]}]历史记录中的file:文件的url不变来确认不需要重新做缓存的吗,也就是我的message对象随着对话的增加,只要'file': 'https://arxiv.org/pdf/1706.03762.pdf'这个键对不变,就可以有缓存?他会有时间生命周期吗,我想一直挂载在内存中备用可以吗

它是默认缓存在当前工作目录下的workspace目录下的,目前没有设置生命周期。https://github.com/QwenLM/Qwen-Agent/blob/main/qwen_agent/settings.py#L10

yanghp86 commented 3 months ago

如果我在一个会话中,有https://arxiv.org/pdf/1706.03762.pdf这个文件的缓存 ,在另一个会话中,file:"https://arxiv.org/pdf/1706.03762.pdf"会使用他的缓存吗

JianxinMa commented 3 months ago

如果我在一个会话中,有https://arxiv.org/pdf/1706.03762.pdf这个文件的缓存 ,在另一个会话中,file:"https://arxiv.org/pdf/1706.03762.pdf"会使用他的缓存吗

我印象中会复用。

tuhahaha commented 3 months ago

会复用,文件路径(本地路径或url)是文件的唯一id。