5分钟搭建个人AI知识库,支持PDF与网页问答

概述

本教程将指导您利用现有工具在5分钟内搭建一个个人AI知识库,支持PDF文件和网页内容的智能问答。无需编程基础,只需按照以下步骤操作即可。

准备工作

您需要一个OpenAI API密钥(或其他大语言模型API)和一个向量数据库服务。本教程使用LangChain和ChromaDB作为示例。

所需工具

  • Python 3.8以上环境
  • OpenAI API密钥
  • pip包管理器

第一步:安装依赖

打开终端,执行以下命令安装所需Python库:

pip install langchain openai chromadb pypdf2 tiktoken

第二步:编写核心代码

创建一个Python文件,例如ai_knowledge_base.py,并输入以下代码:

from langchain.document_loaders import PyPDFLoader, WebBaseLoaderfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain.embeddings import OpenAIEmbeddingsfrom langchain.vectorstores import Chromafrom langchain.chains import RetrievalQAfrom langchain.llms import OpenAIimport osos.environ["OPENAI_API_KEY"] = "your-api-key"def load_pdf(file_path):    loader = PyPDFLoader(file_path)    documents = loader.load()    return documentsdef load_web(url):    loader = WebBaseLoader(url)    documents = loader.load()    return documentsdef create_knowledge_base(documents):    text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)    texts = text_splitter.split_documents(documents)    embeddings = OpenAIEmbeddings()    vectorstore = Chroma.from_documents(texts, embeddings)    return vectorstoredef ask_question(vectorstore, question):    qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=vectorstore.as_retriever())    answer = qa.run(question)    return answer

注意:your-api-key替换为您的OpenAI API密钥。

第三步:运行与测试

在同一个文件中添加以下测试代码:

if __name__ == "__main__":    # 加载PDF文件    pdf_docs = load_pdf("example.pdf")    # 加载网页    web_docs = load_web("https://example.com")    # 合并文档    all_docs = pdf_docs + web_docs    # 创建知识库    vectorstore = create_knowledge_base(all_docs)    # 提问    question = "文章的主要内容是什么?"    answer = ask_question(vectorstore, question)    print(answer)

执行脚本:

python ai_knowledge_base.py

您将看到AI基于PDF和网页内容给出的答案。

第四步:扩展与优化

您可以添加更多功能:

  • 支持更多文件格式:使用UnstructuredFileLoader加载Word、PPT等。
  • 添加对话记忆:使用ConversationBufferMemory实现多轮对话。
  • 构建Web界面:使用Streamlit或Gradio快速创建前端。

使用Streamlit的示例

pip install streamlit

创建一个app.py文件:

import streamlit as stfrom ai_knowledge_base import *st.title("个人AI知识库")
st.sidebar.header("上传文件")
uploaded_file = st.sidebar.file_uploader("选择PDF文件", type="pdf")
url = st.sidebar.text_input("输入网页URL")

if st.sidebar.button("构建知识库"):
    docs = []
    if uploaded_file:
        with open("temp.pdf", "wb") as f:
            f.write(uploaded_file.getbuffer())
        docs += load_pdf("temp.pdf")
    if url:
        docs += load_web(url)
    if docs:
        vectorstore = create_knowledge_base(docs)
        st.session_state.vectorstore = vectorstore
        st.success("知识库构建完成!")

question = st.text_input("输入您的问题")
if question and "vectorstore" in st.session_state:
    answer = ask_question(st.session_state.vectorstore, question)
    st.write(answer)

运行命令:streamlit run app.py

总结

通过以上步骤,您已经成功搭建了一个支持PDF和网页问答的个人AI知识库。整个过程不超过5分钟,且无需复杂配置。您可以根据需要扩展功能,如添加更多文档源、优化答案质量等。


提示:使用自己的API密钥时请妥善保管,避免泄露。

分享到:
上一篇
具身智能入门教程:2026年最热门AI方向
下一篇
2026服务器手动安装宝塔面板:避坑与安全加固全流程
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意