llama-factory生成Meta-Llama-3-8B-Instruct模型api服务

 使用llama-factory完成模型的微调训练后,需要开启其api服务进行调用,参考官方https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/inference/llama3_lora_sft.yaml 中的内容进行改写

API 实现的标准是参考了OpenAI的相关接口协议,基于uvicorn服务框架进行开发, 使用如下的方式启动:

下述为官方使用模型的示例

model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct
adapter_name_or_path: saves/llama3-8b/lora/sft
template: llama3
finetuning_type: lora

 下述为启动api服务示例,此处展示的为直接使用原始本地模型进行api服务启动

set CUDA_VISIBLE_DEVICES=0
set API_PORT=8000
python src\api.py ^
    --model_name_or_path F:\models\Meta-Llama-3-8B-Instruct ^
    --template llama3
可选
    --infer_backend vllm ^
    --vllm_enforce_eager

需要注意的是 src\api.py 是llama-factory文件中提供的api服务文件 确认好路径和文件名。

启动成功后:

llama-factory生成Meta-Llama-3-8B-Instruct模型api服务_第1张图片

遇到的问题:

1、需注意transformer版本和llama-factory版本适配问题

transformers 需要在4.41.24.43.4 之间的版本

2、很奇怪的问题是通过vllm的推理后端,会出现版本冲突的问题

安装了vllm 会因为transformers不是最新版本而找不到vllm._C

但是如果transformers为最新版本,又会兼容不了llama-factory,所以就弃用了vllm的方法,把vllm卸掉了

你可能感兴趣的:(llama,人工智能,transformer)