思维的转变:向AIGC时代迈出第一步
引言
在这个科技日新月异的时代,我们正站在一个前所未有的转折点上,目睹着一场静悄悄却影响深远的变革——从传统的创作模式向人工智能生成内容(AIGC)时代的迈进。这场变革不仅是一场技术的革新,更是对我们固有思维方式和创造力边界的重新定义。
随着算法的日益精进和数据的海量积累,机器开始展现出令人惊叹的内容创作能力,从文字、图像到音乐、视频,AIGC正在逐步渗透到社会的每一个角落。
本文旨在探讨AI生成内容(AIGC)这一转型变化过程中的转变思维、调整心态和升级技能,以开放和前瞻性的视角共同迈入新的纪元。我们将在探索中发掘潜力,引领创新。
首先,什么是AIGC?
AIGC 是一种利用先进人工智能技术自动生成文本、图像、音频和视频等多种类型内容的方法。它代表了内容创造领域的一个重大进步,与传统的专业生产内容(PGC)和用户生产内容(UGC)相比,AIGC的核心在于其内容生产的主体是人工智能系统。
接下来,我们将探索如何在这一新兴领域内发掘潜力、引领创新。
在AI生成内容的浪潮中,我们不仅要学会适应新技术,还要充分利用人工智能的优势。这包括但不限于:
1. **技能升级**:提升自己在人工智能相关领域的知识和能力,了解最新的技术和应用案例;
2. **思维转变**:从传统的生产内容到更开放、灵活的内容创作模式,培养创新思维和合作精神;
3. **心态调整**:保持对新事物的好奇心和适应性,积极应对可能的挑战。
让我们一起迎接AIGC时代,勇敢地迈出第一步。
然后在解析这个http响应的内容来获取我们想要的信息。
以上的过程需要反复尝试多次才能成功。但AIGC提供了自动化解决方案,能够快速且准确地完成这些任务。
例如:使用Python中的Scrapy框架,你只需要编写几个简单的代码,就可以自动完成网页爬取,并且可以自动生成抓取的文档路径、文件名、数据字段名称等信息,从而节省大量人力物力。
传统编程VSAIGC
明白了这一点后,很多人仍然对传统的编程方式难以接受。下面,我将以一个简单的问题为例,让大家更好地理解AIGC浪潮带来的冲击:
想象一下,你需要开发一个爬虫,目标是从豆瓣电影排行榜的网页中获取相关的信息(例如:电影名、封面链接、简介等)。
传统编程方式
首先需要向浏览器发送HTTP请求,找到该网页;然后解析这个HTTP响应的内容以获取我们想要的信息。
这个过程需要反复尝试多次才能成功。但AIGC提供了自动化解决方案,能够快速且准确地完成这些任务。
例如:使用Python中的Scrapy框架,你只需要编写几个简单的代码,就可以自动完成网页爬取,并自动生成抓取的文档路径、文件名、数据字段名称等信息,从而节省大量人力物力。
对比来看,传统编程方式需要手动操作和多次尝试才能成功。而AIGC则能通过自动化解决方案,快速且准确地完成这些任务。
下面是一个详细的步骤:
1. 获取HTML字符串:首先,你需要从某个来源(如网页、API等)获取一个完整的HTML字符串。
2. 解析HTML结构:接下来,你需要使用合适的工具或库来解析这个字符串,并确定它的基本结构。这通常涉及理解HTML的文档类型声明和头部信息。你还需要识别所有的标记、属性和内容。
3. 分析结构:分析HTML架构时,你需要关注几个方面:
- 标记之间的关系(如父子关系)
- 事件处理方法
- 动画效果等
4. 解释结构:最后,将解析出的HTML结构用清晰的方式解释出来。这可能包括生成一个树状图或使用其他的可视化工具。
在进行以上步骤时,请确保你有适当的权限和数据来源,以避免侵犯版权问题。
之后,你需要对该HTML字符串应用正则表达式,聚焦.article.table列表;
(正则表达式是一种强大的文本处理工具,它允许用户通过一种特殊的语法来描述字符串的模式。这种模式可以非常简单,比如匹配一个具体的单词,也可以非常复杂,用于匹配复杂的文本结构,如电子邮件地址、电话号码格式、HTML标签等。
对字符串应用正则表达式,常见的操作包括:
匹配: 检查一个字符串是否符合正则表达式定义的模式。例如,可以使用正则表达式来验证一个输入是否为有效的邮箱地址。
搜索: 在一个长字符串中查找符合正则表达式描述的所有子串位置。这有助于从大量文本中快速定位特定模式的信息。
替换: 找到字符串中符合正则表达式的部分,并将其替换为另一段文本。这对于批量修改文本内容特别有用。
提取: 从字符串中抽取符合特定模式的部分内容。例如,从一个网页源代码中提取所有的链接地址。
```import { createCrawl } from 'x-crawl' // 创建爬虫
// 创建爬虫应用
const crawlApp = createCrawl() //
// crawlPage 用于爬取页面
crawlApp.crawlPage('https://movie.douban.com/chart').then(async (res) => {
const { page, browser } = res.data
// 等待元素出现在页面中
await page.waitForSelector('#wrapper #content .article')
const filmHandleList = await page.$$('#wrapper #content .article table')
const pendingTask = []
for (const filmHandle of filmHandleList) {
const picturePending = filmHandle.$eval('td img', (img) => img.src)
const namePending = filmHandle.$eval(
'td:nth-child(2) a',
(el) => el.innerText.split(' / ')[0]
)
const infoPending = filmHandle.$eval(
'td:nth-child(2) .pl',
(el) => el.textContent
)
// const scorePending = filmHandle.$eval(
// 'td:nth-child(2) .star .rating_nums',
// (el) => el.textContent
// )
// const commentsNumberPending = filmHandle.$eval(
// 'td:nth-child(2) .star .pl',
// (el) => el.textContent?.replace(/\(|\)/g, '')
// )
pendingTask.push([
namePending,
picturePending,
infoPending
// 评论人数(commentsNumber)
// scorePending,
])
}
const filmInfoResult = []
let i = 0
for (const item of pendingTask) {
Promise.all(item).then((res) => {
const name = res[0]
const picture = res[1]
const info = res[2]
// const score = res[3]
// const commentsNumber = res[4]
filmInfoResult.push({
name,
picture,
info
// commentNumber
})
if (pendingTask.length === ++i) {
browser.close()
const filmResult = {
element: filmInfoResult,
type: filmInfoResult.length > 1 ? 'multiple' : 'single'
}
console.log(filmResult)
}
})
}
})
```
最后,编写代码将爬取的数据存储到JSON数组中。
当然可以!以下是将文本分段后重写的版本:
### 简单明了:代码量之大
这一系列操作中的代码量真的不小!
---
### AIGC方式爬虫:自然语言指令与AI理解
我们只需通过自然语言指令告诉AI系统想要爬取的数据类型和来源,AI就会自行分析并理解需求。同样的,我们也需要爬取电影排行榜的相关信息。操作如下:
---
### 获得HTML字符串响应
拿到HTML的字符串响应。
将这部电影的HTML片段传递给AI,并告知它这是部电影。然后,请告诉AI你想要获取的信息包括:电影名称(name),封面链接(picture),简介(info),评分(score),评论的数量(commentsNumber)。请使用括号中的单词作为属性名,以JSON对象的形式返回这些信息。
最后一键上传即可。
对比总结
传统的编程方式开发爬虫需要从分析每个网站的HTML结构到编写复杂的正则表达式,再到处理各种可能出现的异常错误,最后才能输出成自己想要的数据模型。这不仅耗时而且要求编程师具备扎实的编程功底和网页解析知识。
而AIGC只需要详细、清晰地表达我们的需求,其他的事都交给LLM大模型编程即可,这明显降低了编程门槛,并且提高了开发效率,特别是对于非专业开发者而言,能够通过简单的指令快速实现功能。
AIGC带来的变革
通过这个例子,我们可以清楚地感受到AI浪潮带来的冲击。它降低了编程门槛,使得非程序员也能快速构建复杂应用;它提升了开发效率,让从前需要数天的任务缩短至几小时甚至几分钟;更重要的是,它促进了创新,让开发者有更多精力专注于业务逻辑和数据分析,而非琐碎的技术实现细节。
尽管如此,AIGC也并非万能钥匙。它依赖于高质量的训练数据和算法,对于一些高度定制化、复杂交互的场景,人工干预和专业知识仍不可或缺,毕竟只有50%的编程模块可以被AIGC代替。基于冯诺依曼原理,非AIGC任务,也只能交给传统编程流程来做。
但不可否认的是,AI正在逐步改变着软件开发的格局,为未来技术发展开辟了新的可能性!