Skip to content

Latest commit

 

History

History
67 lines (56 loc) · 3.55 KB

README.md

File metadata and controls

67 lines (56 loc) · 3.55 KB

影响力

本地部署

依赖:

  • node.js 16.20.2
  • MySql 5.7.24

前端:

  • 在终端中打开CinemaManagerUserVueCinemaManagerAdminVue,执行npm install
  • 下载完依赖项后,执行npm run serve,即可看到前端的入口:
  App running at:
  - Local:   http://localhost:9232/ 
  - Network: http://192.168.1.107:9232/

如果此前由较高版本的 node.js 降级到 16,可能会出现有关 openssl 的问题。 对于单次运行的解决方法,可在对应命令行中执行:

MacOS/Linux
export NODE_OPTIONS=--openssl-legacy-provider

Windows
set NODE_OPTIONS=--openssl-legacy-provider

后端:

  • 新建数据库cinema_manager,导入CinemaManagerApi/cinema_manager.sql
  • CinemaManagerApi/src/main/resources/application.yml中修改数据库的用户名与密码
  • 确保数据库已连接,运行CinemaManagerApi/src/main/java/com/influence/cm/CinemaManagerApplication.java
  • 此时终端若无报错,前端页面应正常显示电影封面等数据

模型部署: 基座模型为 Qwen2.5-7B-Instruct,InfluenceAgent/lora中提供 safetensor 格式的 LoRa 权重, InfluenceAgent/gguf中提供 gguf 格式的 LoRa 权重。

  • 提供量化后的 gguf 格式的模型权重,只用 CPU 也可以在本地使用 llama.cpp 进行部署,模型权重已上传至魔搭社区:https://modelscope.cn/models/ScarletHyde/InfluenceAgent/files
  • 提供已编译好的 llama.cpp 多平台可执行文件,见InflenceAgent/llama.cpp/build/bin/{your_environment}。进入该目录,启动模型服务指令为:
    # ./llama-server -m InfluenceAgent-Q2_K.gguf -c 2048 --port 8080
    ./llama-server -m <gguf_model_path> -c 2048 --port 8080 
    

    InfluenceAgent/models中提供的模型已经合并了 lora 权重,无需使用--lora重复加载

  • 该服务满足 OpenAI 接口格式,但没有鉴权(可使用--api-key设置),在CinemaManagerUserVue/src/components/AiChatBox.vuehttp://localhost:8080/v1/chat/completions改为对应的 IP 及端口号,即可在主页正常进行与影响力智能影院助手的对话。Postman 接口测试示例: alt text
  • 如果只是想在本地命令行中进行测试,可以使用llama-cli,参考指令如下:
    # ./llama-cli -m InfluenceAgent-Q2_K.gguf -p "你好,我是影响力智能影院助手,为你提供电影问答与推荐服务~!" -cnv
    ./llama-cli -m <gguf_model_path> -p "你好,我是影响力智能影院助手,为你提供电影问答与推荐服务~!" -cnv
    

    如果在 Windows 环境下,很有可能因为终端默认 GBK 而不是 UTF-8 而出现奇怪的回复。

模型微调

基座模型采用 Qwen2.5-7B-Instruct,使用 alpaca 格式的 InfluenceAgent/data中的influence_identity.jsoninfluence_demo_train.json作为训练集,influence_demo_test.json为验证集。

合成数据的获取方式见InfluenceAgent/make_dataset.ipynb

微调平台为阿里云 DSW 开发环境,使用 LLaMa_Factory 进行 LoRa 微调,环境配置与参数设置参考:https://help.aliyun.com/zh/pai/use-cases/fine-tune-a-llama-3-model-with-llama-factory

微调参数设置: alt text

微调 loss 可视化: alt text

微调后在验证集上的结果:

ROUGE-1 ROUGE-2 ROUGE-L
39.8 22.6 37.5