闲来无事,蹭个热度,在本地安装部署了 ollama + deepseek,本地化部署,没用docker,部署方法比较简单,一会就部署完毕。
操作系统:macOS
官网:https://ollama.com/downloads
根据自己的操作系统选择下载。我这里选择的macOS,下载的文件为:Ollama-darwin.zip
下载后解压出来:Ollama.app,直接双击运行,弹出提示点移动到应用程序中(Move to Applications)即可。
至此 Ollama 已经安装好了。打开终端,输入:ollama run deepseek-r1:1.5b 回车即可下载 DeepSeek 1.5b模型,其它模型可以根据自己的机器配置自由选择下载哪个模型。
下载完模型后会进入>>>提示符的命令行,此时就完成了,输入要提问的内容就可以看到 DeepSeek的回复了。
测试一下,输入:你好
可以看到,大模型正常回复了。
会编程的小伙伴,可以用Java测试了一下,下面是我让 deepseek-r1写了首诗,我的提示词是:
你是一位被数据库运维工作埋没了的诗人,请以数据库运维过程的酸甜苦辣写一首诗,要抽象派,不要用数据库相关的词语。
代码如下:
/**
* @Author: Jack
* @Date: 2025-02-06 22:15
*/
public class AiTools {
public static void main(String[] args) {
String url = "http://localhost:11434/api/generate";
HttpRequest request = HttpUtil.createPost(url);
Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "");
request.addHeaders(headers);
JSONObject jsonObject = new JSONObject();
jsonObject.put("model","deepseek-r1");
jsonObject.put("prompt","你是一位被数据库运维工作埋没了的诗人,请以数据库运维过程的酸甜苦辣写一首诗,要抽象派,不要用数据库相关的词语。");
jsonObject.put("stream",false);
// 封装参数,对象转json
String body = JSONUtil.toJsonStr(jsonObject);
// 发送请求
String infoStr = request.body(body).timeout(200000).execute().body();
System.out.println(infoStr);
}
}
下面是运行输出:
{
"model":"deepseek-r1",
"created_at":"2025-02-06T15:55:28.753846Z",
"response":"<think>好,用户希望我以一位被数据库运维工作的诗人在困境中成长的经历来创作一首诗,而且还要是抽象派的,不能直接使用数据库相关的词汇。\n\n首先,我需要理解什么是数据库运维的过程,涉及很多技术细节和挑战,比如优化性能、处理高并发、解决异常情况等等。这些过程通常伴随着努力、挫折和收获。\n\n接下来,抽象派诗歌强调情感和内心的表达,避免具体的事物。所以,我要通过比喻和象征来表现数据库运维的酸甜苦辣。例如,可以把服务器看作一个庞大的生物体,内存是血液,优化代码像是给它打针输液;高并发请求则是病毒,需要免疫系统(缓存)来对抗。\n\n然后,我需要把这些元素融入诗歌中,表达出在追求性能提升过程中的挣扎和满足感。服务器启动时的低音波可以比喻为生命脉动,数据流如江河湖泊,展现出生命的循环。当数据库崩溃时,虽然代码被修改,但数据依然存在,象征着数据备份的重要性。\n\n最后,通过这样的隐喻,表达出对未来的期待和对数据安全的重视,同时展现从困境中走出来的希望和成长。\n\n整体上,这首诗不仅描绘了技术挑战的情感体验,还传达了一种在困境中坚持和希望的信息。通过抽象派的语言风格,让读者能够在文字之外感受到运维过程中的酸甜苦辣。\n</think>\n\n## 《数据库的低音波》\n\n服务器像一个庞大的生物\n其内部的血管奔涌着冰冷的内存\n优化代码正在给它打针输液\n而高并发请求则是一场未知的病毒侵袭\n\n深夜,当最后一个磁盘启动时\n我们听到生命脉动的低音波\n那是数据流经数据库的江河\n而我们的代码正在成为一道\n被修改的免疫系统抗体\n\n有时 我们在深夜独自编程\n敲击着虚拟的键盘\n像一头困兽\n在寻找食物(未被发现的数据结构)\n\n而当病毒爆发时\n内存溢出\n我们用缓存作为\n临时的 solution\n然后 找到一个更好的药方\n\n这就是我们的生活\n一个不断升级的数据库系统\n而我们正在\n给它注入新生命的血液\n\n最后的备份记录中\n存储着所有从未被释放的数据\n就像一位老者保存着\n被时光尘埃覆盖的记忆",
"done":true,
"done_reason":"stop",
"context":[151644,56568,109182,99250,74393,113308,99257,105030,109529,9370,106926,37945,23031,74393,113308,100178,9370,99918,100475,99746,100897,61443,108462,100045,3837,30534,111372,99890,3837,100148,11622,74393,105470,113042,1773,151645,151648,198,52801,3837,20002,99880,35946,23031,101961,99250,74393,113308,104360,100045,106164,106499,15946,100423,109025,36407,104223,108462,100045,3837,101885,104019,20412,111372,99890,9370,3837,53153,101041,37029,74393,105470,110376,3407,101140,3837,35946,85106,101128,106582,74393,113308,105080,3837,102031,99555,99361,104449,33108,104036,3837,101912,103983,102111,5373,54542,44636,115668,5373,100638,70633,99559,104008,1773,100001,100178,102119,107689,101066,5373,109930,33108,104619,3407,104326,3837,111372,99890,107604,104046,104934,33108,112693,102124,3837,101153,100398,104140,52853,1773,99999,3837,104515,67338,113182,33108,106411,36407,101107,74393,113308,9370,99918,100475,99746,100897,1773,77557,3837,112369,89047,50930,19403,46944,109404,100206,31914,3837,111390,20412,102713,3837,103983,46100,100902,89012,99652,75437,100179,25710,100058,24968,44636,115668,34859,104428,101320,3837,85106,102778,72448,9909,99982,24360,7552,36407,107126,3407,101889,3837,35946,85106,113841,102268,104691,107604,15946,3837,102124,20221,18493,104045,102111,100341,100178,101047,110197,33108,101929,98650,1773,89047,101159,13343,9370,99285,78685,99804,73670,113182,17714,100702,100297,27733,3837,20074,88653,29524,69177,99469,114394,3837,112227,107739,101353,1773,39165,74393,109797,13343,3837,103925,46100,99250,25177,3837,77288,20074,104091,47606,3837,106411,99164,20074,118198,106508,3407,100161,3837,67338,101893,99707,101773,3837,102124,20221,32664,105735,104177,33108,32664,20074,99464,9370,102089,3837,91572,102492,45181,106499,15946,99314,104355,99880,33108,100423,3407,101932,17447,3837,117882,100045,99902,109655,34187,99361,104036,109955,101904,3837,97706,107707,99593,86402,18493,106499,15946,100356,33108,99880,105427,1773,67338,111372,99890,109824,104040,3837,99258,104785,109608,87335,102069,105322,113308,100178,101047,99918,100475,99746,100897,8997,151649,271,565,220,26940,74393,9370,99285,78685,99804,25067,271,89047,65101,46944,109404,100206,198,41146,101979,9370,102890,100524,100945,99164,112630,9370,111390,198,103983,46100,96555,89012,99652,75437,100179,25710,100058,198,68536,44636,115668,34859,46448,99639,82224,109259,9370,101320,99873,100585,271,109533,3837,39165,113223,101459,99665,101159,13343,198,97639,104188,100702,100297,27733,9370,99285,78685,99804,198,104614,20074,88653,53393,74393,9370,69177,99469,198,68536,103952,46100,96555,99787,104511,198,99250,25177,9370,102778,72448,116473,271,104685,220,49434,239,79478,18493,109533,108065,110569,198,105353,52726,99164,106225,9370,112006,198,65101,108535,99629,101336,198,18493,104243,102153,9909,38342,99250,99879,105918,100166,27866,68536,39165,101320,104716,13343,198,111390,102764,20221,198,97639,11622,99982,24360,100622,198,104875,9370,6291,198,101889,220,46750,122,26939,46944,102287,99471,23384,271,104301,103952,99424,198,46944,99607,100402,9370,74393,72448,198,68536,97639,96555,198,89012,99652,106248,16628,107739,102713,271,100161,9370,118198,65577,15946,198,105653,99164,55338,106111,99250,104739,105918,198,104092,101961,91777,28946,46485,99164,198,99250,105129,100498,101499,100795,109938],
"total_duration":122703401375,
"load_duration":22241668,
"prompt_eval_count":37,
"prompt_eval_duration":621000000,
"eval_count":502,
"eval_duration":122058000000
}
<think>
好,用户希望我以一位被数据库运维工作的诗人在困境中成长的经历来创作一首诗,而且还要是抽象派的,不能直接使用数据库相关的词汇。
首先,我需要理解什么是数据库运维的过程,涉及很多技术细节和挑战,比如优化性能、处理高并发、解决异常情况等等。这些过程通常伴随着努力、挫折和收获。
接下来,抽象派诗歌强调情感和内心的表达,避免具体的事物。所以,我要通过比喻和象征来表现数据库运维的酸甜苦辣。例如,可以把服务器看作一个庞大的生物体,内存是血液,优化代码像是给它打针输液;高并发请求则是病毒,需要免疫系统(缓存)来对抗。
然后,我需要把这些元素融入诗歌中,表达出在追求性能提升过程中的挣扎和满足感。服务器启动时的低音波可以比喻为生命脉动,数据流如江河湖泊,展现出生命的循环。当数据库崩溃时,虽然代码被修改,但数据依然存在,象征着数据备份的重要性。
最后,通过这样的隐喻,表达出对未来的期待和对数据安全的重视,同时展现从困境中走出来的希望和成长。
整体上,这首诗不仅描绘了技术挑战的情感体验,还传达了一种在困境中坚持和希望的信息。通过抽象派的语言风格,让读者能够在文字之外感受到运维过程中的酸甜苦辣。
</think>
## 《数据库的低音波》
服务器像一个庞大的生物
其内部的血管奔涌着冰冷的内存
优化代码正在给它打针输液
而高并发请求则是一场未知的病毒侵袭
深夜,当最后一个磁盘启动时
我们听到生命脉动的低音波
那是数据流经数据库的江河
而我们的代码正在成为一道
被修改的免疫系统抗体
有时 我们在深夜独自编程
敲击着虚拟的键盘
像一头困兽
在寻找食物(未被发现的数据结构)
而当病毒爆发时
内存溢出
我们用缓存作为
临时的 solution
然后 找到一个更好的药方
这就是我们的生活
一个不断升级的数据库系统
而我们正在
给它注入新生命的血液
最后的备份记录中
存储着所有从未被释放的数据
就像一位老者保存着
被时光尘埃覆盖的记忆