GPT-4的使用场景和案例:基于Twitter热门推文的分析和中文总结 - 掘金
最近在Twitter上探索时,我发现了许多关于ChatGPT的创新性应用和新颖玩法。然而,这些讨论主要是英文的,并且涉及大量重复的信息。因此,我想邀请ChatGPT帮助我深入分析和概括有关“ChatGPT-4创新应用与独特思路”的相关话题,以便更好地了解这些潜在的新兴领域。
最终结果
话不多说先看结果,最终数据内容有推特的URL,推特内容,英文总结,中文总结。
模型选定
目前,GPT-4是最强大的模型,其上下文关联性和推理能力在OpenAI中都是首屈一指的。然而,由于算力消耗极大,限制了请求频次。以前每4小时可以请求100次,现在每3小时只能请求25次。正如俗话所说:“好的工具要用在刀刃上。”在整个项目中,我们将编程上下文、环境处理、错误处理等方面的任务交给GPT-4模型处理。对于一般的方案查询,我们则采用GPT-3.5。无论是4.0还是3.5版本,它们的知识库都是截至2021年的数据。
我们使用Google的Colab来运行代码,因为免费。
开始问答获取数据
首先我们使用3.5模型来搜索一下获取推特数据的python库。这里我们就随便选一个库,所以我就选了最后一个snscrape。
生成基本代码
一旦我们确定了语言并选择了适当的库,我们就可以重新进入强大的GPT4对话,并要求它创建一个使用snscrape获取Twitter内容的演示。
然后我们将生成的代码直接放入到colab中,发现直接报错,所以我们继续向它提问。
将代码放入到colab中运行,发现什么都没有输出,
所以这里我尝试删除查询query当中的中文,再次运行代码,这把有输出了
优化查询逻辑
虽然我们的代码已经可以通过指定查询关键词来抓取推特内容,但返回的结果却五花八门,包括各种类型的推文,如推销信息、广告等,其中包含许多杂乱无章的内容。而我们的重点在于寻找关于“GPT-4新使用方法和创意玩法”的信息。
为了解决这个问题,我们需要优化查询策略。然而,由于我并非爬虫领域的专家,我不确定如何设置更精确的过滤条件。因此,我们需要GPT-4的帮助来实现这个目标。
nice果然很棒!GPT4很快帮我们优化了查询语句,赶快运行一下查看效果。
这把输出的内容关联性就很高了,但是我还不满足,我需要的抓取的是热度最高的帖子,所以我继续对GPT4提问。果然是有求必应,很快就给我答案了。
内容总结
哎呀,面对这海量的推文数据,我可不是超人,哪有那么多时间一个个去看呀!这时候,我们的AI小助手就该露一手了,帮我总结一下推文内容,并以整齐的表格形式呈现给我。所以,没错,我又提出了一个“贪心不足”的请求,让AI来拯救我于信息洪流之中吧!
对于英语不是很好的我来说,即使AI给我总结出来了,我也看不懂呀,所以没错我的要求又来了
再次放入到colab中运行,查看openai给我总结的内容。
同时AI还很贴心给你生成了结果的csv文件,
当然你可以使用以下代码来进行下载结果
from google.colab import files
files.download("tweet_summaries.csv")
完整代码
所有代码都是GPT4写的!!!,我只是负责出提示
# 导入所需模块
import snscrape.modules.twitter as twitter
import pandas as pd
import openai
import logging
from googletrans import Translator
# 配置日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# 设置OpenAI API key
openai.api_key = "your openai key"
# 指定查询内容和要获取的结果数
query = "chatgpt4 (use OR uses OR using OR example OR examples OR scenario OR scenarios OR application OR applications)"
results_to_retrieve = 50
# 输出查询内容
logger.info(f"Searching for '{query}' on Twitter")
# 创建Twitter搜索爬虫
scraper = twitter.TwitterSearchScraper(query)
# 根据参与度(点赞数+转推数+回复数)对推文进行排序
tweets = sorted(scraper.get_items(), key=lambda x: x.likeCount + x.quoteCount + x.replyCount, reverse=True)
# 创建翻译器实例
translator = Translator()
# Modify this part of the previous code
tweet_data = []
for i, tweet in enumerate(tweets[:results_to_retrieve]):
tweet_url = tweet.url
tweet_content = tweet.content
# 使用OpenAI GPT对推文进行摘要
response = openai.Completion.create(
engine="text-davinci-002",
prompt=f"Please summarize the following tweet:\\n\\n{tweet_content}\\n\\nSummary:",
max_tokens=30,
n=1,
stop=None,
temperature=0.7,
)
summary = response.choices[0].text.strip()
# 将摘要翻译成中文
translated_summary = translator.translate(summary, dest="zh-cn").text
print("here is summary",translated_summary);
# 将获取到的数据添加到tweet_data列表中
tweet_data.append((tweet_url, tweet_content, summary, translated_summary))
# 创建一个DataFrame对象,并将其保存为CSV文件
df = pd.DataFrame(tweet_data, columns=["Tweet URL", "Tweet Content", "Summary", "Translated Summary (Chinese)"])
df.to_csv("tweet_summaries.csv", index=False)
结尾
在这场信息的海洋中,我们历经波折,终于找到了解决方案。感谢AI的帮助,让我们能够以更高效、更聪明的方式应对挑战。如今,面对纷繁复杂的数据,我们不再惧怕,因为我们知道,有AI陪伴在身旁,共同成长,共创美好未来。让我们一起迈向智能时代,探索更多有趣、有益的知识与技能,为明天的世界添砖加瓦!