11 - 项目1:智能问答助手
约 204 字小于 1 分钟
LangChain
2026-03-08
项目目标
构建一个基于 RAG 的智能问答系统。
功能特性
- ✅ 上传文档(PDF/Word/TXT)
- ✅ 语义搜索
- ✅ 智能问答
- ✅ 引用来源
技术栈
- LangChain
- OpenAI Embeddings
- Chroma 向量数据库
- Streamlit(前端)
核心代码
\\python import streamlit as st from langchain_community.vectorstores import Chroma from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain.chains import RetrievalQA
初始化
@st.cache_resource def init_vectorstore(): return Chroma( embedding_function=OpenAIEmbeddings(), persist_directory="./chroma_db" )
vectorstore = init_vectorstore() qa_chain = RetrievalQA.from_chain_type( llm=ChatOpenAI(), retriever=vectorstore.as_retriever() )
UI
st.title("智能问答助手") question = st.text_input("请输入你的问题:")
if st.button("提问"): answer = qa_chain.run(question) st.write(answer) \\
运行项目
\\ash streamlit run app.py \\
本课小结
- 使用 RAG 构建问答系统
- Streamlit 快速搭建前端
- Chroma 持久化向量存储
下一课:12 - 文档对话系统