本地部署和运行大型语言模型(Large Language Models, LLMs)的工具Ollama
背景
在人工智能领域,大语言模型(Large Language Models, LLMs)的发展与应用日益受到重视。它们不仅在文本生成、自然语言理解等方面展现出强大的能力,而且正逐渐成为推动智能化服务升级的关键技术。然而,对于许多开发者和小型企业来说,部署和维护一个高效的LLMs应用仍然是一项具有挑战性的任务。
Ollama是一个功能强大的工具,它简化了LLMs应用的部署过程,使得开发者能够更加专注于模型的优化和应用场景的创新。通过Ollama,开发者可以轻松地在本地环境中搭建起一个完整的LLMs应用,无需担心复杂的配置和繁琐的维护工作。
除了不必支付他人服务器的运行成本外(对穷人友好),你还可以在不担心安全问题的情况下运行对私有数据的查询。
什么是Ollama
官网:https://ollama.com/
github: https://github.com/ollama/ollama
Ollama 是一个便于本地部署和运行大型语言模型(Large Language Models, LLMs)的工具。使用通俗的语言来说,如果你想在自己的电脑上运行如 GPT-3 这样的大型人工智能模型,而不是通过互联网连接到它们,那么 Ollama 是一个实现这一目标的工具。
Ollama 通过在本地部署和运行大型语言模型,为用户提供了一个方便、灵活的工具来探索人工智能的强大能力。无论是需要在离线环境下使用 AI、注重数据隐私保护,还是进行开发测试和教育研究,Ollama 都能提供实际的帮助。此外,它的跨平台支持和多种自定义功能也使其成为了一款适合不同用户需求的工具。
Ollama是一个轻量级、可扩展的框架,用于在本地机器上构建和运行大型语言模型(LLM)。它提供了一个简单的API来创建、运行和管理模型,以及一个预构建模型库,可以轻松用于各种应用程序。
Ollama是一个开源框架,用于在本地运行大型语言模型(LLM)。它为开发人员和研究人员提供了一个集成的平台,可以方便地搭建、训练和分享他们的语言模型。
一个允许你在本地机器上运行开源大型语言模型 (LLM) 的工具。 Ollama不是LLM,而是協助你快速安裝各種大型語言模型的一個開源軟體。
主要功能
本地运行大型语言模型:Ollama 允许用户在自己的设备上直接运行各种大型语言模型,包括 Llama 2、Mistral、Dolphin Phi 等多种模型。这样用户就可以在没有网络连接的情况下也能使用这些先进的人工智能模型。
-
跨平台支持:Ollama 支持 macOS、Windows(预览版)、Linux 以及 Docker,这使得几乎所有主流操作系统的用户都可以利用这个工具。
-
语言库和第三方库支持:它提供了一个模型库,用户可以从中下载并运行各种模型。此外,也支持通过 ollama-python 和 ollama-js 等库与其他软件集成。
-
快速启动和易于定制:用户只需简单的命令就可以运行模型。对于想要自定义模型的用户,Ollama 也提供了如从 GGUF 导入模型、调整参数和系统消息以及创建自定义提示(prompt)的功能。
优势
Ollama的优势包括:
- 易于使用: Ollama提供了一个简单的API,即使是没有经验的用户也可以轻松使用。
- 轻量级: Ollama的代码简洁明了,运行时占用资源少。
- 可扩展: Ollama支持多种模型架构,并可以扩展以支持新的模型。
- 预构建模型库: Ollama提供了一个预构建模型库,可以用于各种任务,例如文本生成、翻译、问答等。
使用场景
无网络环境下的人工智能应用:如果你处于无法连接互联网或网络不稳定的环境,但又需要使用大型语言模型完成任务(如文本生成、问答等),Ollama 可以帮你在本地运行这些模型。
-
保护隐私:当处理敏感信息或不希望数据通过互联网发送给第三方服务器时,使用 Ollama 在本地处理数据可以有效保护用户隐私。
-
开发和测试:开发者在本地机器上集成和测试大型语言模型时,使用 Ollama 可以极大地方便开发流程,减少对外部服务的依赖。
-
教育和研究:在教育和研究场景中,利用 Ollama 可以让学生和研究者无需复杂的设置或额外成本,就能接触到并利用最新的人工智能模型。
-
定制化应用:对于需要高度定制和优化模型输出的场景,如希望获得特定风格或格式的文本生成,Ollama 提供了灵活的定制化选项。
-
Ollama 的常驻 API:在软件互联的今天,将 AI 功能整合到自己的应用中极具价值。Ollama 的常驻 API 大大简化了这一过程,它会在后台默默运行,随时准备将强大的 AI 功能与你的项目无缝对接,而无需额外的复杂设置。有了它,Ollama 丰富的 AI 能力会随时待命,能自然而然地融入你的开发流程,进一步提升工作效率。
具体的:
- 文本生成: Ollama可以用于生成各种文本内容,例如新闻文章、博客文章、诗歌、代码等。
- 翻译: Ollama可以用于将文本从一种语言翻译成另一种语言。
- 问答: Ollama可以用于回答用户提出的各种问题。
- 代码生成: Ollama可以用于生成代码,例如Python代码、JavaScript代码等。
MAC OS 本地部署开源大模型
-
下载并安装Ollama
https://ollama.com/download
根据操作系统型号选择对应的版本。 -
下载并安装docker
https://www.docker.com/
根据操作系统型号选择对应的版本。 -
下载 Open-webui
https://github.com/open-webui/open-webui
Open WebUI 是一个开源的、功能丰富且用户友好的自托管 Web 用户界面,专为离线运行而设计,支持多种大型语言模型(LLM)运行器,包括 Ollama 和兼容 OpenAI 的 API。这个项目旨在为用户提供一个灵活、强大且易于使用的界面来与各种 AI 模型进行交互。
下载完成后,前往 docker desktop 控制台,可查看到已部署好的 open-webui 的容器
点击 3000:8080 的链接,即可在本地打开 open webui 的交互窗口页
根据指引,创建管理员账号,登录成功后
- 下载安装LLM 大模型
前往 Ollama 的模型商城下载 llm 开源大语言模型,下载地址:https://ollama.com/search
根据电脑的配置选择大模型,如果无 gpu卡,本机不建议选择大于超过超过 7 B的大模型,这里的B是billion的意思, 7 B的大模型代表是 70 亿 参数的大模型。
比如选择 3b
下载方案 1:终端下载,输入:ollama run qwen2.5:3b
下载方案 2:在 open-webui 下载
-
使用大模型
方案 1:通过命令行终端ollama run qwen2.5:3b
方案 2:在 open-webui 体验 -
设置api-key,postman访问
官方文档:https://docs.openwebui.com/getting-started/api-endpoints/
curl -X POST http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.1",
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
]
}'