1 安装anaconda3 详见文章1安装unbuntu

2 创建python虚拟环境

conda create -n acp1 python=3.10.15 -y -q

// 查看环境
conda env list

// 激活环境
conda activate learnacp
// 根据自己需求配置requirements.txt
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ 

3安装pytorch及其他组件

  • pytorch官网: https://pytorch.org/get-started/previous-versions/
conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.4 -c pytorch -c nvidia

pip install vllm==0.6.2 modelscope==1.20.1

4下载模型文件到本地。

  • modelscope模型下载官网: https://modelscope.cn/models
mkdir -p ./model/qwen2_5-1_5b-instruct

modelscope download --model qwen/Qwen2.5-1.5B-Instruct --local_dir './model/qwen2_5-1_5b-instruct'

modelscope download --model Qwen/Qwen-1_8B-Chat --local_dir './model/Qwen-1_8B-Chat'

  • 也可通过python代码下载模型
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen2.5-1.5B-Instruct',local_dir='model/Qwen2.5-1.5B-Instruct')

5运行模型

vllm文档: https://docs.vllm.ai/en/latest/getting_started/quickstart.html

vllm serve "./model/Qwen2.5-1.5B-Instruct" --load-format "safetensors" --port 8000

# 后台运行服务,且服务的运行日志存储到vllm.log
nohup vllm serve "./model/qQwen-1_8B-Chat" --load-format "safetensors" --port 8000 > vllm.log 2>&1 &

6调用大模型

from openai import OpenAI
# import os

client = OpenAI(
    api_key='none',
    base_url="http://127.0.0.1:8000/v1",
)

def get_qwen_response(prompt):
    
    response = client.completions.create(
        model="./model/Qwen2.5-1.5B-Instruct",
        
        prompt=prompt
        
    )
    return response.choices[0]
    
response = get_qwen_response("我们公司项目管理应该用什么工具")
print("response:")
print(response)
response:
CompletionChoice(finish_reason='length', index=0, logprobs=None, text='? 这取决于您的项目管理需求。下面是一些流行的项目管理工具', stop_reason=None, prompt_logprobs=None)

7 也可在python文件中运行大模型并调用

from vllm import LLM, SamplingParams

# 初始化模型
model_name = "/home/wh/桌面/ACP_大模型/aliyun_acp_learning/大模型ACP认证教程/model/Qwen2.5-1.5B-Instruct"  # 替换为你的模型名称或路径
llm = LLM(model=model_name)

# 设置采样参数
sampling_params = SamplingParams(
    temperature=0.8,  # 温度参数,控制输出多样性
    top_p=0.95,       # 核采样概率
    max_tokens=100    # 最大生成token数
)

# 输入提示
prompt = "Once upon a time, there was a"
print('输入提示', prompt)
# 生成文本
outputs = llm.generate([prompt], sampling_params=sampling_params)
print('生成文本', outputs)
# 打印结果
for output in outputs:
    print(output.outputs[0].text)

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐