
全網都在要Manus AI邀請碼,可能是 DeepSeek 后最大驚喜
在開始之前,我們先來討論一下 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