5分钟开发一个AI论文抓取和ChatGPT提炼应用

news2024/11/27 13:34:13

5分钟开发一个AI论文抓取和ChatGPT提炼应用

第一步

在这里插入图片描述

  • 点击“即刻开始” -选择模板 python -修改标题 “AIPaper”,项目标识“AIPaper”,点击“创建项目”

第二步

在这里插入图片描述

  • 在编程区域右侧AI区域,输入框输入以下内容:
请根据下面的内容,用streamlit写一个抓取和显示https://arxiv.org/list/cs.AI/recent 最新ai论文的标题、摘要和pdf url的应用:arXiv is a project by the Cornell University Library that provides open access to 1,000,000+ articles in Physics, Mathematics, Computer Science, Quantitative Biology, Quantitative Finance, and Statistics.

Usage
Installation
$ pip install arxiv
In your Python script, include the line

import arxiv
Search
A Search specifies a search of arXiv's database.

arxiv.Search(
  query: str = "",
  id_list: List[str] = [],
  max_results: float = float('inf'),
  sort_by: SortCriterion = SortCriterion.Relevance,
  sort_order: SortOrder = SortOrder.Descending
)
query: an arXiv query string. Advanced query formats are documented in the arXiv API User Manual.
id_list: list of arXiv record IDs (typically of the format "0710.5765v1"). See the arXiv API User's Manual for documentation of the interaction between query and id_list.
max_results: The maximum number of results to be returned in an execution of this search. To fetch every result available, set max_results=float('inf') (default); to fetch up to 10 results, set max_results=10. The API's limit is 300,000 results.
sort_by: The sort criterion for results: relevance, lastUpdatedDate, or submittedDate.
sort_order: The sort order for results: 'descending' or 'ascending'.
To fetch arXiv records matching a Search, use search.results() or (Client).results(search) to get a generator yielding Results.

Example: fetching results
Print the titles fo the 10 most recent articles related to the keyword "quantum:"

import arxiv

search = arxiv.Search(
  query = "quantum",
  max_results = 10,
  sort_by = arxiv.SortCriterion.SubmittedDate
)

for result in search.results():
  print(result.title)
Fetch and print the title of the paper with ID "1605.08386v1:"

import arxiv

search = arxiv.Search(id_list=["1605.08386v1"])
paper = next(search.results())
print(paper.title)
Result
The Result objects yielded by (Search).results() include metadata about each paper and some helper functions for downloading their content.

The meaning of the underlying raw data is documented in the arXiv API User Manual: Details of Atom Results Returned.

result.entry_id: A url http://arxiv.org/abs/{id}.
result.updated: When the result was last updated.
result.published: When the result was originally published.
result.title: The title of the result.
result.authors: The result's authors, as arxiv.Authors.
result.summary: The result abstract.
result.comment: The authors' comment if present.
result.journal_ref: A journal reference if present.
result.doi: A URL for the resolved DOI to an external resource if present.
result.primary_category: The result's primary arXiv category. See arXiv: Category Taxonomy.
result.categories: All of the result's categories. See arXiv: Category Taxonomy.
result.links: Up to three URLs associated with this result, as arxiv.Links.
result.pdf_url: A URL for the result's PDF if present. Note: this URL also appears among result.links.
They also expose helper methods for downloading papers: (Result).download_pdf() and (Result).download_source().

第三步

在这里插入图片描述

  • 打开左侧main.py文件,将AI区生成的代码插入到文件中。

第四步

在这里插入图片描述

  • 打开左侧文件”requirements.txt“,输入下面的两行,用来加载安装arxiv的api和inscode的chatgpt api包:
arxiv
inscode_api

在这里插入图片描述

  • 打开.inscode文件
  • 将第一行修改为:
run = "pip install -r requirements.txt;streamlit run main.py"

第五步

在这里插入图片描述

  • 打开"main.py"文件,在第三行添加:
from inscode_api.send_question import send_question 

用来加载inscode的chatgpt api

  • 倒数第二行添加
st.write(send_question("你是一名专业IT记者,把下面的论文内容变成50字的中文快讯:",result.summary))
  • 说明:send_question是调用chatgpt的函数,第一个参数是prompt,第二个参数是传递的内容。

  • 最终代码如下:

import streamlit as st
import arxiv
from inscode_api.send_question import send_question

# 设置标题和页面描述
st.title('最新AI论文列表') 
st.write('这个应用程序使用arxiv API抓取最新的AI论文列表并显示它们的标题、摘要和PDF链接。')

# 设置查询参数
search = arxiv.Search(
    query='cat:cs.AI', 
    max_results=10, 
    sort_by=arxiv.SortCriterion.SubmittedDate
)

# 循环遍历结果并显示标题、摘要和PDF链接
for result in search.results():
    st.write('##', result.title)
    st.write(result.summary)
    st.write(send_question("你是一名专业IT记者,把下面的论文内容变成50字的中文快讯:",result.summary)) 
    st.write('PDF链接:', result.pdf_url)

第六步

在这里插入图片描述

  • 点击顶部工具栏的绿色“run”按钮。
  • 运行成功后,右侧会显示一个网页,内容是最新的AI论文内容,以及中文的快讯摘要。
  • 然后你可以发布到社区或者进行部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780202.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.3 Bootstrap CSS编码规范

文章目录 Bootstrap CSS编码规范语法声明顺序不要使用 import媒体查询(Media query)的位置带前缀的属性单行规则声明简写形式的属性声明Less 和 Sass 中的嵌套注释class 命名选择器代码组织编辑器配置 Bootstrap CSS编码规范 语法 用两个空格来代替制表…

Autosar通信入门系列04-聊聊CAN通信的Basic-CAN与Full-CAN

本文框架 1. 概述2. 基本内容2.1 什么是Basic-CAN与Full-CAN?2.2 既生瑜何生亮? 3. 不同报文类型如何选择Basic-CAN与Full-CAN? 1. 概述 在CAN通信学习时我们经常会遇到或者听同事聊到Basic-CAN与Full-CAN,单从字面上很难理解两个…

计讯物联工业路由器基于5G LAN技术成为工业互联网发展的“加速器”

随着5G的成熟发展,其易部署、低时延、高可靠、大带宽、广连接的特性助力传统工业智能数字化转型,解决了传统工业的布线繁琐、通信环境复杂易造成干扰、对时延与稳定性更加敏感、移动通信的网络需求、海量设备互联等难题。然而,5G在工业制造领…

软件测试基础 - 自动化测试技术

目录 前言: 什么是自动化测试? 自动化测试的优势: 自动化测试的劣势: 适合实施测试自动化的项目: 推行自动化测试的阻力: 软件研发生命周期各个阶段的自动化测试技术 前言: 软件测试是一…

还在手动维护Yapi?

因前后端人员通过接口定义字段,返回值等对接时非常苦恼,没有一个很好的平台维护,后端每次迭代都要写开发文档,需求变化,多系统联调等,给前后端联调造成阻塞。 1、后端开发文档编写规范 1)文档…

DataWhale AI夏令营——机器学习

DataWhale AI夏令营——机器学习 学习记录一1. 异常值分析2. 单变量箱线图可视化3. 特征重要性分析 学习记录一 锂电池电池生产参数调控及生产温度预测挑战赛 已配置环境,跑通baseline,并在此基础上对数据进行了简单的分析。 1. 异常值分析 对训练集…

Python知识使用目录体系

Python知识使用目录体系 前记:开始以Get No.方式进行记录,知识体系的建立 Get No. No1: IDEA(Java主要编辑器)中添加Python插件;(就在此总目录中写,属于纪念开始) 附加:另外一个pycharm工具使用python工…

pyqt5中的控件

字体部分 学习如何加载本地字体a.tff import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton from PyQt5.QtGui import QFont, QFontDatabaseclass MyWindow(QWidget):def __init__(self):super().__init__()self.button Noneself.label None…

【Java开发】 Mybatis-Plus 06:通用枚举功能

枚举类是开发时绕不开的话题, Mybatis-Plus 也提供了简便的枚举功能,快学起来吧~ 目录 1 版本区别 2 通用枚举功能实现 2.1 创建枚举类 2.2 实体类新增枚举字段 3 枚举字段测试 3.1 新增 ① 后台指定枚举 ② 前后端交互 3.2 查询 3.3 修改 ①…

递归排序算法快速排序的实现过程

快速排序(Insertion Sort)也是一种递归排序算法。 快速排序原理:先以列表中的任意一个数为基准(一般选头或尾),将列表分为左、右两个子列表。 左子列表的数要比基准数小,右子列表的数要比基准数大。然后继续把左子列表和右子列表按同样的方…

蓝桥杯专题-真题版含答案-【九宫幻方】【打鱼还是晒网】【阶乘尾数零的个数】【等差素数列】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

【Java】重写compareTo()方法给对象数组排序

我们先给一个数组排序,我们肯定用的是Arrays.sort()方法: public class test2 {public static void main(String[] args) {int[] arr{3,5,4,6,9,8,1};System.out.println(Arrays.toString(arr));System.out.println("---------");Arrays.sort…

【一文详解 requests 库中 json 参数和 data 参数的用法】

在requests库当中,requests请求方法,当发送post/put/delete等带有请求体 的请求时,有json和data2个参数可选。 众所周知,http请求的请求体格式主要有以下4种:application/jsonapplicaiton/x-www-from-urlencoded multi…

音视频开发-ffmpeg介绍-系列二

目录 一、FFmpeg核心结构体 二、解码流程 三、FFmpeg解码实现 四、FFmpeg编码实现 五、FFmpeg转码实现 一、FFmpeg核心结构体 AVFormatContext:解封装功能的结构体,包含文件名、音视频流、时长、比特率等信息; AVCodecContext&#xf…

nginx代理后刷新显示404,这样解决。

项目部署之后,通过首页进入访问页面正常,F5刷新之后出现错误如下图。 怎么解决: 在Nginx配置里面增加 location / {root /www/wwwroot/phm/phmweb;index index.html index.htm;try_files $uri $uri/ /index.html;}

Kotlin基础(七):数据类和封闭类

前言 本文主要讲解kotlin数据类(DataClass)和封闭类(SealedClasses),包括使用数据类,对象复制,数据类成员的解构,使用封闭类,以及数据类和封闭类在Android开发中的应用。…

【数据挖掘】时间序列的傅里叶变换:用numpy解释的快速卷积

一、说明 本篇告诉大家一个高级数学模型,即傅里叶模型的使用; 当今,傅里叶变换及其所有变体构成了我们现代世界的基础,为压缩、通信、图像处理等技术提供了动力。我们从根源上理解,从根本上应用,这是值得付…

微信小程序——页面跳转方法和场景用法总结

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

失物招领小程序连接人与物的奇妙纽带

hello guys!! 随着生活的节奏加快,人们在各个领域都有可能会遇到丢失物品或者拾到物品的情况。不论是学生、员工还是旅游爱好者,我们都有可能在生活的轨迹中遇到这样的情况。为了提供一个便捷的平台,让人们能够分享、发布和寻找丢失物品&…

再添新品|OPT(奥普特)高速高分辨率线阵相机发布!

针对大幅面且高速生产的视觉检测场景,OPT(奥普特)持续在数据传输接口技术上进行开发创新,推出三大系列线阵相机,产品阵容再升级。 本次发布的新品共12款,分别有万兆网、CXP及CL系列的新品,分辨…