一、引言 今天开始写大语言模型推理服务框架的第三篇——LocalAI,前两篇见 大语言模型推理服务框架—Ollama 大语言模型推理服务框架—Xinference 这个框架相比于前两篇,如果服务器没办法科学上网,学习和使用难度都要上一个台阶,花了几个小时踩了几个坑,将排坑后的内容分享给大家,如果大家觉得有用的话,希望获得您的关注、收藏、点赞及评论。 二、排坑后的Local-AI安装教程 1.docker安装及curl测试 # 拉取LocalAI项目
git clone [url]https://github.com/mudler/LocalAI[/url]
# 从hf-mirror.com镜像站下载luna-ai-llama2模型,存储在models目录中
wget [url]https://hf-mirror.com/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_0.gguf[/url] -O models/luna-ai-llama2
#wget [url]https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_0.gguf[/url] -O models/luna-ai-llama2
# 将提示词模版中的getting_started.tmpl复制到models目录并和模型文件同名+.tmpl后缀
cp -rf prompt-templates/getting_started.tmpl models/luna-ai-llama2.tmpl
# docker拉取并启动aio-gpu镜像
# 指定--models-path为/models
# 将宿主机/xxx/LocalAI/models与container内的models目录进行关联,方便在宿主机修改文件
docker run -tid --name local-ai -p 16080:8080 --gpus all -v /xxx/LocalAI/models:/models localai/localai:latest-aio-gpu-nvidia-cuda-12 --models-path /models
# 查看当前服务下的模型列表
curl http://宿主机ip:16080/v1/models
# 返回:{"object":"list","data":[{"id":"luna-ai-llama2","object":"model"}]}
# 测试模型是否启动
curl http://宿主机ip:16080/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "luna-ai-llama2","messages": [{"role": "user", "content": "who are you?"}],"temperature": 0.9}'
# 返回:{"created":1715329633,"object":"chat.completion","id":"e24ccbb9-3908-4e92-b25a-f5861c2582ce","model":"luna-ai-llama2","choices":[{"index":0,"finish_reason":"stop","message":{"role":"assistant","content":"I am a 28-year-old software developer living in New York City.\u003c/s\u003e"}}],"usage":{"prompt_tokens":10,"completion_tokens":19,"total_tokens":29}}
几个注意的点: 如果服务器在境内且不能科学上网,需要将huggingface.co替换为hf-mirror.com,hf-mirror.com是huggingface.co的镜像站,完全复刻huggingface.co 镜像选择localai/localai:latest-aio-gpu-nvidia-cuda-12,aio(all-in-one)镜像内集成了文生文、文生图、图生文、语音转文本、文本转语音等模型,目标是方便使用多种模型,但其实每次使用都要现从huggingface.co上拉取,境内服务器苦不堪言 模型下载好,就可以用curl使用了,采用OpenAI兼容的API,这个还是不错的 2.解决AIO镜像无法从hf拉取模型的问题 进入到models目录,yaml是aio集成模型的配置文件  打开修改镜像地址:将download_files内uri路径中的huggingface.co替换为hf-mirror.com  如果不是https开头的uri,比如b3d7d7ab5e9969a1408e28d5d7cd22f7.yaml  可以将uri替换为https开头的路径,直接到hf-mirror搜索到对应的模型,将模型路径中的blog/main改成resolve/main即为模型的下载路径 三、Local-AI前端 登陆"宿主机ip:port",比如123.123.123.123:16080,16080是docker启动时设置的。 1.Home  2.Models 进入到Models可以搜索需要的模型并且安装(搜了些国内的,很优先,更新没那么及时。  3.API 进入到API界面,列出了API调用说明,以OpenAI兼容API的形式对外提供。  四、总结 本文列出了排坑后的Local-AI安装教程,及Local-AI前端,个人感觉,比如很友好,特别是对境内服务器开发者,建议还是看前两篇文章,选择Xinference和Ollama吧。如果仍然感兴趣,可以登陆项目github以及查看文档进一步学习。 博客原文:专业人工智能技术社区 |