Windows 10环境下LangChain+Ollama搭建本地AI问答系统教程

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

Windows 10环境下LangChain+Ollama搭建本地AI问答系统教程

引言

在当今AI技术蓬勃发展的时代,搭建一个本地运行的AI问答系统不仅能保护隐私,还能在没有网络连接的情况下使用。本教程将指导你在Windows 10环境下,使用LangChain框架和Ollama本地大模型服务,搭建一个完全离线的AI问答系统。

准备工作

硬件要求

  • Windows 10操作系统(建议64位)
  • 至少16GB内存(运行大模型需要较多内存)
  • 支持CUDA的NVIDIA显卡(可选,可加速推理)

软件要求

  • Python 3.8或更高版本
  • Git for Windows
  • Ollama服务(稍后会安装)

第一步:安装Python和必要工具

  1. 安装Python

    • 访问Python官网下载最新版Python
    • 安装时勾选”Add Python to PATH”选项
  2. 验证Python安装
    打开命令提示符(cmd)并运行:

    代码片段
    python --version
    pip --version
    
  3. 安装Git

    • 下载并安装Git for Windows
    • 安装完成后验证:
      代码片段
      git --version<br>
      

第二步:安装Ollama服务

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

  1. 下载Ollama
    访问Ollama官网下载Windows版本并安装。

  2. 启动Ollama服务
    安装完成后,Ollama会自动在后台运行。你可以通过任务管理器查看是否有一个名为”ollama”的进程。

  3. 下载模型(以llama2为例):
    打开命令提示符运行:

    代码片段
    ollama pull llama2
    

    这将下载约4GB的模型文件(具体大小取决于你选择的模型)。

    注意:首次下载可能需要较长时间,取决于你的网络速度。

  4. 测试模型是否正常工作

    代码片段
    ollama run llama2 "你好"
    

    如果看到模型的回复,说明安装成功。

第三步:设置Python虚拟环境

为了避免依赖冲突,我们创建一个独立的Python环境:

  1. 创建虚拟环境

    代码片段
    python -m venv langchain_env
    
  2. 激活虚拟环境

    代码片段
    .\langchain_env\Scripts\activate
    

    激活后,命令提示符前会显示(langchain_env)

  3. 退出虚拟环境(完成后使用):

    代码片段
    deactivate
    

第四步:安装LangChain和相关库

在激活的虚拟环境中执行:

代码片段
pip install langchain openai gradio sentence-transformers faiss-cpu pyllamacpp pydantic==1.10.13

说明:这里安装了LangChain核心库、Gradio用于创建Web界面、sentence-transformers用于文本嵌入、FAISS用于向量搜索。

第五步:创建简单的问答系统

创建一个名为local_ai_qa.py的文件,内容如下:

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

# 初始化Ollama连接本地服务
llm = Ollama(base_url="http://localhost:11434", model="llama2")

# 创建提示模板
template = """问题: {question}

请用中文详细回答这个问题。"""

prompt = PromptTemplate.from_template(template)

# 创建LLM链
qa_chain = LLMChain(llm=llm, prompt=prompt)

# 简单的问答循环
print("本地AI问答系统已启动(输入'exit'退出)")
while True:
    question = input("\n你的问题: ")
    if question.lower() == 'exit':
        break

    # 获取回答并打印
    response = qa_chain.run(question=question)
    print("\nAI回答:", response)

第六步:运行问答系统

在命令行中执行:

代码片段
python local_ai_qa.py

现在你可以输入问题与本地AI交互了!

第七步(可选):创建Web界面

如果你想通过浏览器访问这个问答系统,可以使用Gradio创建一个简单的Web界面。

创建一个新的文件web_interface.py

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

# 初始化模型和链(同上)
llm = Ollama(base_url="http://localhost:11434", model="llama2")
template = """问题: {question}\n\n请用中文详细回答这个问题。"""
prompt = PromptTemplate.from_template(template)
qa_chain = LLMChain(llm=llm, prompt=prompt)

def get_answer(question):
    return qa_chain.run(question=question)

# 创建Gradio界面 
iface = gr.Interface(
    fn=get_answer,
    inputs=gr.Textbox(lines=2, placeholder="请输入你的问题..."),
    outputs="text",
    title="本地AI问答系统",
    description="基于LangChain和Ollama搭建的本地AI问答系统"
)

iface.launch()

运行这个Web应用:

代码片段
python web_interface.py 

程序会输出一个本地URL(通常是http://127.0.0.1:7860),在浏览器中打开即可看到交互界面。

常见问题解决

  1. Ollama无法启动或连接失败

    • 确保Ollama服务正在运行(检查任务管理器)
    • ollama serve命令可以手动启动服务
  2. 模型加载慢或响应时间长

    • CPU模式下可能需要更多时间处理请求(30秒以上是正常的)
    • 考虑使用更小的模型如tiny-llama
  3. 内存不足错误

    • ollama pull tiny-llama尝试更小的模型版本
    • ollama pull llama2:7b-chat-q4_K_M指定量化版本减少内存占用
  4. Python依赖冲突

    • pip uninstall pydantic然后重新安装指定版本(pydantic==1.10.13)
  5. 中文回答质量不佳
    可以修改提示模板增加中文要求:

    代码片段
    template = """你是一个精通中文的AI助手。请用清晰、准确的中文回答以下问题:
    
    问题: {question}
    
    回答:"""
    

进阶配置建议

  1. 尝试不同模型:除了Llama2,还可以尝试其他开源模型如mistral、neural-chat等。

  2. 添加记忆功能:修改代码实现多轮对话记忆功能。

  3. 使用RAG技术:结合文档检索增强生成质量。

  4. GPU加速:如果使用NVIDIA显卡可配置CUDA加速推理。

5.自定义知识库:将你的文档转化为向量数据库供AI参考回答。

总结

通过本教程,你已经成功在Windows10上搭建了一个完全本地的AI问答系统,不依赖任何外部API服务。关键步骤包括:

1.Ollma服务的安装和配置
2.LangChain框架的基础使用
3.Python环境的正确设置
4.Llma2模型的加载和使用

这种架构的优势在于数据完全保留在本地,适合对隐私要求高的场景,同时也为后续扩展提供了良好基础。你可以继续探索LangChain的其他功能,如文档加载器、记忆模块等来增强系统的能力。

原创 高质量