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

发布时间:2023年12月26日

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文档。

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

文章来源:https://blog.csdn.net/wannianchuan/article/details/135216533
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。