project郑梓妍

我要开发同款
匿名用户2024年07月31日
30阅读
所属分类ai
开源地址https://modelscope.cn/models/listalina/projectZhenziyan

作品详情

Project郑梓妍

AI要大声说出来小队制作的Agent助手

作业1

由于微调合并的agent模型太大,git lfs推了一晚上卡死在50%不动了,目前想取消push但是一直断点续传,暂时找不到中断的办法,想推送lora adapter也不行,网页又提交不了,所以我们只能使用之前做的用来实验的lora情感分析微调提交作业。

训练的情感分析模型adapter在models/sa_2_epoch下面,根据qwen_1_8b进行微调,以下为加载adapter后使用示例代码:

微调具体代码在sa_fintune.ipynb

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

qwen_dir='qwen/Qwen-1_8B-Chat'
model = AutoModelForCausalLM.from_pretrained(
    qwen_dir, 
    device_map='cuda', 
    bf16=True,
    trust_remote_code=True,
    # quantization_config=GPTQConfig(
    #     bits=4, disable_exllama=True
    # )
)
tokenizer = AutoTokenizer.from_pretrained(qwen_dir, trust_remote_code=True)
peft_model = PeftModel.from_pretrained(model, 'models/sa_2_epoch')
peft_model.chat(tokenizer, "商品的不足暂时还没发现,京东的订单处理速度实在.......周二就打包完成,周五才发货...", None, system="")

使用的数据集是SENTI_ROBUST,是一个二分类情感分析,模型回复内容分别为“这句话情感是正面的。”和“这句话情感是负面的。”,在训练集上训练了两个epoch后测试集上测试结果为:

f1_score = 0.928390901432182 precision = 0.9291736930860034 recall = 0.9276094276094277

模型描述

郑梓妍作为Agent助手,大语言模型驱动下她具备基本的对话功能,并且设计的时间性功能能够让她延时地找你对话。当前作为Agent她有一套工具链让她使用,目前能够使用以下工具:

  1. 发邮件。
  2. 绘图。
  3. 发送语音。
  4. 生成文章摘要。
  5. 识别图片的类型。 当然,她在进行任务时不影响与你的交流,且她可以延时、反复进行任务或是中断当前正在执行的任务。

=由于训练数据缺失,郑梓妍目前还不稳定,我们正在想办法=

模型训练

数据集可以通过webui运行后,网页链接/#/dataset链接访问手工构建。

lora微调可以查看目录下的lora_finetune.py文件,里面包含了执行lora微调的代码。

部署模型

环境配置

vllm环境配置:conda: requirements.yaml, pip: requirements.txt

toolkit环境配置:conda: toolkitrequirements.yaml, pip: toolkitrequirements.txt

webui环境配置:

进入webui文件夹,运行npm指令下载前端ui依赖

npm install

模型部署

配置openai.py进行非vllm的部署。

配置api_server.py文件,进行使用vllm推理的部署方式。

运行项目

在vllm环境下,运行api_server.py,进行模型openai接口部署,可以通过连接默认端口19999进行连接。

模型system部分需要使用提示内容,目前使用的是short_system.txt。

在toolkit环境下,运行server.py,进行工具链和后端server部署。

进入webui文件夹,执行指令npm run dev,使用vite运行前端ui。

输入前端UI显示的链接,默认为http://localhost:5173/#/chatView/ + 你的名字,即可进入前端ui。

=注意=:对话通过websocket支持,如果要在移动端进行对话,需要修改socketserver地址,具体进入webui/src/chatView.vue文件,修改变量socketserver的ip部分,修改为局域网内非127.0.0.1的部署本机ip地址。

目前项目在Ubuntu20.04上完全正常运行,api_server默认监听端口19999,server默认监听端口23333。

工具链模型

为了支持发送邮件功能,需要配置以下环境变量:

export SENDER_EMAIL_AUTHENTICATED_CODE="..."
export SENDER_EMAIL_ADDRESS="..."
export DEFAULT_RECIEVER_EMAIL_ADDRESS="..."
export SMTP_SERVER="..."

模型效果

UI说明

对话运行效果图

  1. 非阻塞对话指令效果图

image

image

image

  1. 定时、延时邮件效果图
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论