Qwen-VL
Qwen-VL copied to clipboard
add flask api:新增Flask api接口以支持视觉语言聊天模型的交互
描述: 本次pull request实现了一个基于Flask框架的简洁API服务器,它提供了两个端点(‘/chat’ 和 ‘/chat_bbox’),允许用户通过POST请求与基于视觉和语言信息的聊天模型进行交互。为了启用这一功能,我们确保了以下几点:
- 导入了必要的依赖:Flask库用于创建Web服务,modelscope库用于下载并加载预训练的聊天模型,以及torch库以确保结果的一致性。
- 创建了Flask应用实例,并通过两个POST方法提供了API端点。
- 通过modelscope库的snapshot_download方法获取到了特定的模型,并利用AutoModelForCausalLM和AutoTokenizer完成了模型及分词器的加载。
- 设定了模型的生成配置,并初始化了聊天历史记录变量以保持聊天上下文。
- '/chat' 接口可以接收一个包含文本和视觉上下文的JSON对象,并返回模型根据提供的输入生成的聊天回复。
- '/chat_bbox' 接口除了返回聊天回复外,还会在最近的图片上绘制边界框,并返回边界框图片的路径。
- 在底部附加了使用Python的requests库和curl命令行工具发送API请求的示例。
该功能将极大地方便开发者与聊天模型进行交云,并可直接集成到现有应用中以增强其交互能力。此外,通过提供明确的API请求示例,用户能够快速理解如何使用这两个接口与聊天模型交互。
比官方给的好用
测试下来发现随着请求次数的增加,显存会一直上涨直至OOM,大概5~6张图片显卡就满了,请问是加载模型的问题吗,能优化吗