数字人开发01--后端服务配置

发布于:2025-08-03 ⋅ 阅读:(19) ⋅ 点赞:(0)

这是一个系列文章,主要介绍基于大模型的实时数字人的开发,本文是第一篇,主要介绍后端服务器环境的配置。

0、服务器硬件

我采用的是ucloud的云端服务器,配有3090的显卡,1.5元/时。操作系统用的是ubuntu22.04。

1、NVIDIA 驱动安装

sudo apt update
sudo apt install ubuntu-drivers-common

# 自动安装合适的版本
sudo ubuntu-drivers install
#安装完成后重启
sudo shutdown -r now

#重启完成后,验证
nvidia-smi

2、安装python

#安装python
sudo apt install python3 python3-pip python3-dev

#安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh

uv在国内,比较麻烦,用上面的命令几乎成功不了。用下面命令再次尝试:

# 安装
pip install uv

#验证
uv --version

# 配置环境变量
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc 

#再次验证
uv --version

在这里插入图片描述
测试一下,新建一个项目:

mkdir -p ~/work
cd ~/work
uv init my_adh
cd my_adh

改源:
进入my_adh目录,找到pyproject.toml, 在开头加入下面内容:

[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true

保存,添加openai的库:

uv add openai

在这里插入图片描述

3、大模型本地部署

3.1、安装ollama:

curl -fsSL https://ollama.com/install.sh | sh

编辑服务:

sudo systemctl edit ollama.service

添加如下内容:

[Service]
Environment=“OLLAMA_HOST=0.0.0.0”

3.2、安装大模型:

ollama run qwen3:8b

ollama run deepseek-r1:7b

下面是测试代码,用于测试本地模型。

import os                                                                                                               
from openai import OpenAI                                                                                               
                                                                                                                                                                          
client = OpenAI(                                                                                                        
    api_key = "ollama",                                                                                                 
    base_url = "http://localhost:11434/v1"                                                                              
)                                                                                                                       
                                                                                                                        
completion = client.chat.completions.create(                                                                            
    # model="deepseek-r1",                                                                      
    model="qwen3:8b", # 可按需更换模型名称,名称要和ollama list中的名字对上                                                                               
    messages=[                                                                                                          
        {'role': 'user', 'content': '西安有名的地方有哪些?'}                                                                    
    ]                                                                                                                   
)                                                                                                                       
                                                                                                                        
print(" 最终答案:")                                                                                                     
print(completion.choices[0].message.content)      

好了,第一篇结束了。
//~~