You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在离线环境下用LangChain+Hugging Face部署CSV分析Chatbot

离线接入本地模型的参数调整方案

一、嵌入模型(sentence-transformers/all-MiniLM-L6-v2)调整

替换原远程加载逻辑,直接指定本地模型路径并开启离线模式:

from langchain.embeddings import HuggingFaceEmbeddings

# 初始化本地嵌入模型
embeddings = HuggingFaceEmbeddings(
    model_name="/绝对路径/到/all-MiniLM-L6-v2模型文件夹",
    model_kwargs={"device": "cpu"},  # 按需改为"cuda"启用GPU加速
    encode_kwargs={"normalize_embeddings": True},
    local_files_only=True  # 强制仅加载本地文件,不访问HF远程
)
  • 确保本地模型文件夹包含完整的模型文件:config.json、model.safetensors(或pytorch_model.bin)、tokenizer.json、vocab.txt等。

二、LLM模型(TheBloke/Llama-2-7B-Chat-GGML)调整

使用CTransformers加载本地GGML格式模型,替代原HF API调用:

from langchain.llms import CTransformers

# 初始化本地Llama2模型
llm = CTransformers(
    model="/绝对路径/到/llama-2-7b-chat.ggmlv3.q4_0.bin",  # 替换为你的GGML模型文件名
    model_type="llama",  # 指定模型类型为llama
    config={
        "max_new_tokens": 1024,  # 生成文本的最大长度
        "temperature": 0.7,  # 生成随机性,值越低越严谨
        "context_length": 2048  # 模型上下文窗口长度
    }
)
  • 提前安装依赖:离线环境需预先安装ctransformers库(可通过本地wheel包安装)。

三、整合到CSV分析链

替换原链中的远程模型引用,用上述本地模型构建检索QA链:

from langchain.document_loaders import CSVLoader
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA

# 加载本地CSV数据
loader = CSVLoader(file_path="你的数据文件.csv")
documents = loader.load()

# 用本地嵌入模型构建向量库
db = FAISS.from_documents(documents, embeddings)

# 构建离线可用的CSV分析问答链
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=db.as_retriever(search_kwargs={"k": 3}),
    return_source_documents=True
)

额外注意事项

  • 删除代码中所有涉及Hugging Face API Token的配置(如HUGGINGFACEHUB_API_TOKEN),以及远程模型加载的逻辑(如HuggingFaceHub类的使用)。
  • 若使用GPU加速,需确保本地环境已配置好CUDA及对应版本的PyTorch(离线环境需预先安装)。

内容的提问来源于stack exchange,提问作者stat_man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:22:24