
绝大多数企业业务场景不需要模型预训练、LoRA 微调,核心集中在数据预处理、RAG 检索配置、提示词工程。工程的标准思路是先完成最小可用 Demo 跑通完整链路,再迭代叠加业务规则,而不是一次性构建复杂系统。
下面为基于 LangChain 的文档问答最小可运行 Demo。
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_chroma import Chroma
from langchain.chains import RetrievalQA
# 1.加载本地业务文档
loader = TextLoader("./business.txt", encoding="utf‑8")
docs = loader.load()
# 2.文本切片
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=150
)
splits = text_splitter.split_documents(docs)
# 3.初始化向量模型与向量库
embedding = OpenAIEmbeddings(api_key="your-api-key")
vectordb = Chroma.from_documents(documents=splits, embedding=embedding, persist_directory="./chroma_db")
# 4.构建检索问答链
llm = ChatOpenAI(model="gpt‑4o‑mini", api_key="your-api-key", temperature=0)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectordb.as_retriever(search_kwargs={"k":4}),
return_source_documents=True
)
# 5.执行问答
result = qa_chain.invoke({"query":"本产品售后保修周期是多久?"})
print(result["result"])最小 Demo 跑通之后,再逐步叠加业务约束:增加拒绝回答逻辑、输出格式约束。每新增规则,保留版本快照,准备正常与异常测试用例做回归测试。同时记录系统能力边界,明确哪些场景必须人工兜底。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。