Qwen-VL icon indicating copy to clipboard operation
Qwen-VL copied to clipboard

add flask api:新增Flask api接口以支持视觉语言聊天模型的交互

Open zjrwtxdaydayup opened this issue 1 year ago • 2 comments

描述: 本次pull request实现了一个基于Flask框架的简洁API服务器,它提供了两个端点(‘/chat’ 和 ‘/chat_bbox’),允许用户通过POST请求与基于视觉和语言信息的聊天模型进行交互。为了启用这一功能,我们确保了以下几点:

  1. 导入了必要的依赖:Flask库用于创建Web服务,modelscope库用于下载并加载预训练的聊天模型,以及torch库以确保结果的一致性。
  2. 创建了Flask应用实例,并通过两个POST方法提供了API端点。
  3. 通过modelscope库的snapshot_download方法获取到了特定的模型,并利用AutoModelForCausalLM和AutoTokenizer完成了模型及分词器的加载。
  4. 设定了模型的生成配置,并初始化了聊天历史记录变量以保持聊天上下文。
  5. '/chat' 接口可以接收一个包含文本和视觉上下文的JSON对象,并返回模型根据提供的输入生成的聊天回复。
  6. '/chat_bbox' 接口除了返回聊天回复外,还会在最近的图片上绘制边界框,并返回边界框图片的路径。
  7. 在底部附加了使用Python的requests库和curl命令行工具发送API请求的示例。

该功能将极大地方便开发者与聊天模型进行交云,并可直接集成到现有应用中以增强其交互能力。此外,通过提供明确的API请求示例,用户能够快速理解如何使用这两个接口与聊天模型交互。 ab87f2cffaf04c7dd576ee553eb71b0 2d9f712b454e7cc207607728d8805cb

80ce2436fec548929222f71f7eeee52

zjrwtxdaydayup avatar Nov 14 '23 13:11 zjrwtxdaydayup

比官方给的好用

PPsteven avatar Apr 01 '24 07:04 PPsteven

测试下来发现随着请求次数的增加,显存会一直上涨直至OOM,大概5~6张图片显卡就满了,请问是加载模型的问题吗,能优化吗

ybshaw avatar May 27 '24 06:05 ybshaw