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
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意