You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# 菜单推荐系统
|
|
|
|
|
|
|
|
|
|
### 介绍
|
|
|
|
|
|
|
|
|
|
本项目在Huggingface的基础上实现Chatglm2的本地部署,再结合Langchain和本地知识库实现了菜单的智能推荐,拥有菜单推荐、菜品识别、菜单规划、自由对话几种功能。NLP模型和Emmbeding模型可以在设置里自行更换,但需满足Huggingface的要求。最后,通过Gradio实现UI界面的部署。
|
|
|
|
|
### 使用说明
|
|
|
|
|
|
|
|
|
|
使用前建议使用conda创建新的虚拟环境,乙方后面安装依赖包时对原有环境破坏,另外建议python>=3.10,torch>=2.0 。可以依次运行下面的命令。
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda create -n caidan python=3.10
|
|
|
|
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
安装好运行环境后在虚拟环境下运行下面代码启动UI界面。
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
python .\UI界面.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 功能简介
|
|
|
|
|
|
|
|
|
|
##### 菜单推荐
|
|
|
|
|
|
|
|
|
|
基于知识库的菜单推荐:根据输入的饮食喜好,结合本地向量化的知识库进行推荐。
|
|
|
|
|
|
|
|
|
|
基于菜单的推荐:根据输入的饮食喜好,结合上传的文本或图片菜单进行推荐。
|
|
|
|
|
|
|
|
|
|
大模型推荐:根据输入的饮食喜好,模型自由发挥进行推荐。
|
|
|
|
|
|
|
|
|
|
自定义推荐:自定义随机范围,让机器随机选择。
|
|
|
|
|
|
|
|
|
|
##### 智能识别
|
|
|
|
|
|
|
|
|
|
菜品识别: 用户上传照片,模型返回图片中可能的菜品名称。
|
|
|
|
|
|
|
|
|
|
果蔬识别:用户上传照片,模型返回图片中的果蔬名称。
|
|
|
|
|
|
|
|
|
|
补充:菜品识别和果蔬识别都是使用百度的API,需要该功能的可以去申请。没使用本地模型的是为了节省显存,追求性能且现存足够的需自行修改和微调。
|
|
|
|
|
|
|
|
|
|
##### 菜单规划
|
|
|
|
|
|
|
|
|
|
菜单规划有两种模式,可以结合使用。
|
|
|
|
|
|
|
|
|
|
1. 根据输入的食材,返回可以制作的菜品名称。
|
|
|
|
|
2. 根据输入的菜品名称,返回制作的过程和细节。
|
|
|
|
|
|
|
|
|
|
##### 自由对话
|
|
|
|
|
|
|
|
|
|
直接对接NLP模型,可以自由对话。
|
|
|
|
|
|
|
|
|
|
### demo展示
|
|
|
|
|
|
|
|
|
|
#### 菜单推荐
|
|
|
|
|
|
|
|
|
|
![输入图片说明](demo/%E8%8F%9C%E5%8D%95%E6%8E%A8%E8%8D%90--%E7%9F%A5%E8%AF%86%E5%BA%93.png)
|
|
|
|
|
![输入图片说明](demo/%E8%8F%9C%E5%8D%95%E6%8E%A8%E8%8D%90--%E8%87%AA%E5%AE%9A%E4%B9%89%E9%9A%8F%E6%9C%BA.png)
|
|
|
|
|
|
|
|
|
|
#### 菜单规划
|
|
|
|
|
|
|
|
|
|
![输入图片说明](demo/%E8%8F%9C%E5%8D%95%E8%A7%84%E5%88%92-%E5%90%AF%E5%8A%A8-%E8%8F%9C%E5%93%81.png)
|
|
|
|
|
![输入图片说明](demo/%E8%8F%9C%E5%8D%95%E8%A7%84%E5%88%92-%E5%90%AF%E5%8A%A8-%E9%A3%9F%E6%9D%90.png)
|
|
|
|
|
|
|
|
|
|
#### 智能识别
|
|
|
|
|
|
|
|
|
|
![输入图片说明](demo/%E8%8F%9C%E5%93%81%E8%AF%86%E5%88%AB.png)
|
|
|
|
|
![输入图片说明](demo/%E6%9E%9C%E8%94%AC%E8%AF%86%E5%88%AB.png)
|
|
|
|
|
|
|
|
|
|
#### 自由对话
|
|
|
|
|
|
|
|
|
|
![输入图片说明](demo/%E8%87%AA%E7%94%B1%E5%AF%B9%E8%AF%9D.png)
|
|
|
|
|
|