AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署

简介: AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署

一、引言

今天开始写大语言模型推理服务框架的第三篇——LocalAI,前两篇见

大语言模型推理服务框架—Ollama

大语言模型推理服务框架—Xinference

这个框架相比于前两篇,如果服务器没办法科学上网,学习和使用难度都要上一个台阶,花了几个小时踩了几个坑,将排坑后的内容分享给大家,如果大家觉得有用的话,希望获得您的关注、收藏、点赞及评论。

二、排坑后的Local-AI安装教程

1.docker安装及curl测试

# 拉取LocalAI项目
git clone https://github.com/mudler/LocalAI
 
# 从hf-mirror.com镜像站下载luna-ai-llama2模型,存储在models目录中
wget https://hf-mirror.com/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_0.gguf -O models/luna-ai-llama2
#wget https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_0.gguf -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以及查看文档进一步学习。

感谢各位阅读,花了几个小时踩坑,又花了一段时间写博客,结论就是Local-AI目前不是最好的选择,我帮大家躺过坑了。期待大家的关注、点赞、收藏和评论。

如果还有时间,期待您再看看我的其他文章:

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
9月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
2728 8
|
9月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
3160 18
构建AI智能体:一、初识AI大模型与API调用
|
9月前
|
存储 机器学习/深度学习 人工智能
构建AI智能体:三、Prompt提示词工程:几句话让AI秒懂你心
本文深入浅出地讲解Prompt原理及其与大模型的关系,系统介绍Prompt的核心要素、编写原则与应用场景,帮助用户通过精准指令提升AI交互效率,释放大模型潜能。
1451 7
|
9月前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI上下文工程是优化大模型交互的系统化框架,通过管理指令、记忆、知识库等上下文要素,解决信息缺失、长度溢出与上下文失效等问题。依托AnalyticDB等技术,实现上下文的采集、存储、组装与调度,提升AI Agent的准确性与协同效率,助力企业构建高效、稳定的智能应用。
|
存储 人工智能 自然语言处理
AI经营|多Agent择优生成商品标题
商品标题中关键词的好坏是商品能否被主搜检索到的关键因素,使用大模型自动优化标题成为【AI经营】中的核心能力之一,本文讲述大模型如何帮助商家优化商品素材,提升商品竞争力。
1887 62
AI经营|多Agent择优生成商品标题
|
机器学习/深度学习 人工智能 自然语言处理
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
谷歌最新推出的Gemini 2.0是一款原生多模态输入输出的AI模型,以Agent技术为核心,支持多种数据类型的输入与输出,具备强大的性能和多语言音频输出能力。本文将详细介绍Gemini 2.0的主要功能、技术原理及其在多个领域的应用场景。
1621 20
Gemini 2.0:谷歌推出的原生多模态输入输出 + Agent 为核心的 AI 模型
|
人工智能 自然语言处理 前端开发
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
Director 是一个构建视频智能体的 AI 框架,用户可以通过自然语言命令执行复杂的视频任务,如搜索、编辑、合成和生成视频内容。该框架基于 VideoDB 的“视频即数据”基础设施,集成了多个预构建的视频代理和 AI API,支持高度定制化,适用于开发者和创作者。
1342 9
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
|
机器学习/深度学习 人工智能 算法
Meta Motivo:Meta 推出能够控制数字智能体动作的 AI 模型,提升元宇宙互动体验的真实性
Meta Motivo 是 Meta 公司推出的 AI 模型,旨在控制数字智能体的全身动作,提升元宇宙体验的真实性。该模型通过无监督强化学习算法,能够实现零样本学习、行为模仿与生成、多任务泛化等功能,适用于机器人控制、虚拟助手、游戏角色动画等多个应用场景。
579 4
Meta Motivo:Meta 推出能够控制数字智能体动作的 AI 模型,提升元宇宙互动体验的真实性
|
人工智能 自然语言处理 JavaScript
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统
Agent-E 是一个基于 AutoGen 代理框架构建的智能自动化系统,专注于浏览器内的自动化操作。它能够执行多种复杂任务,如填写表单、搜索和排序电商产品、定位网页内容等,从而提高在线效率,减少重复劳动。本文将详细介绍 Agent-E 的功能、技术原理以及如何运行该系统。
1509 5
Agent-E:基于 AutoGen 代理框架构建的 AI 浏览器自动化系统

热门文章

最新文章