Ollama简介
Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。
与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。
Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。
Ollama支持快速部署,见这篇博文:解锁智能未来:用Ollama开启你的本地AI之旅_ollma-CSDN博客
其次Ollama还支持python交互,可以编程实现更复杂的功能。
以下内容就是针对Ollama python库的学习和实践。
安装Ollama python库
直接使用pip安装即可:
pip install ollama
安装完成:
Installing collected packages: ollama
Successfully installed ollama-0.4.7
下载deepseek-r1:1.5b模型
命令行下载
如果已经安装了Ollama二进制执行文件,比如使用apt 安装了ollama,或者windows下安装了ollama.exe,那么可以使用Ollama 可执行文件在命令行下载模型:
ollama pull deepseek-r1:1.5b
# 或者
ollama run deepseek-r1:1.5b
python交互下载
安装了Ollama python包,则可以在python交互界面下载模型
import ollama
ollama.pull('deepseek-r1:1.5b')
在python中交互执行Ollama deepseek-r1:1.5b chat模型
from ollama import chat
from ollama import ChatResponse
response: ChatResponse = chat(model='deepseek-r1:1.5b', messages=[
{
'role': 'user',
'content': '你是谁?',
},
])
# 打印响应内容
print(response['message']['content'])
# 或者直接访问响应对象的字段
print(response.message.content)
输出:
<think>
</think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
选用7b模型
response: ChatResponse = chat(model='deepseek-r1:7b', messages=[
{
'role': 'user',
'content': '你是谁?',
},
])
当然7b模型需要先下载,比如执行
ollama pull deepseek-r1:7b
# 或者
ollama run deepseek-r1:7b
或者在python交互界面执行
import ollama
ollama.pull('deepseek-r1:7b')
embedding模型nomic-embed-text实践
下载nomic-embed-text模型
命令行下载
ollama pull nomic-embed-text
python交互下载
import ollama
ollama.pull('nomic-embed-text')
运行python交互
import ollama
ollama.embed(model='nomic-embed-text', input='十万个冷笑话')
生成了一大堆的embedding数据
ollama.embed(model='nomic-embed-text', input='十万个冷笑话')
EmbedResponse(model='nomic-embed-text', created_at=None, done=None, done_reason=None, total_duration=865235300, load_duration=662310000, prompt_eval_count=6, prompt_eval_duration=None, eval_count=None, eval_duration=None, embeddings=[[0.0032348887, 0.041912135, -0.16705535, -0.026766753, -0.012629486, 0.0064461557, 0.018424895, -0.01439241, -0.0031062262, -0.024956603, -0.046768334, 0.05268035, -0.0029782322, -0.042236425, 0.017630735, -0.076924205, 0.030286735, -0.050218526, -0.0016884268, 0.07788876, 0.01743242, 0.035234887, -0.075580835, -0.018911943, 0.10255985, 0.031716064, 0.017934492, 0.024279783, 0.014747469, 0.02837642, 0.029457958, -0.008466907, -0.041746665, 0.02766424, -0.073201664, -0.018298512, 0.021074101, ......
到此实践完成!