了解并学习AIGC是第一步
AIGC(Artificial Intelligence Generated Content)是人工智能生成内容的技术,它是人工智能1.0时代进入2.0时代的重要标志。AIGC技术的核心思想是利用人工智能算法生成具有一定创意和质量的内容,通过训练模型和大量数据的学习,AIGC可以根据输入的条件或指导,生成与之相关的内容,如文章、图像、音频等。
ALGC的用处:
- 内容创作:AIGC在广告、游戏、自媒体等领域已经实现了广泛应用,帮助创作者更快地生成高质量的内容。
- 个性化服务:AIGC技术可以提供个性化的服务,如推荐系统可以根据用户的兴趣和行为为其推荐相关内容,提升用户体验。
- 辅助工具:在教育领域,AIGC可以辅助教师制定教学计划、评估学生作业,或为学生提供个性化学习建议;在医疗领域,AIGC可以辅助医生诊断疾病、制定治疗方案,或为患者提供健康咨询。
- 机器翻译:AIGC可以实现多种语言之间的翻译,提高翻译质量和速度。
- 智能问答:AIGC可以用于构建问答系统,帮助用户快速获取所需信息。
- 自动摘要:AIGC可以从大量文本中提取关键信息,生成简洁、准确的摘要。
- 情感分析:AIGC可以分析文本中的情感倾向,如正面、负面或中性,帮助企业了解客户反馈、市场趋势等。
在我看来AIGC技术已经在多个领域实现了广泛的应用,其应用前景广阔,将为人类社会的数字化转型和智能化发展提供重要支持。
这次想分享的是AIGC的智能问答方面给AI工程师带来的便利
举个实例,在工作时需要从豆瓣电影网站拿到排行榜前十电影的信息(电影标题、封面、主演....)
来吧开始写代码爬取网页的数据吧
-
发出一个http请求 html 字符串
-
对字符串做正则/查找 伪代码
- 聚焦 .article movies 列表
- table 列表 电影列表
- title pic。。。。
-
得到电影列表 JSON数组 [{ name:'破墓', pic:'', desc:'', score:'', }, ]
写个大概的代码如下
//console.log('编程实现爬虫爬取豆瓣电影');
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) {
// 封面链接(picture)
const picturePending = filmHandle.$eval('td img', (img) => img.src)
// 电影名(name)
const namePending = filmHandle.$eval(
'td:nth-child(2) a',
(el) => el.innerText.split(' / ')[0]
)
// 简介(info)
const infoPending = filmHandle.$eval(
'td:nth-child(2) .pl',
(el) => el.textContent
)
// 评分(score)
const scorePending = filmHandle.$eval(
'td:nth-child(2) .star .rating_nums',
(el) => el.textContent
)
// 评论人数(commentsNumber)
const commentsNumberPending = filmHandle.$eval(
'td:nth-child(2) .star .pl',
(el) => el.textContent?.replace(/\(|\)/g, '')
)
pendingTask.push([
namePending,
picturePending,
infoPending,
scorePending,
commentsNumberPending
])
}
const filmInfoResult = []
let i = 0
for (const item of pendingTask) {
Promise.all(item).then((res) => {
// filmInfo 是一个电影信息对象,顺序在前面就决定好了
const filmInfo = [
'name',
'picture',
'info',
'score',
'commentsNumber'
].reduce((pre, key, i) => {
pre[key] = res[i]
return pre
}, {})
// 保存每个电影信息
filmInfoResult.push(filmInfo)
// 最后一次的处理
if (pendingTask.length === ++i) {
browser.close()
// 整理,根据数量决定是多还是单
const filmResult = {
element: filmInfoResult,
type: filmInfoResult.length > 1 ? 'multiple' : 'single'
}
console.log(filmResult)
}
})
}
})
这是传统的工程师的敲代码思维,绞尽脑汁写得头都大了
反观AI工程师这时候就可以使用AIGC来为我们便利的得到我们想要的结果
使用AIGC进行操作
有哪些编程模式可以被替代?50%的编程流程不需要了
现在可以基于LLm大模型编程 chatgpt ?以前我们主要是对话, openai AIGC 自然语言处理一些coding编程流程工作和http请求
开始操作实例
- 直接搜索并查找豆瓣电影网站的源码找到我们需要的table标签,生成html代码复制下来(eg:如下图)
<table width="100%" class="">
<tbody><tr class="item">
<td width="100" valign="top">
<a class="nbg" href="https://movie.douban.com/subject/35490167/" title="破墓">
<img src="https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2905896429.webp" width="75" alt="破墓" class="">
</a>
</td>
<td valign="top">
<div class="pl2">
<a href="https://movie.douban.com/subject/35490167/" class="">
破墓
/ <span style="font-size:13px;">The Unearthed Grave / Exhuma</span>
</a>
<p class="pl">2024-02-16(柏林电影节) / 2024-02-22(韩国) / 崔岷植 / 金高银 / 柳海真 / 李到晛 / 全镇基 / 洪瑞俊 / 李大卫 / 小山力也 / 金智安 / 金善映 / 韩国 / 张在现 / 134分钟 / 破墓 / 悬疑 / 惊悚 / 恐怖 / 张宰贤 Jae-hyun Jang / 韩语 / 日语 / 英语</p>
<div class="star clearfix">
<span class="allstar35"></span>
<span class="rating_nums">6.7</span>
<span class="pl">(106063人评价)</span>
</div>
</div>
</td>
</tr>
</tbody></table>
- 选取一个咱们习惯用的AIGC网站/APP这里我使用的是通义千问
- 粘贴代码并输入我们的要求(这里是电影列表。获取需要电影名(name),封面链接(picture),简介(info), 评分(score),评论人数(commentsNumber)。 请使用括号的单词作为属性名,以JSON数组的格式返回)再输入进去
这样便轻轻松松的得到了我们需要的数据,只需要简单的复制粘贴便为我们解决了大量敲代码的时间
总结
作为一个新手得到的感悟与总结,AIGC在智能问答领域的应用不仅提高了效率和用户体验,还降低了成本,增强了系统的灵活性和学习能力,这些都是与传统工程师工作方式相比所展现出的明显优势。
这些便利主要体现在以下几个方面:
- 效率提升:AIGC能够迅速响应用户查询,提供准确信息,极大地缩短了用户等待时间。相比之下,传统工程师需要手动编写代码或设计算法来处理问题,这通常耗时更长。
- 知识管理:AIGC系统能够整合并学习大量的知识库和数据源,形成一个庞大的知识网络,使得信息检索和处理更加高效。传统工程师则依赖于个人经验或有限的文档资源,难以达到相同规模的知识覆盖。
- 持续学习与优化:AIGC系统通过机器学习算法,能够不断从交互中学习,自我优化,提升回答的准确性和相关性。而传统工程师开发的系统往往缺乏这种自我进化的能力,需要人工定期维护和升级。
- 个性化服务:AIGC可以根据用户的历史交互和偏好,提供个性化的答案和服务,增强用户体验。传统工程师构建的系统虽然也能实现一定程度的定制,但通常需要更多的定制化开发工作。
- 可扩展性:AIGC系统容易扩展到不同领域和场景中,快速部署新的问答服务。传统工程方法可能需要针对每个新场景重新设计和开发解决方案。