
DeepSeek R1 × 飞书多维表格赋能教育领域
DeepSeek-R1 在 AI 社区引起了不小的轰动。该模型由中国 AI 公司DeepSeek开发,可与 OpenAI 的顶级模型相媲美。DeepSeek-R1 之所以受到热捧,不仅是因为它的功能强大,还因为它是开源的,任何人都可以下载并在本地运行。在这篇博客中,我将指导您使用 Ollama 在您的机器上设置 DeepSeek-R1。
DeepSeek-R1 脱颖而出有几个原因。它不仅比许多其他模型便宜,而且在解决问题、推理和编码方面也表现出色。其内置的思维链推理提高了其效率,使其成为其他模型的有力竞争者。让我们深入了解如何在本地系统上运行此模型。
在开始之前,我们先来讨论一下 Ollama。Ollama 是一款免费的开源工具,允许用户在本地运行自然语言处理模型。借助 Ollama,您可以轻松下载并运行 DeepSeek-R1 模型。
首先,您需要下载并安装Ollama。访问 Ollama 网站并下载与您的操作系统匹配的版本。
按照网站上提供的安装说明进行操作。
正如您在访问 Ollama 网站时所看到的,您可以运行 DeepSeek-R1 的不同参数。您可以在此处找到要求的详细信息(如上图所示)
您可以运行 1.5b、7b、8b、14b、32b、70b、671b,显然,随着您选择更大的参数,硬件要求也会增加。我在本教程中使用了 7b。
安装 Ollama 后,打开终端并输入以下命令下载 DeepSeek-R1 模型:
ollama run deepseek-r1
此命令告诉 Ollama 下载模型。根据您的互联网速度,这可能需要一些时间。等待下载完成,喝杯咖啡吧!
下载后,运行以下命令验证安装:
ollama list
您应该会在可用模型列表中看到 deepseek-r1。如果看到了,那就太好了!您已准备好运行该模型。
现在,让我们使用以下命令启动模型:
ollama run deepseek-r1
就这样,您就可以在本地与 DeepSeek-R1 进行交互。就这么简单!
通过模型进行思路链推理。
该模型在编码任务中也表现良好。让我们也检查一下这种方法。
上述代码相关查询的详细答案。
下面是使用 DeepSeek-R1 处理不同用例的完整分步视频。
我对 DeepSeek-R1 的第一印象简直令人震惊:)
如果您想扩展学习并构建一个简单的 RAG 应用程序,您可以按照本教程进行操作。
我们将从 NVIDIA NIM 微服务中设置 DeepSeek API 密钥(是的,我将向您展示如何操作)。NVIDIA NIM(推理微服务)是一组微服务,可帮助跨云、数据中心和工作站部署 AI 模型。我们将使用 LangChain 作为我们的 LLM 框架来绑定所有内容。我们将使用SingleStore作为我们的矢量数据库。
首先要创建一个免费的 SingleStore 帐户。登录您的帐户并为自己创建一个工作区和一个数据库。
创建工作区后,创建附加到该工作区的数据库。单击仪表板屏幕截图中所示的创建数据库来创建数据库。
太棒了。现在,我们创建了数据库来存储 RAG 应用程序的自定义文档。
下一步是创建一个笔记本。是的,一个免费的笔记本环境。SingleStore 有一个很酷的集成功能,您可以在其中使用他们的笔记本 [就像您的 Google 协作一样]
转到 Data Studio,然后创建一个新的 Notebook。
给你的Notebook命名
这就是您需要找到的地方。
确保从下拉列表中选择您创建的工作区和数据库,如下所示。我的工作区名称是“pavappy-workspace-1”,我创建的数据库是“DeepSeek”。所以我选择了两者。
现在我们已准备好编写 RAG 应用程序。开始逐步将以下所有代码添加到新创建的笔记本中(确保也运行每个代码片段)
从安装所有必需的库和依赖项开始。
!pip install langchain --quiet
!pip install pdf2image --quiet
!pip install pdfminer.six --quiet
!pip install singlestoredb --quiet
!pip install tiktoken --quiet
!pip install --upgrade unstructured==0.10.14 --quiet
!pip install -qU pypdf langchain_community
!pip install langchain-nvidia-ai-endpoints --quiet
!pip install langchain-deepseek-official --quiet
导入库
from langchain.document_loaders import PyPDFLoader
from langchain_nvidia_ai_endpoints import ChatNVIDIA
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.chains import RetrievalQA
from langchain.vectorstores import SingleStoreDB
import os
加载您的自定义文档[我使用了公开的pdf,您可以替换并使用自己的文档
file_path = "https://unctad.org/system/files/official-document/wesp2023_en.pdf"
loader = PyPDFLoader(file_path)
data = loader.load()
将文档拆分成块
text_splitter = RecursiveCharacterTextSplitter(chunk_size=2000, chunk_overlap=0)
texts = text_splitter.split_documents(data)
设置 OpenAI 嵌入(用于矢量化)
os.environ["OPENAI_API_KEY"] = "Add your OpenAI API key"
embedding = OpenAIEmbeddings()
将嵌入存储在 SingleStore 中
docsearch = SingleStoreDB.from_documents(
texts,
embedding,
table_name="deepseek_rag", # Replace table name with any name
host="admin:password@host_url:3306/database_name", # Replace with your SingleStore connection
port=3306
)
在上面的代码中,admin 是常量,不要更改它。您可以从访问选项卡获取密码,主机 URL 可以获取,如下所示。转到您的部署选项卡,您应该会看到您的工作区,单击连接,然后看到如下所示的下拉列表。从那里选择“SQL IDE”,您将看到所有必需的详细信息。
接下来,通过 NVIDIA NIM 初始化 DeepSeek
从 NVIDIA NIM 微服务免费获取 DeepSeek-R1 API 密钥。从此处获取。
client = ChatNVIDIA(
model="deepseek-ai/deepseek-r1",
api_key="Add your DeepSeek-R1 API key you received from NVIDIA NIM microservice", # Replace with your NVIDIA API key
temperature=0.7,
top_p=0.8,
max_tokens=4096
)
创建RAG链
qa_chain = RetrievalQA.from_chain_type(
llm=client,
chain_type="stuff",
retriever=docsearch.as_retriever(search_kwargs={"k": 3}),
return_source_documents=True
)
查询 RAG 系统
query = "What India's GDP growth is projected to be?"
result = qa_chain.invoke({"query": query})
显示结果
print("Answer:", result["result"])
print("\nSources:")
for doc in result["source_documents"]:
print(f"- Page {doc.metadata['page']}: {doc.page_content[:100]}...")
您应该会看到模型的良好响应:
您可以检查数据库以查看数据是如何分块并以向量嵌入格式存储的。
这是您可以尝试的完整代码库:
pavanbelagatti/ DeepSeek-R1-LangChain-SingleStore-Tutorial