Phi-3-mini-128k-instruct部署教程:HTTPS反向代理配置+Chainlit域名访问实战

Phi-3-mini-128k-instruct部署教程:HTTPS反向代理配置+Chainlit域名访问实战 Phi-3-mini-128k-instruct部署教程HTTPS反向代理配置Chainlit域名访问实战1. 准备工作与环境搭建在开始部署Phi-3-mini-128k-instruct模型之前我们需要确保系统环境满足基本要求。这个轻量级的38亿参数模型虽然对硬件要求不高但仍需要适当的配置才能发挥最佳性能。1.1 系统要求操作系统推荐使用Ubuntu 20.04 LTS或更高版本Python环境Python 3.8或更高版本GPU支持至少16GB显存的NVIDIA GPU如RTX 3090内存建议32GB或以上存储空间至少20GB可用空间1.2 安装依赖项首先安装必要的Python包和系统依赖# 安装系统依赖 sudo apt update sudo apt install -y \ build-essential \ python3-dev \ python3-pip \ nginx \ certbot # 创建Python虚拟环境 python3 -m venv phi3-env source phi3-env/bin/activate # 安装Python依赖 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install vllm chainlit2. 使用vLLM部署Phi-3-mini-128k-instructvLLM是一个高效的大语言模型推理和服务库特别适合部署像Phi-3这样的轻量级模型。2.1 启动模型服务创建一个简单的Python脚本来启动模型服务# serve_phi3.py from vllm import LLM, SamplingParams # 初始化模型 llm LLM( modelmicrosoft/Phi-3-mini-128k-instruct, tensor_parallel_size1, # 根据GPU数量调整 trust_remote_codeTrue ) # 定义采样参数 sampling_params SamplingParams( temperature0.7, top_p0.9, max_tokens2048 ) # 简单的生成函数 def generate(prompt): outputs llm.generate([prompt], sampling_params) return outputs[0].text if __name__ __main__: while True: prompt input(请输入问题: ) print(generate(prompt))使用以下命令启动服务nohup python serve_phi3.py /root/workspace/llm.log 21 2.2 验证服务运行检查服务是否正常运行cat /root/workspace/llm.log如果看到类似以下的输出说明服务已成功启动Initializing vLLM engine... Loading model weights... Model successfully loaded, ready for inference.3. 配置Chainlit前端Chainlit是一个强大的聊天界面框架可以轻松为LLM模型创建交互式前端。3.1 创建Chainlit应用创建一个新的Python文件app.py# app.py import chainlit as cl from vllm import LLM, SamplingParams # 初始化模型 llm LLM(modelmicrosoft/Phi-3-mini-128k-instruct) cl.on_chat_start async def on_chat_start(): await cl.Message(contentPhi-3-mini-128k-instruct已就绪请问有什么可以帮您).send() cl.on_message async def on_message(message: cl.Message): # 设置生成参数 sampling_params SamplingParams( temperature0.7, top_p0.9, max_tokens2048 ) # 生成响应 response llm.generate([message.content], sampling_params) # 发送响应 await cl.Message(contentresponse[0].text).send()3.2 启动Chainlit服务使用以下命令启动Chainlitchainlit run app.py -w --port 8000现在可以通过浏览器访问http://localhost:8000来与模型交互。4. 配置Nginx反向代理与HTTPS为了安全地通过域名访问服务我们需要配置Nginx反向代理并启用HTTPS。4.1 配置Nginx反向代理创建Nginx配置文件/etc/nginx/sites-available/phi3server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:8000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }启用配置并重启Nginxsudo ln -s /etc/nginx/sites-available/phi3 /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx4.2 获取SSL证书使用Certbot获取免费的Lets Encrypt SSL证书sudo certbot --nginx -d your-domain.com按照提示完成证书安装过程。Certbot会自动更新Nginx配置以启用HTTPS。5. 验证完整部署现在您应该能够通过HTTPS访问您的Phi-3-mini-128k-instruct服务打开浏览器访问https://your-domain.com在Chainlit界面中输入问题如请解释量子计算的基本原理观察模型的响应质量和速度6. 常见问题解决6.1 模型加载失败如果模型无法加载请检查网络连接是否正常是否有足够的磁盘空间是否正确安装了所有依赖项6.2 Chainlit无法连接如果Chainlit前端无法连接后端服务检查vLLM服务是否正常运行ps aux | grep python检查端口是否正确映射netstat -tulnp | grep 80006.3 HTTPS证书问题如果遇到证书问题检查证书是否过期sudo certbot certificates手动更新证书sudo certbot renew7. 总结通过本教程我们完成了Phi-3-mini-128k-instruct模型的完整部署流程包括使用vLLM高效部署模型服务配置Chainlit提供友好的交互界面设置Nginx反向代理实现域名访问通过Certbot获取并配置SSL证书这套方案不仅适用于Phi-3-mini-128k-instruct也可以轻松适配其他类似规模的LLM模型。通过HTTPS访问确保了通信安全而反向代理配置则提高了服务的可靠性和可扩展性。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。