首页 > 其他分享 >LLM实战:当网页爬虫集成gpt3.5

LLM实战:当网页爬虫集成gpt3.5

时间:2024-05-20 20:51:43浏览次数:15  
标签:网页 ai gpt3.5 爬虫 st 爬取 LLM Scrapegraph

1. 背景

最近本qiang~关注了一个开源项目Scrapegraph-ai,是关于网页爬虫结合LLM的项目,所以想一探究竟,毕竟当下及未来,LLM终将替代以往的方方面面。

这篇文章主要介绍下该项目,并基于此项目实现一个demo页面,页面功能是输入一个待爬取的网页地址以及想要从网页中抽取的内容,最后点击按钮实现网页抓取及解析。

2. 模块简介

2.1 Scrapegraph-ai

 

 

该项目是一个网页爬虫的python包,使用LLM和直接图逻辑(direct graph logic)来为网页和本地文档(XML, HTML, JSON)创建爬取管道(pipeline)。

2.2 GPT-3.5免费申请,且国内可访问

GPT3.5-Turbo免费申请可以在开源项目GPT_API_free进行访问,其中该项目有免费申请的地址,以及网页插件、桌面应用安装等教程,在日志工作学习中,使用起来非常丝滑~

其次,国内访问gpt3.5可以基于该项目提供的代理: https://api.chatanywhere.tech/v1来实现访问。

 

3. 实战

3.1 安装第三方包

# 网页开发包,和Gradio类似
pip install streamlit
# 爬虫相关包
pip install playwright
playwright install
playwright install-deps # 安装依赖

 

3.2 设置gpt3.5代理环境变量

import os
os.environ['OPENAI_API_BASE'] = 'https://api.chatanywhere.tech/v1'
OPEN_API_KEY = 'sk-xxxxx'

 

3.3 创建网页元素

import streamlit as st

st.title('网页爬虫AI agent')
st.caption('该app基于gpt3.5抓取网页信息')

url = st.text_input('属于你想抓取的网页地址URL')
user_prompt = st.text_input('输入你想要从该网页获取知识的prompt')

 

3.4 基于scrapegraph-ai包构建图配置以及创建图逻辑

from scrapegraphai.graphs import SmartScraperGraph

# 图配置信息,默认调用gpt3.5,其次embedding模型未设置,但阅读源码后,可以发现默认走的是openai的embedding模型
graph_config = {
    'llm': {
        'api_key': OPEN_API_KEY,
        'model': 'gpt-3.5-turbo',
        'temperature': 0.1
    }
}

# 创建直接图逻辑
smart_scraper_graph = SmartScraperGraph(
    prompt=user_prompt, # 用户输入的prompt
    source=url, # 用户输入的url
    config=graph_config
)

# 增加一个按钮进行爬取、解析及页面渲染
if st.button('爬取'):
    result = smart_scraper_graph.run()
    st.write(result)

3.5 运行启动

streamlit run scrape_web_openai.py

 

3.6 底层原理

通过研读SmartScraperGraph源码,底层直接图逻辑的原理如下图所示。分为抓取、解析、RAG、答案生成,并默认以json格式输出

  

4. 效果

4.1 新闻类

网址:ps://news.sina.com.cn/w/2024-05-20/doc-inavwrxq4965190.shtml

4.2 公众号

https://mp.weixin.qq.com/s/rFYXKiedqmVo5URDxlbHzA

  

针对一些简单的网页如新闻网页等,可以正常爬取,但响应时间在10s以上,针对一些复杂的页面,如包含鉴权、反爬机制等,可能无法正常爬取。

5. 总结

一句话足矣~

本文主要是通过Scrapegraph-ai集成gpt3.5实现一个简单的网页爬取并解析的demo应用,其中涉及到gpt3.5免费申请,Scrapegraph-ai底层原理简介,demo应用源码等。

之后会写一篇关于Qwen7B和BGE的相似度模型,与Scrapegraph-ai集成的demo应用,敬请期待 ~

6. 参考

1. Scrapegraph-ai: https://github.com/VinciGit00/Scrapegraph-ai

2. GPT_API_free: https://github.com/chatanywhere/GPT_API_free

 

 

标签:网页,ai,gpt3.5,爬虫,st,爬取,LLM,Scrapegraph
From: https://www.cnblogs.com/mengrennwpu/p/18202776

相关文章

  • LLM大模型GPT2微调尝试
    1、作为安全从业者,以前搞逆向、挖漏洞、干渗透全靠人工推进,缺点很明显:无法自动化,甚至也无法半自动化,效率低(后续可以开发agent解决)知识面有限,存在很多知识盲点,导致遇到部分问题无法解决(可以通过增加知识库,然后rag检索或微调大模型解决)   尝试了一些在线的大模型(chat......
  • vllm服务推理参数
    stop:Listofstring。【生成文本时,碰到此token就会停下,但结果不会包含此token】stop_token_ids:Listofstring。【生成id时,碰到此id就会停止,会包含此id,比如tokenizer.eos_token_id[im_end]】最终判断是否停止,是两个的并集【同时考虑】参考:https://docs.vllm.ai/en/late......
  • LLM-文心一言:什么是电网WAMS?
    电网WAMS即广域测量系统(WideAreaMeasurementSystem),是基于同步向量技术构成的新一代电网动态监测和控制系统。WAMS的信息来源于PMU(相量测量单元)所采集的精确实时和同步信息,因此具有异地高精度同步向量测量、高速通信和快速反应等技术特点,非常适合大规模电网调度。它为电网实时......
  • LLM-文心一言:什么是SCADA系统
    SCADA系统,即数据采集与监视控制系统,是一种基于计算机的生产过程控制与调度自动化系统。它主要应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制以及过程控制等诸多领域。在电力系统中,SCADA系统的应用最为广泛,技术发展也最为成熟。SCADA系统具有实时监控功能,......
  • bellmax-ford算的证明
    设\(dist[x]\)表示源点到\(x\)的最短路的距离(图中无负环),若对图中任意一条边\((x,y,z)\)满足\(dist[y]≤dist[x]+z\),那么\(dist\)就是最短路数组证:考虑任意一个点\(a\),假设找出了一条源点到\(a\)的最短路径{\(x_0,x_1,...,x_n,a\)},那么显然这条路径上\(x_0\)到任意一个点一定是最......
  • 【开源】2024最新python豆瓣电影数据爬虫+可视化分析项目
    项目介绍【开源】项目基于python+pandas+flask+mysql等技术实现豆瓣电影数据获取及可视化分析展示,觉得有用的朋友可以来个一键三连,感谢!!!项目演示[video(video-C9B87WwE-1716106102936)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=1204518067)(image-https......
  • 一文彻底整明白,基于Ollama工具的LLM大语言模型Web可视化对话机器人部署指南
    在上一篇博文中,我们在本地部署了Llama38B参数大模型,并用Python写了一个控制台对话客户端,基本能愉快的与Llama大模型对话聊天了。但控制台总归太技术化,体验不是很友好,我们希望能有个类似ChatGPT那样的Web聊天对话界面,本博文就安排起来……上一篇Llama38B大模型部署......
  • GPT-4o 后 LLM 时代 RTC 需求讨论会丨社区伙伴活动分享
    我们将于5.19(周日)上午10点举办《GPT-4o后LLM时代RTC需求讨论会》讨论会。本期讨论会预计为线上闭门形式。 每期讨论会分别邀请了行业里面最资深的从业者、创业者朋友,每次讨论时间都限制在1.5-2小时,围绕主题,全程干货。 GPT-4o后最大的变动就是大模型的延迟时间大大缩短......
  • python爬虫基础
    前言Python非常适合用来开发网页爬虫,理由如下:1、抓取网页本身的接口相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)此外,抓取网页有时候需要模......
  • LLM实战:LLM微调加速神器-Unsloth + Qwen1.5
    1.背景上一篇介绍了基于训练加速框架Unsloth,微调训练Llama3的显卡资源占用及训练时间对比。近期Unsloth新增了Qwen1.5的模型适配,因此本qiang~马不停蹄地又进行了一次实验对比。对Unsloth的简介,感兴趣的客观可以查阅上一篇《LLM微调加速神器:Unsloth+LLama3》。2.实战本着......