手把手教你搭建免费的大模型应用
myzbx 2025-01-04 21:51 26 浏览
许多用户因为大模型高昂的调用费用和技术门槛而倍感困扰,即便有众多创新的想法,也往往因为无法顺利实现而受阻。
本文将指导您亲手搭建属于自己的本地大模型服务,让您无拘无束地实现创意,并享受低成本的便利。更重要的是,您还将能够拓展更多开源大模型,为生活和工作效率带来质的飞跃。
一、使用效果
本地部署 LLaMA2-7B,模型大小:3.8GB,效果如下:
1、示例一:who are you
>>> who are you
I'm LLaMA, an AI assistant developed by Meta AI that can understand and respond to human input in a conversational manner. I'm here to help you with any
questions or topics you'd like to discuss! How can I assist you today?
2、示例二:Start work on Monday, a week full of vitality and advantages.
>>> Start work on Monday, a week full of vitality and advantages.
Sounds great! I'm glad to hear that you have a productive week ahead of you. Here are some positive affirmations to help you start your week on a high note:
* I am excited and ready to tackle the challenges of the week ahead.
* I am confident in my abilities and know that I can accomplish great things.
* I embrace this week with an open mind and heart, ready to learn and grow.
* I am grateful for the opportunities that lie ahead and look forward to making the most of them.
* I am energized and motivated to make this week a successful and fulfilling one.
Remember, the power to make your week great lies within you. Stay positive, stay focused, and always believe in yourself!
3、示例三:你会中文吗
>>> 你会中文吗
我們可以進行中文交流,但是我的語言能力 limited,因為我的訓練只包括一些基本的中文句子和phrases。如果你有任何特定的問題或話題想要談論,我將try my best to help you。
二、仓库地址
使用 Llama 2、Mistral、Gemma 和其他大型语言模型。
https://github.com/jmorganca/ollama
三、模型库
1、模型库地址
https://ollama.com/library/llama2
Model | Parameters | Size |
Llama 2 | 7B | 3.8GB |
Mistral | 7B | 4.1GB |
Dolphin Phi | 2.7B | 1.6GB |
Phi-2 | 2.7B | 1.7GB |
Neural Chat | 7B | 4.1GB |
Starling | 7B | 4.1GB |
Code Llama | 7B | 3.8GB |
Llama 2 Uncensored | 7B | 3.8GB |
Llama 2 13B | 13B | 7.3GB |
Llama 2 70B | 70B | 39GB |
Orca Mini | 3B | 1.9GB |
Vicuna | 7B | 3.8GB |
LLaVA | 7B | 4.5GB |
2、内存要求
- 7b 模型通常需要至少 8GB 的 RAM;
- 13b 模型通常需要至少 16GB 的 RAM;
- 70b 模型通常需要至少 64GB 的 RAM;
四、代码示例
1、下载源码
按照你的操作系统选择不同的下载地址。
# macOS
https://ollama.com/download/Ollama-darwin.zip
# Windows preview
https://ollama.com/download/OllamaSetup.exe
# Linux
curl -fsSL https://ollama.com/install.sh | sh
2、启动服务
ollama run llama2
3、本地请求
本地启动服务后,可通过 API 请求数据:
curl -X POST http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt":"Why is the sky blue?"
}'
4、API 数据
API 数据按照流式返回:
{"model":"llama2","created_at":"2023-12-25T02:23:41.333728Z","response":"\n","done":false}
{"model":"llama2","created_at":"2023-12-25T02:23:41.587704Z","response":"The","done":false}
{"model":"llama2","created_at":"2023-12-25T02:23:41.787339Z","response":" sky","done":false}
{"model":"llama2","created_at":"2023-12-25T02:23:41.97912Z","response":" appears","done":false}
.....
{"model":"llama2","created_at":"2023-12-25T02:24:23.541595Z","response":".","done":false}
{"model":"llama2","created_at":"2023-12-25T02:24:23.755337Z","response":"","done":true,"context":[518,25580,29962,3532,14816,29903,29958,5299,829,14816,29903,6778,13,13,11008,338,278,14744,7254,29973,518,29914,25580,29962,13,13,1576,14744,5692,7254,1363,310,263,27791,265,2000,9596,280,1141,14801,292,29889,1932,6575,4366,24395,11563,29915,29879,25005,29892,372,2094,1309,2153,21577,13206,21337,310,330,2129,1316,408,21767,307,1885,322,288,28596,29889,4525,13206,21337,14801,278,3578,297,599,18112,29892,541,896,14801,20511,313,9539,29897,281,6447,1477,29879,901,1135,5520,313,1127,29897,281,6447,1477,29879,29889,910,338,2998,408,9596,280,1141,14801,292,29889,13,13,2887,263,1121,310,445,14801,292,29892,278,7254,3578,338,29106,287,10106,278,25005,29892,6820,278,14744,967,17443,7254,2927,29889,450,2654,3578,29892,373,278,916,1361,29892,14517,7812,1549,278,25005,411,2217,14801,292,29892,607,338,2020,278,28205,5692,901,2654,1135,278,14744,29889,13,13,1576,7254,2927,310,278,14744,508,884,367,15201,491,916,13879,1316,408,21180,918,29892,19786,29892,322,4094,325,26191,297,278,25005,29892,607,508,14801,278,3578,297,1422,5837,322,7738,263,3464,310,11955,29889,2398,29892,278,1667,4556,310,278,7254,2927,310,278,14744,338,9596,280,1141,14801,292,29889],"total_duration":56899446480,"load_duration":10037867844,"prompt_eval_count":26,"prompt_eval_duration":4662218000,"eval_count":210,"eval_duration":42167419000}
5、流式输出
前端拿到数据后通过 SSE 协议进行流式输出:
SSE:Server-Sent Events (SSE) 是一种基于 HTTP 协议的服务器推送技术,它允许服务器向客户端发送数据和信息。与 WebSocket 不同,SSE 是一种单向通信方式,只有服务器可以向客户端推送消息。SSE 是 HTML5 规范的一部分,使用非常简单,主要由服务端与浏览器端的通讯协议(HTTP协议)和 EventSource 接口来处理 Server-sent events 组成,服务器端的响应的内容类型是“text/event-stream”。
6、监听数据变化
前端实现非常简单,创建一个 SSE 的实例然后监听数据的状态即可:
let reply = ''
const evtSource = new EventSource(`${baseUrl}/chat?content=你好`);
evtSource.onmessage = (event) => {
// 流式数据最后一条的状态为[DONE]代表结束返回
if(event.data === '[DONE]') {
console.log(`回答完毕!:${reply}`)
} else {
const res = JSON.parse(event.data)
reply += res.choices[0].delta.content || ''
}
}
原创热门文章分享
相关推荐
- 零基础入门AI智能体:详细了解什么是变量类型、JSON结构、Markdown格式
-
当品牌跳出固有框架,以跨界联动、场景创新叩击年轻群体的兴趣点,一场关于如何在迭代中保持鲜活的探索正在展开,既藏着破圈的巧思,也映照着与新一代对话的密码。在创建AI智能体时,我们会调用插件或大模型,而在...
- C# 13模式匹配:递归模式与属性模式在真实代码中的性能影响分析
-
C#13对模式匹配的增强让复杂数据处理代码更简洁,但递归模式与属性模式的性能差异一直是开发者关注的焦点。在实际项目中,选择合适的模式不仅影响代码可读性,还可能导致执行效率的显著差异。本文结合真实测试...
- 零基础快速入门 VBA 系列 6 —— 常用对象(工作簿、工作表和区域)
-
上一节,我介绍了VBA内置函数以及如何自动打字和自动保存文件。这一节,我们来了解一下Excel常用对象。Excel常用对象Excel有很多对象,其中最常用也最重要的包括以下3个:1.Workbo...
- 不同生命数字的生肖龙!准到雷普!
-
属龙的人总在自信爆棚和自讨苦吃之间反复横跳?看完这届龙宝宝的日常我悟了。属龙的人好像天生自带矛盾体:领导力超强可人缘时好时坏,工作雷厉风行却总在爱情里翻车。关键年份的龙性格差异更大——76年龙靠谱但不...
- 仓颉编程语言基础-面向对象编程-属性(Properties)
-
属性是仓颉颉中一种强大的机制,它允许你封装对类(或接口interface、结构体struct、枚举enum、扩展extend)内部状态的访问。它看起来像一个普通的成员变量(字段),但在其背后,它通过...
- Python中class对象/属性/方法/继承/多态/魔法方法详解
-
一、基础入门:认识类和对象1.类和对象的概念在Python中,类(class)是一种抽象的概念,用于定义对象的属性和行为,而对象(也称为实例)则是类的具体表现。比如,“汽车”可以是一个类,它有...
- VBA基础入门:搞清楚对象、属性和方法就成功了一半
-
如果你刚接触VBA(VisualBasicforApplications),可能会被“对象”“属性”“方法”这些术语搞得一头雾水。但事实上,这三个概念是VBA编程的基石。只要理解它们之间的关系,...
- P.O类型文推荐|年度编推合集(一百九十五篇)
-
点击左上方关注获取更多精彩推文目录2019年度编推35篇(1V1)《悖论》作者:流苏.txt(1V1)《桂花蒸》作者:大姑娘浪.txt(1V1)《豪门浪女》作者:奚行.txt...
- Python参数传递内存大揭秘:可变对象 vs 不可变对象
-
90%的Python程序员不知道,函数参数传递中可变对象的修改竟会导致意想不到的副作用!一、参数传递的本质:对象引用传递在Python中,所有参数传递都是对象引用的传递。这意味着函数调用时传递的不是对...
- JS 开发者必看!TC39 2025 最新动向,这些新语法要火?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。TC39第...
- 2025 年值得尝试的 5 个被低估的 JavaScript 库
-
这些JavaScript库可能不会在社交媒体或HackerNews上流行起来,但它们会显著提高您的工作效率和代码质量。JavaScript不再只是框架。虽然React、Vue和Sv...
- Python自动化办公应用学习笔记30—函数的参数
-
一、函数的参数1.形参:o定义:在函数定义时,声明在函数名后面括号中的变量。o作用:它们是函数内部的占位符变量,用于接收函数被调用时传入的实际值。o生命周期:在函数被调用时创建,在函数执...
- 16种MBTI人格全解析|测完我沉默了三秒:原来我是这样的人?
-
MBTI性格测试火了这么久,你还不知道自己是哪一型?有人拿它当社交话题,有人拿它分析老板性格,还有人干脆当成择偶参考表。不废话,今天我一次性给你整理全部16种MBTI人格类型!看完你不仅能知道自己是谁...
- JS基础与高级应用: 性能优化
-
在现代Web开发中,性能优化已成为前端工程师必须掌握的核心技能之一。本文从URL输入到页面加载完成的全过程出发,深入分析了HTTP协议的演进、域名解析、代码层面性能优化以及编译与渲染的最佳实践。通过节...
- 爱思创CSP-J/S初赛模拟赛线上开赛!助力冲入2024年CSP-J/S复赛!
-
CSP-J/S组初赛模拟赛爱思创,专注信奥教育19年,2022年CSP-J/S组赛事指定考点,特邀NOIP教练,开启全真实CSP-J/S组线上初赛模拟大赛!一、比赛对象:2024年备考CSP-J/S初...
- 一周热门
- 最近发表
-
- 零基础入门AI智能体:详细了解什么是变量类型、JSON结构、Markdown格式
- C# 13模式匹配:递归模式与属性模式在真实代码中的性能影响分析
- 零基础快速入门 VBA 系列 6 —— 常用对象(工作簿、工作表和区域)
- 不同生命数字的生肖龙!准到雷普!
- 仓颉编程语言基础-面向对象编程-属性(Properties)
- Python中class对象/属性/方法/继承/多态/魔法方法详解
- VBA基础入门:搞清楚对象、属性和方法就成功了一半
- P.O类型文推荐|年度编推合集(一百九十五篇)
- Python参数传递内存大揭秘:可变对象 vs 不可变对象
- JS 开发者必看!TC39 2025 最新动向,这些新语法要火?
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)
- 时钟启动 (33)
- HTML 游戏 (34)
- JS Loop For (32)