【个人开发】llama2部署实践——python部署llama服务(基于GPU加速)
import os
import subprocess
# 设置环境变量
os.environ["TOKENIZERS_PARALLELISM"] = "true"
# 检查是否有可用的GPU,并设置CUDA_VISIBLE_DEVICES
def setup_gpu(num_gpu):
if num_gpu > 0:
# 获取GPU设备数量
gpu_count_output = subprocess.check_output(["nvidia-smi", "-L"]).strip()
gpu_count = gpu_count_output.count(b'\n') if nvidia_smi else 1
if gpu_count < num_gpu:
raise ValueError(f"Requested {num_gpu} GPUs, but only {gpu_count} are available.")
gpu_list = ','.join(map(str, range(num_gpu)))
os.environ["CUDA_VISIBLE_DEVICES"] = gpu_list
# 启动LLaMA 2.0服务
def start_llama_service(num_gpu):
setup_gpu(num_gpu)
subprocess.run(["python", "-m", "llama_2.serve", "--port", "8000"])
# 调用函数,启动服务
start_llama_service(1) # 假设我们只需要使用1个GPU
这段代码首先定义了一个设置GPU的函数,然后定义了一个启动LLaMA服务的函数。在启动服务之前,它会检查是否有可用的GPU,并设置合适的环境变量。最后,它调用函数启动LLaMA服务,这里假设我们只需要1个GPU。
评论已关闭