从零开始:在Debian 11上搭建LangChain+Ollama的AI应用开发环境

云信安装大师
90
AI 质量分
11 5 月, 2025
3 分钟阅读
0 阅读

从零开始:在Debian 11上搭建LangChain+Ollama的AI应用开发环境

引言

随着大语言模型(LLM)的普及,越来越多的开发者希望在自己的机器上搭建AI应用开发环境。本文将带你从零开始在Debian 11系统上搭建LangChain+Ollama的开发环境,让你能够本地运行和开发基于大语言模型的应用程序。

准备工作

在开始之前,请确保:

  1. 已安装Debian 11操作系统
  2. 拥有sudo权限的用户账户
  3. 至少16GB内存(运行7B参数模型的最低要求)
  4. 至少20GB可用磁盘空间

第一步:系统更新与基础依赖安装

首先更新系统并安装必要的依赖:

代码片段
# 更新软件包列表
sudo apt update && sudo apt upgrade -y

# 安装基础开发工具
sudo apt install -y build-essential python3-pip python3-venv git curl wget

注意事项
build-essential包含GCC等编译工具链
python3-pip是Python包管理工具
python3-venv用于创建Python虚拟环境

第二步:安装Ollama服务

Ollama是一个本地运行大语言模型的工具,支持多种开源模型。

代码片段
# 下载并安装Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 启动Ollama服务
sudo systemctl start ollama

# 设置开机自启
sudo systemctl enable ollama

验证安装

代码片段
ollama --version

常用命令

代码片段
# 列出已下载的模型
ollama list

# 运行一个模型(首次会自动下载)
ollama run llama2

# 删除模型
ollama delete <model-name>

第三步:配置Python虚拟环境

为避免系统Python环境被污染,我们创建专用虚拟环境:

代码片段
# 创建项目目录并进入
mkdir ~/ai-dev && cd ~/ai-dev

# 创建Python虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# (注意:后续所有Python相关操作都应在激活的虚拟环境中进行)

第四步:安装LangChain及相关库

LangChain是一个用于构建基于LLM应用的框架。

代码片段
pip install langchain langchain-core langchain-community langchain-cli \
    sentence-transformers faiss-cpu pydantic==1.10.13 \
    tiktoken unstructured chromadb openai 

包说明
langchain: LangChain核心库
sentence-transformers: 文本嵌入模型
faiss-cpu: Facebook的高效相似性搜索库(CPU版)
chromadb: AI原生向量数据库

第五步:测试LangChain与Ollama集成

创建一个测试脚本test_ollama.py

代码片段
from langchain_community.llms import Ollama
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

# 初始化Ollama LLM实例(默认使用llama2模型)
llm = Ollama(model="llama2")

# 定义提示模板
prompt = PromptTemplate.from_template(
    "请用中文回答:{question}?"
)

# 创建链式调用对象
chain = LLMChain(llm=llm, prompt=prompt)

# 提问并获取回答结果 
question = "如何用简单的语言解释人工智能"
response = chain.run(question=question)

print("问题:", question)
print("回答:", response)

运行测试脚本:

代码片段
python test_ollama.py 

预期输出

代码片段
问题:如何用简单的语言解释人工智能  
回答:人工智能(AI)就像给计算机一个大脑,让它能像人类一样学习和做决定...

第六步:进阶示例 – RAG应用开发

下面我们实现一个检索增强生成(RAG)应用示例:

  1. 准备知识库文档

创建knowledge.txt文件:

代码片段
LangChain是一个用于构建基于大语言模型应用的框架。
Ollama可以在本地运行各种开源大语言模型。
RAG(检索增强生成)结合了信息检索和文本生成技术。
Debian是Linux的一个发行版本。
  1. 创建RAG脚本rag_demo.py
代码片段
from langchain_community.document_loaders import TextLoader 
from langchain_text_splitters import CharacterTextSplitter 
from langchain_community.vectorstores import FAISS 
from langchain_community.embeddings import OllamaEmbeddings 
from langchain.chains import RetrievalQA 
from langchain_community.llms import Ollama 

# Step1:加载并分割文档 
loader = TextLoader("knowledge.txt") 
documents = loader.load() 

text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200) 
docs = text_splitter.split_documents(documents) 

# Step2:创建向量存储 
embeddings = OllamaEmbeddings(model="llama2") 
db = FAISS.from_documents(docs, embeddings) 

# Step3:创建检索链 
retriever = db.as_retriever() 

qa_chain = RetrievalQA.from_chain_type(
    llm=Ollama(model="llama2"),
    chain_type="stuff",
    retriever=retriever,
    return_source_documents=True,
)

# Step4:提问并获取答案  
query = "什么是RAG?"  
result = qa_chain({"query": query})  

print("问题:", query)
print("答案:", result["result"])
print("\n来源文档:", result["source_documents"][0].page_content)
  1. 运行RAG示例
代码片段
python rag_demo.py 

常见问题解决

  1. Ollama服务无法启动

    代码片段
    #查看日志定位问题  
    journalctl -u ollama -f  
    
    #常见解决方案  
    sudo rm -rf /usr/share/ollama/.ollamadir  
    sudo systemctl restart ollama  
    
  2. Python包冲突

    代码片段
    #清除当前虚拟环境重新安装  
    deactivate  
    rm -rf venv  
    python3 -m venv venv  
    source venv/bin/activate  
    pip install ... #重新安装所需包  
    
  3. 内存不足问题

    代码片段
    #尝试更小的模型  
    ollama pull gemma:2b  
    
    #或者在~/.ollamarc中配置GPU加速(如有NVIDIA显卡)  
    echo "CUDA_VISIBLE_DEVICES=0" >> ~/.ollamarc   
    

GPU加速配置(可选)

如果有NVIDIA显卡,可以启用GPU加速:

  1. 安装NVIDIA驱动和CUDA
代码片段
sudo apt install -y nvidia-driver nvidia-cuda-toolkit 

nvidia-smi #验证驱动安装成功  

curl https://raw.githubusercontent.com/NVIDIA/nvidia-docker/main/nvidia-docker.sh | sh \
&& sudo systemctl restart docker 

docker run --gpus all nvidia/cuda:12.0-base nvidia-smi #验证Docker GPU支持  

echo "CUDA_VISIBLE_DEVICES=0" >> ~/.ollamarc && systemctl restart ollamad.service  

ollamas list --gpu #查看支持GPU加速的模型版本  

ollamas pull llama2:13b-gpu #下载GPU优化版模型  

VS Code开发配置(可选)

对于使用VS Code的用户,推荐以下配置:

  1. 插件推荐
代码片段
Python Extension Pack (Microsoft)
Jupyter (Microsoft)
LangChain Snippets (第三方)
Docker (Microsoft)
  1. launch.json配置
    json {
    "version": "0.2.0",
    "configurations": [
    {
    "name": "Python: Current File",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "integratedTerminal",
    "justMyCode": true,
    "env": {
    "PYTHONPATH": "${workspaceFolder}",
    "OLLAMA_HOST": "127.0.0.1"
    }
    }
    ]
    }

总结

通过本文我们完成了:
✅ Debian11基础环境准备
✅ Ollma本地LLM服务部署
✅ Python虚拟环境与LangChain安装
✅ LangChain与Ollma集成验证
✅ RAG应用完整示例实现

现在你已经拥有了完整的AI应用开发环境,可以开始构建自己的LLM应用了!建议从官方文档入手进一步学习:
LangChain文档
Ollma文档

后续可探索方向:
• Web界面开发(Gradio/Streamlit)
• API服务化(FastAPI)
• Agent智能体开发

原创 高质量