使用chatgpt api快速分析pdf

需求背景

搞材料的兄弟经常要分析pdf,然后看到国外有产品是专门调用chatpdf来分析pdf的,所以就来问我能不能帮他也做一个出来。正好我有chatgpt的api,所以就研究了一下这玩意怎么弄。

需求分析

由于chatgpt是按字符算钱的,所以如果把整个pdf文本全部塞进去,虽然效果是好了,但是钱花的巨快。测试的时候不小心传了个86页的pdf进去,好家伙,直接余额变负值了,一下子花了6刀多。。。。所以我们只能先对pdf做预处理,主要使用了langchain包加载和生成向量库

引入依赖

python 复制代码
from langchain.document_loaders import PyPDFLoader
from langchain.indexes.vectorstore import VectorstoreIndexCreator
from langchain.vectorstores.chroma import Chroma
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.indexes.vectorstore import VectorStoreIndexWrapper

生成向量

python 复制代码
# https://chatpdf4cn.com/
def load_pdf_and_save_to_index(file_path, index_name):
    loader = PyPDFLoader(file_path)
    index = VectorstoreIndexCreator(vectorstore_kwargs={"persist_directory":get_index_path(index_name)}).from_loaders({loader})
    print('save')

    index.vectorstore.persist()

加载向量库

python 复制代码
def load_index(index_name):
    index_path=get_index_path(index_name)
    embedding = OpenAIEmbeddings()
    vectordb = Chroma(
    persist_directory=index_path,
    embedding_function=embedding
 )
    return VectorStoreIndexWrapper(vectorstore=vectordb)

最后调用chatgpt访问

python 复制代码
load_pdf_and_save_to_index(file_path, index_name)
index = load_index(index_name)

ans = index.query("文章中提到的两种磁化模式有什么区别?",chain_type_kwargs={}) #RetrievalQAWithSourcesChain

print(ans)

附上完整项目试用地址
chatpdf4cn

调用chatgpt接口还是蛮贵的,所以限制了试用次数,如果有需要的可以联系我开放限制,希望能反馈一些使用意见。

相关推荐
蒙奇·D·路飞-15 小时前
Gemini、ChatGPT、Qwen、豆包、Claude五大主流AI模型深度对比:技术、生态与应用全景解析
人工智能·chatgpt
貂蝉空大15 小时前
vue-pdf-embed分页预览解决文字丢失问题
前端·vue.js·pdf
老米_专讲AIGC16 小时前
2026年学术降AI工具深度评测:如何在严苛检测时代安全过关
人工智能·深度学习·chatgpt·aigc·ai写作
jackywine617 小时前
系统提示词(System Prompt),AI 的“人设剧本“
人工智能·chatgpt
袁袁袁袁满18 小时前
Python爬虫下载PDF文件
爬虫·python·pdf·python爬虫下载pdf文件
Knight_AL18 小时前
docx4j vs LibreOffice:Java 中 Word 转 PDF 的性能实测
java·pdf·word
夏日白云18 小时前
《PDF解析工程实录》第 14 章|内容流文本布局计算:pdfminer 在做什么,以及它为什么不够
pdf·llm·大语言模型·rag·文档解析
伟贤AI之路18 小时前
原创分享:PDF工具箱-快速合并、拆分PDF以及图片转PDF
pdf·pdf工具
XyX——1 天前
【福利教程】一键解锁 ChatGPT / Gemini / Spotify 教育权益!TG 机器人全自动验证攻略
人工智能·chatgpt·机器人
十二AI编程1 天前
Anthropic 封杀 OpenCode,OpenAI 闪电接盘:AI 编程生态的 48 小时闪电战
人工智能·chatgpt