隐私第一:在几分钟内部署本地大语言模型!

news2025/2/5 8:09:29

Image

彻底改变您的数据安全游戏:快速无缝部署本地大语言模型,实现无与伦比的隐私!

2023年是人工智能领域加速发展的一年。除了健壮的商业上可用的大型语言模型之外,还出现了许多值得称赞的开源方案,例如Llama2、Codellama、Mistral和Vicuna。虽然商业大模型ChatGPT、Bard和Claude等拥有强大的功能,但它们带来了相关的成本和固有的安全问题。在必须确保数据安全的特定场景中,考虑部署本地大型语言模型是一种可行的选择。

在本文中,我将介绍如何使用Ollama来运行Llama2和其他大型语言模型。

安装 Ollama
 

目前ollama只支持macOS和Linux, Windows平台正在开发中。我们可以访问这个链接下载特定平台的ollama。

Image

macOS版本下载完成后,解压缩“olama -darwin.zip”文件。随后,双击Ollama可执行文件启动安装过程。

在安装过程中,系统将提示您决定是否将Ollama应用程序移动到系统的Applications目录。在这个例子中,我选择移动到应用程序:

Image

请按照软件安装指南逐步进行安装。

Image

要运行Llama2,只需在终端中执行命令 ollama run llama2 。执行此命令后,Llama2模型将被自动下载:

Image

除了Llama2模型,Ollama还支持多种模型。您可以通过访问模型存储库来探索模型的全面列表。

Image

注意:运行3B机型至少应该有8gb内存,运行7B机型至少应该有16gb内存,运行13B机型至少应该有32gb内存。

成功下载模型后,您可以与llama2模型进行交互:

Image


Ollama CLI

利用Ollama CLI,您可以毫不费力地对模型执行各种操作。这些操作包括创建、拉取、删除或复制模型等。

创建一个模型

ollama create example -f Modelfile

拉取一个模型

ollama pull llama2

该命令还可以用于更新本地模型。只有diff会被拉动。

删除模型

ollama rm llama2

复制模型

ollama cp llama2 my-llama2

除了上述命令之外,Ollama CLI还提供了其他各种命令。执行 ollama --help 命令可以查看完整的命令列表:

(base) ➜  ~ ollama --helpLarge language model runner
Usage:  ollama [command]
Available Commands:  serve       Start ollama  create      Create a model from a Modelfile  show        Show information for a model  run         Run a model  pull        Pull a model from a registry  push        Push a model to a registry  list        List models  cp          Copy a model  rm          Remove a model  help        Help about any command
Flags:  -h, --help      help for ollama  -v, --version   version for ollama

启动本地服务器
 

如果不希望直接在终端中与大型语言模型交互,可以使用命令 ollama serve 启动本地服务器。一旦这个命令成功运行,你就可以通过REST API与本地语言模型进行交互:​​​​​​​

curl http://localhost:11434/api/generate -d '{  "model": "llama2",  "prompt":"Why is the sky blue?"}'

Image

在实际项目中,我们可以利用封装在langchainjs中的ChatOllama对象有效地与Ollama进行交互。

ChatOllama

Ollama支持JSON模式,支持从大型语言模型中强制执行有效的JSON输出。现在,让我们深入研究如何利用封装在langchainjs中的ChatOllama对象来实现文本翻译功能。

  1. 初始化ChatOllama项目

mkdir ChatOllamanpm init -y

2. 安装langchainjs​​​​​​​

npm install -S langchain # oryarn add langchain # orpnpm add langchainjs

3. 创建索引。​​​​​​​

import { ChatOllama } from "langchain/chat_models/ollama";import { ChatPromptTemplate } from "langchain/prompts";
const prompt = ChatPromptTemplate.fromMessages([  [    "system",    `You are an expert translator. Format all responses as JSON objects with two keys: "original" and "translated".`,  ],  ["human", `Translate "{input}" into {language}.`],]);
const model = new ChatOllama({  baseUrl: "http://localhost:11434", // Default value  model: "llama2", // Default value  format: "json",});
const chain = prompt.pipe(model);
const result = await chain.invoke({  input: "I love programming",  language: "German",});
console.log(result);

随后,在项目根目录下,打开终端,执行命令 node index.mjs 。成功运行上述命令后,终端将输出如下结果:

Image

除了实现文本翻译功能之外,您还可以探索大量不同的功能。例如,您可以开发检索增强生成(Retrieval Augmented Generation, RAG)应用程序来有效地完成信息检索。

总结
 

本文概述了如何使用Ollama在本地快速部署开源大型语言模型。它还引入了封装在langchainjs中的ChatOllama对象,用于实现文本翻译功能。此外,Ollama支持自定义模型,允许以GGUF格式导入模型。如果您对自定义模型感兴趣,您可以探索“自定义您自己的模型”部分中的内容。

如果您在使用过程中遇到任何问题,建议您首先查阅由Ollama提供的FAQ文档。

欢迎关注微信公众号:文本魔术,了解更多 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1337117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙开发中的坑(持续更新……)

最近在使用鸿蒙开发时,碰到了一些坑,特做记录,如:鸿蒙的preview不能预览,轮播图组件Swiper使用时的问题,console.log() 打印的内容 一、鸿蒙的preview不能预览 首先,只有 ets文件才能预览。 其…

HarmonyOS应用抓包实战

Charles抓包原理 Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。 在开发OpenHarmony/HarmonyOS应用开发时,我们使用的是ohos/axios来进行网络…

2023.12.25 关于 Redis 数据类型 Hash 常用命令、内部编码、应用场景

目录 Hash 数据类型 Hash 操作命令 HSET HGET HEXISTS HDEL HKEYS HVALS HGETALL HMGET HLEN HSETNX HINCRBY HINCRBYFLOAT HSTRLEN Hash 编码方式 理解什么是压缩 Hash 实际应用 Cache 缓存 Hash 数据类型 整体上来说 Redis 是键值对结构,其中 …

基于JSP+Servlet+Mysql的学生宿舍管理系统(简单的增删改查)

基于JSPServletMysql的学生宿舍管理系统 一、系统介绍二、功能展示1.登陆、注册2.主页3.增加3.修改4.删除 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目名称:基于JSPServletMysql的学生宿舍管理系统(简单的增删改查) 项目架构:B/S架构 开发语…

电视盒子什么品牌好?经销商分享线下热销电视盒子排行榜

做实体数码店已经超过六年了,我对电视盒子这行是非常了解的,品牌的优势和特色都有研究,超级多网友在讨论电视盒子什么品牌好,我整理了店铺内销量最高的电视盒子排行榜,想知道目前哪些电视盒子最受消费者欢迎&#xff0…

真实案例扫描APP开发——基于实例分割实现拍照文档实时边缘检测(C++/JNI实现)

前言 这是一个安卓NDK的项目,想要实现的效果就是拍照扫描,这里只涉及到的只有边缘检测,之后会写文档滤镜、证件识别与证件1比1打印,OCR、版面分析之后的文档还原。我的开发环境是Android Studio 北极狐,真机是华为mat…

详解Keras3.0 Layer API: LSTM layer

LSTM layer 用于实现长短时记忆网络,它的主要作用是对序列数据进行建模和预测。 遗忘门(Forget Gate):根据当前输入和上一个时间步的隐藏状态,计算遗忘门的值。遗忘门的作用是控制哪些信息应该被遗忘,哪些…

最新版手机无人直播硬改虚拟摄像头,支持多平台修改手机摄像头【硬改神器+使用教程】

最新版手机无人直播助手App安卓版介绍: 顺哥轻创V:shundazy1 这是一款兼容性强大的手机无人直播工具,是无人直播神器,不依赖电脑,手机无需root权限,不需要装xp框架,支持主流平台兼容性极佳,1V…

BEECMS靶场 -->漏洞挖掘

这几天,一天一个靶场(累鼠我啦),哈哈哈,也算是积累了不少经验,今天,我们就来讲一下BEECMS靶场吧!!! 先是直接进入到他的界面…

MySQL——进阶篇

二、进阶篇🚩 1. 存储引擎🍆 1.1 MSQL体系结构 连接层: 连接处理,连接认证,每个客户端的权限 服务层: 绝大部分核心功能,可跨存储引擎 可插拔存储引擎: 需要的时候可以添加或拔掉…

【Vue】computed详解

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

实习课知识整理3:首页商品列表的展示

对于一个购物商城的项目,主体还得是商品,这篇博客主要介绍如何将数据库中的信息渲染到页面上,这边后端是SpringBoot,前端是html配合thymeleaf模板 1. 编写查询数据库的方法 在这边我在页面上需要两部分的信息,一个是所有的商品&am…

1233. 全球变暖(bfs宽搜相邻点)

题目&#xff1a; 1233. 全球变暖 - AcWing题库 思路&#xff1a;bfs 1.临接问题&#xff0c;最短路径问题--->bfs。 2.被完全淹没--->岛屿所以部分均临海。 代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N1010; struct Point …

Leetcode---376周赛---中位数贪心

题目列表 2965. 找出缺失和重复的数字 2966. 划分数组并满足最大差限制 2967. 使数组成为等数数组的最小代价 2968. 执行操作使频率分数最大 一、找到缺失和重复的数字 由于数据范围不是很大&#xff0c;可以直接暴力统计每个数字出现的次数&#xff0c;时间复杂度为O(n^2…

Linux系统--账号和权限管理

目录 一、Linux安全模型 二、用户账号和组账号 2.1 用户帐号类型 2.2 组账号 2.3 用户和组的关系 三、两个重要文件夹 3.1 用户账号文件/etc/passwd 3.2 /etc/shadow 四、用户命令 4.1 useradd命令——添加用户 4.2 passwd命令——密码管理 4.3 usermod命令—…

【OO ALV实现合并行和列】

需求场景 做了一个FUNCTION ALV&#xff0c;按行展示&#xff0c;但是用户需要做一个转置&#xff0c;前面列按行显示&#xff0c;后面数量列由按列显示调整为按行显示。查了一下&#xff0c;好像是FUNCTION ALV实现不了&#xff0c;参考了一位博主实现了这个需求。 ABAP ALV多…

运维工程师的出路到底在哪里?—— 浅谈运维工程师前景

目录 前言 一、运维工程师的职责 二、能力要求 &#xff08;一&#xff09;技术方面 &#xff08;二&#xff09;管理方面 &#xff08;三&#xff09;业务方面 三、35岁被称为运维半衰期&#xff0c;究竟为何&#xff1f; 四、该如何顺利过渡半衰期 五、运维的职业发…

(更新)上市公司研发与创新补助数据合集(2007-2022年)

数据简介&#xff1a; 数据来源&#xff1a;原始数据来源于上市公司年报时间跨度&#xff1a;2008-2022年数据范围&#xff1a;3400家上市企业数据展示&#xff1a; 初始数据&#xff1a; Stkcdyear说明金额0000042008政府补助利得644000000052008合计644000000062009政府补…

Zookeeper在分布式命名服务中的实践

Java学习面试指南&#xff1a;https://javaxiaobear.cn 命名服务是为系统中的资源提供标识能力。ZooKeeper的命名服务主要是利用ZooKeeper节点的树形分层结构和子节点的顺序维护能力&#xff0c;来为分布式系统中的资源命名。 哪些应用场景需要用到分布式命名服务呢&#xff1…

RHCE9学习指南 第10章 ACL权限

10.1 ACL介绍及基本用法 前面讲权限时是对u、u、o来设置权限的。假如有如图10-1所示的需求。 图10-1 为三个用户设置权限 有一个目录aa&#xff0c;要求tom、bob、mary具有不同的权限&#xff0c;利用前面讲过的知识是完全可以实现的。 所有者设置为tom&#xff0c;把所有者权…