This content originally appeared on DEV Community and was authored by Ajmal Hasan
π€ Ollama
Ollama is a framework for running large language models (LLMs) locally on your machine. It lets you download, run, and interact with AI models without needing cloud-based APIs.
πΉ Example: ollama run deepseek-r1:1.5b
β Runs DeepSeek R1 locally.
πΉ Why use it? Free, private, fast, and works offline.
π LangChain
LangChain is a Python/JS framework for building AI-powered applications by integrating LLMs with data sources, APIs, and memory.
πΉ Why use it? It helps connect LLMs to real-world applications like chatbots, document processing, and RAG.
π RAG (Retrieval-Augmented Generation)
RAG is an AI technique that retrieves external data (e.g., PDFs, databases) and augments the LLMβs response.
πΉ Why use it? Improves accuracy and reduces hallucinations by referencing actual documents.
πΉ Example: AI-powered PDF Q&A system that fetches relevant document content before generating answers.
β‘ DeepSeek R1
DeepSeek R1 is an open-source AI model optimized for reasoning, problem-solving, and factual retrieval.
πΉ Why use it? Strong logical capabilities, great for RAG applications, and can be run locally with Ollama.
π How They Work Together?
- Ollama runs DeepSeek R1 locally.
- LangChain connects the AI model to external data.
- RAG enhances responses by retrieving relevant information.
- DeepSeek R1 generates high-quality answers.
π‘ Example Use Case: A Q&A system that allows users to upload a PDF and ask questions about it, powered by DeepSeek R1 + RAG + LangChain on Ollama! π
π― Why Run DeepSeek R1 Locally?
Benefit | Cloud-Based Models | Local DeepSeek R1 |
---|---|---|
Privacy | β Data sent to external servers | β 100% Local & Secure |
Speed | β³ API latency & network delays | β‘ Instant inference |
Cost | π° Pay per API request | π Free after setup |
Customization | β Limited fine-tuning | β Full model control |
Deployment | π Cloud-dependent | π₯ Works offline & on-premises |
π Step 1: Installing Ollama
πΉ Download Ollama
Ollama is available for macOS, Linux, and Windows. Follow these steps to install it:
1οΈβ£ Go to the official Ollama download page
π Download Ollama
2οΈβ£ Select your operating system (macOS, Linux, Windows)
3οΈβ£ Click on the Download button
4οΈβ£ Install it following the system-specific instructions
πΈ Screenshot:
π Step 2: Running DeepSeek R1 on Ollama
Once Ollama is installed, you can run DeepSeek R1 models.
πΉ Pull the DeepSeek R1 Model
To pull the DeepSeek R1 (1.5B parameter model), run:
ollama pull deepseek-r1:1.5b
This will download and set up the DeepSeek R1 model.
πΉ Running DeepSeek R1
Once the model is downloaded, you can interact with it by running:
ollama run deepseek-r1:1.5b
It will initialize the model and allow you to send queries.
π Step 3: Setting Up a RAG System Using Streamlit
Now that you have DeepSeek R1 running, let's integrate it into a retrieval-augmented generation (RAG) system using Streamlit.
πΉ Prerequisites
Before running the RAG system, make sure you have:
- Python installed
- Conda environment (Recommended for package management)
- Required Python packages
pip install -U langchain langchain-community
pip install streamlit
pip install pdfplumber
pip install semantic-chunkers
pip install open-text-embeddings
pip install faiss
pip install ollama
pip install prompt-template
pip install langchain
pip install langchain_experimental
pip install sentence-transformers
pip install faiss-cpu
For detailed setup, follow this guide:
π Setting Up a Conda Environment for Python Projects
π Step 4: Running the RAG System
πΉ Clone or Create the Project
1οΈβ£ Create a new project directory
mkdir rag-system && cd rag-system
2οΈβ£ Create a Python script (app.py
)
Paste the following Streamlit-based script:
import streamlit as st
from langchain_community.document_loaders import PDFPlumberLoader
from langchain_experimental.text_splitter import SemanticChunker
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_community.vectorstores import FAISS
from langchain_community.llms import Ollama
from langchain.prompts import PromptTemplate
from langchain.chains.llm import LLMChain
from langchain.chains.combine_documents.stuff import StuffDocumentsChain
from langchain.chains import RetrievalQA
# Streamlit UI
st.title("π RAG System with DeepSeek R1 & Ollama")
uploaded_file = st.file_uploader("Upload your PDF file here", type="pdf")
if uploaded_file:
with open("temp.pdf", "wb") as f:
f.write(uploaded_file.getvalue())
loader = PDFPlumberLoader("temp.pdf")
docs = loader.load()
text_splitter = SemanticChunker(HuggingFaceEmbeddings())
documents = text_splitter.split_documents(docs)
embedder = HuggingFaceEmbeddings()
vector = FAISS.from_documents(documents, embedder)
retriever = vector.as_retriever(search_type="similarity", search_kwargs={"k": 3})
llm = Ollama(model="deepseek-r1:1.5b")
prompt = """
Use the following context to answer the question.
Context: {context}
Question: {question}
Answer:"""
QA_PROMPT = PromptTemplate.from_template(prompt)
llm_chain = LLMChain(llm=llm, prompt=QA_PROMPT)
combine_documents_chain = StuffDocumentsChain(llm_chain=llm_chain, document_variable_name="context")
qa = RetrievalQA(combine_documents_chain=combine_documents_chain, retriever=retriever)
user_input = st.text_input("Ask a question about your document:")
if user_input:
response = qa(user_input)["result"]
st.write("**Response:**")
st.write(response)
π Step 5: Running the App
Once the script is ready, start your Streamlit app:
streamlit run app.py
CHECK GITHUB REPO FOR COMPLETE CODE
LEARN BASICS HERE
π― Final Thoughts
β
You have successfully set up Ollama and DeepSeek R1!
β
You can now build AI-powered RAG applications with local LLMs!
β
Try uploading PDFs and asking questions dynamically.
π‘ Want to learn more? Follow my Dev.to blog for more development tutorials! π
This content originally appeared on DEV Community and was authored by Ajmal Hasan

Ajmal Hasan | Sciencx (2025-01-28T20:30:37+00:00) π Setting Up Ollama & Running DeepSeek R1 Locally for a Powerful RAG System. Retrieved from https://www.scien.cx/2025/01/28/%f0%9f%9a%80-setting-up-ollama-running-deepseek-r1-locally-for-a-powerful-rag-system/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.