
点击蓝字关注我们
引言
最近,DeepSeek R1成为了热门话题,DeepSeek R1以其开放的权重和强大的链式推理能力引发了业界的广泛讨论。如果你也想尝试将DeepSeek R1与RAG(检索增强生成)结合,并利用Elasticsearch的向量数据库功能,本文将为你提供一个快速上手的教程。我们将使用Elastic的Playground功能,并探索DeepSeek R1在RAG中的优缺点。
配置概览
以下是本教程中我们将配置的内容概览:

使用Ollama设置本地推理
Ollama 是一个快速测试开源模型的工具,特别适合AI开发者进行本地推理。
在裸金属上运行Ollama
在Mac、Linux或Windows上进行本地安装是最简单的方式,尤其是对于拥有M系列Apple芯片的用户。安装完成后,你可以通过以下命令下载并运行DeepSeek R1。
Bashollama run deepseek-r1:7b
你可以通过终端与模型进行对话,即使你使用CTL+d退出命令或输入“/bye”,模型仍会继续运行。要查看模型是否仍在运行,可以输入:
在容器中运行Ollama
另一种快速运行Ollama的方式是使用Docker等容器引擎。虽然使用本地GPU可能因环境而异,但只要容器有足够的内存和存储空间来容纳多GB的模型,快速测试设置并不困难。
Bashmkdir ollama_deepseekcd ollama_deepseekmkdir ollamadocker run -d -v ./ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
这将创建一个名为“ollama”的目录,并将其挂载到容器中以存储Ollama配置和模型。根据参数数量,模型大小可能从几GB到几十GB不等,因此请确保选择有足够空间的卷。
注意:如果你的机器上有Nvidia GPU,请确保安装Nvidia容器工具包,并在上述docker run命令中添加“--gpus=all”。
Ollama容器启动后,你可以通过以下命令拉取deepseek-r1模型:
Bashdocker exec -it ollama ollama pull deepseek-r1:7b
使用curl测试本地推理
要使用curl测试本地推理,可以运行以下命令。我们使用stream:false以便轻松读取JSON响应:
Bashcurl http://localhost:11434/api/generate -d '{"model": "deepseek-r1:7b","stream": false,"prompt":"Why is Elastic so cool?"}'
测试“OpenAI兼容”的Ollama和RAG提示
Ollama还提供了一个REST端点,模拟OpenAI的行为,以便与Kibana等工具兼容。
Bashcurl http://localhost:11434/v1/chat/completions -d '{"model": "deepseek-r1:7b","stream": false,"messages": [{"role": "system","content": "You are a helpful AI Assistant that uses the following context to answer questions only use the following context. \n\nContext: The color of the sky today is purple. "},{"role": "user","content": "What does the sky look like today?"}]}'
将Ollama连接到Kibana
使用Elasticsearch的“start-local”开发脚本是一个很好的方式。
确保你的Kibana和Elasticsearch能够访问Ollama。如果你使用的是本地容器设置,可能需要将“localhost”替换为“host.docker.internal”或“host.containers.internal”以获取到主机的网络路径。
在Kibana中,导航到Stack Management > Alerts and Insights > Connectors。
创建连接器
从连接器配置屏幕(在Kibana中,导航到Stack Management > Alerts and Insights > Connectors),创建一个连接器并选择“OpenAI”类型。
配置连接器时,使用以下设置:
连接器名称:Deepseek (Ollama)
选择OpenAI提供商:其他(OpenAI兼容服务)
URL:http://localhost:11434/v1/chat/completions
默认模型:deepseek-r1:7b
API密钥:随意填写,需要输入但值不重要
将向量嵌入数据导入Elasticsearch
如果你已经熟悉Playground并设置了数据,可以跳过此步骤。否则,我们需要确保设置了_inference API。从8.17开始,机器学习分配是动态的,因此要下载并启用e5多语言密集向量,只需在Kibana Dev Tools中运行以下命令:
BashGET _inferencePOST _inference/text_embedding/.multilingual-e5-small-elasticsearch{"input": "are internet memes about deepseek sound investment advice?"}
接下来,我们将加载一本公共领域的书籍作为RAG上下文。你可以从Project Gutenberg下载《爱丽丝梦游仙境》:链接。将其保存为.txt文件。
在Elasticsearch中,导航到Home > Upload a file,选择或拖放你的文本文件,然后点击“Import”按钮。
在Playground中测试RAG
在Kibana中导航到Elasticsearch > Playground。在Playground屏幕上,你应该看到一个绿色勾号和“LLM Connected”指示连接器存在。这是我们刚刚创建的Ollama连接器。
点击蓝色的“Add data sources”并选择我们之前创建的book_alice索引或你之前配置的其他索引。
总结
在Ollama等工具中本地运行模型是了解模型行为的好方法。
DeepSeek R1是一个推理模型,这意味着它在RAG等用例中既有优势也有劣势。
Playground能够通过类似OpenAI的REST API连接到Ollama等推理托管框架,这已成为AI托管早期的标准。
总的来说,Elasticsearch、Kibana和可用的开放权重模型工具已经取得了显著进展。
希望这篇文章能帮助你更好地理解如何在本地使用Ollama和Kibana测试DeepSeek R1的RAG功能。如果你有任何问题或建议,欢迎在评论区留言!
关于公司
感谢您关注新智锦绣科技(北京)有限公司!作为 Elastic 的 Elite 合作伙伴及 EnterpriseDB 在国内的唯一代理和服务合作伙伴,我们始终致力于技术创新和优质服务,帮助企业客户实现数据平台的高效构建与智能化管理。无论您是关注 Elastic 生态系统,还是需要 EnterpriseDB 的支持,我们都将为您提供专业的技术支持和量身定制的解决方案。
欢迎关注我们,获取更多技术资讯和数字化转型方案,共创美好未来!
![]() | ![]() |
Elastic 微信群 | EDB 微信群 |

发现“分享”和“赞”了吗,戳我看看吧






