让大模型分析csdn文章质量 —— 提取csdn博客评论在文心一言分析评论区内容

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 让大模型分析csdn文章质量 —— 提取csdn博客评论在文心一言分析评论区内容

⭐前言

大家好,我是yma16,本文分享关于 让大模型分析csdn文章质量 —— 提取csdn博客评论在开源大模型分析评论区内容。

vue3系列相关文章:

vue3 + fastapi 实现选择目录所有文件自定义上传到服务器

前端vue2、vue3去掉url路由“ # ”号——nginx配置

csdn新星计划vue3+ts+antd赛道——利用inscode搭建vue3(ts)+antd前端模板

认识vite_vue3 初始化项目到打包

python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示

python系列文章:

python爬虫_基本数据类型

python爬虫_函数的使用

python爬虫_requests的使用

python爬虫_selenuim可视化质量分

python爬虫_django+vue3可视化csdn用户质量分

python爬虫_正则表达式获取天气预报并用echarts折线图显示

python爬虫_requests获取bilibili锻刀村系列的字幕并用分词划分可视化词云图展示

python爬虫_selenuim登录个人markdown博客站点

python爬虫_requests获取小黄人表情保存到文件夹

python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示

什么是自然语言处理

自然语言处理(Natural Language Processing,简称NLP),指的是计算机科学和人工智能领域中研究人类语言和计算机之间的相互作用的一门技术。其目标是让计算机能够理解、处理、生成和运用自然语言。NLP技术包括文本分类、情感分析、语言翻译、问答系统等诸多领域,应用广泛。

insicode演示项目

⭐技术栈选择

前端:vue3 + antd

后端:python + django

引用开源大模型: 文心一言

⭐前端页面搭建

vue3搭建页面

<script setup lang="ts">
import { reactive } from 'vue'
import { getRemoteCsdnCommit, askGpt } from '../../service/csdnApi.js'
import { message } from 'ant-design-vue';
const state: any = reactive({
    loading: false,
    analysis:'',
    text: '',
    articleId: '133955447',
    page: 1,
    pageSize: 10,
    unfold: '',
    commitId: ''
})
const getCommit = async () => {
    state.loading = true
    state.text = ''
    const params = { ...state }
    delete params.text
    delete params.loading
    try {
        const result = await getRemoteCsdnCommit(params)
        console.log(result, 'result')
        const { data } = result?.data
        if (data?.list) {
            state.text = data.list.map((item:any) => item.info.content).join(',')
        }
    }
    catch (e) {
        message.warning(JSON.stringify(e))
    }
    finally {
        state.loading = false
    }
}
const analysisCommit = async () => {
    try {
        console.log('state.text',state.text)
        const res = await askGpt({
            content: '帮我分析总结这些评论' + state.text
        })
        if(res?.data?.result){
            state.analysis=res?.data?.result
        }
    }
    catch (e) {
        message.warn(JSON.stringify(e))
    }
}
</script>
<template>
    <a-spin :spinning="state.loading">
        <div>
            <div style="display: flex;">
                <div style="width:50%">
                    <div>
                        articleId: <a-input v-model:value="state.articleId" />
                    </div>
                    <div>
                        page: <a-input v-model:value="state.page" />
                    </div>
                    <div>
                        pageSize: <a-input v-model:value="state.pageSize" />
                    </div>
                    <div>
                        unfold: <a-input v-model:value="state.unfold" />
                    </div>
                    <div>
                        commitId: <a-input v-model:value="state.commitId" />
                    </div>
                </div>
                <div style="width:50%;display: flex;justify-content: center;align-items: center;">
                    <a-button @click="getCommit">获取评论</a-button>
                </div>
            </div>
            <div>
                <div class="des">
                    评论
                </div>
                <a-textarea v-model:value="state.text" placeholder="评论" :disabled="state.loading"
                    :auto-size="{ minRows: 2, maxRows: 5 }" />
            </div>
            <div style="margin-top:10px;;width:100%;display: flex;justify-content: center;align-items: center;">
                <a-button @click="analysisCommit">文心一言分析评论</a-button>
            </div>
            <div style="margin-top:10px;">
                <div class="des">
                    生成的文章总结
                </div>
                <a-textarea v-model:value="state.analysis" placeholder="生成的文章总结" readonly
                    :auto-size="{ minRows: 2, maxRows: 5 }" />
            </div>
        </div>
    </a-spin>
</template>

页面效果

⭐后端获取数据暴露接口

分析接口:

💖requests获取数据

import requests
def get_article_commit(articleId,page,pageSize,unfold,commentId):
    requestUrl="https://blog.csdn.net/phoenix/web/v1/comment/list/{articleId}?page={page}&size={pageSize}&fold={unfold}&commentId={commentId}".\
        format(articleId=articleId,page=page,pageSize=pageSize,unfold=unfold,commentId=commentId)
    refererUrl = 'https://blog.csdn.net/qq_38870145/article/details/{articleId}'.format(articleId=articleId)
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
        "origin": "https://blog.csdn.net",
        "referer": refererUrl
    }
    resp=requests.get(requestUrl,headers=headers)
    print('评论结果:',resp.json())
if __name__=='__main__':
    get_article_commit('133955447',1,10,'unfold','')

获取数据成功!

💖 django 抛出api 接口

django views视图

# 获取csdn 评论
def getCsdnCommit(request):
    if request.method == 'GET':
        articleId = request.GET.get('articleId', default='')
        page = request.GET.get('page', default='')
        pageSize = request.GET.get('pageSize', default='')
        unfold = request.GET.get('unfold', default='')
        commentId = request.GET.get('commentId', default='')
        if len(articleId) == 0:
            return JsonResponse({"data": {}, "code": 0, "msg": 'articleId is null'})
        return JsonResponse({"data": get_article_commit(articleId,page,pageSize,unfold,commentId), "code": 200,"msg":'success'})
# 获取文章评论
def get_article_commit(articleId,page,pageSize,unfold,commentId):
    requestUrl="https://blog.csdn.net/phoenix/web/v1/comment/list/{articleId}?page={page}&size={pageSize}&fold={unfold}&commentId={commentId}".\
        format(articleId=articleId,page=page,pageSize=pageSize,unfold=unfold,commentId=commentId)
    refererUrl = 'https://blog.csdn.net/qq_38870145/article/details/{articleId}'.format(articleId=articleId)
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
        "origin": "https://blog.csdn.net",
        "referer": refererUrl
    }
    resp=requests.get(requestUrl,headers=headers)
    if resp.json()['code'] is 200:
        return resp.json()['data']
    return {
        'count':0,
        'pageCount':0,
        'foldCount':0,
        'list':[]
    }

⭐效果

查询评论

总结评论

⭐结束

本文分享到这结束,如有错误或者不足之处欢迎指出!


目录
相关文章
|
5月前
|
人工智能 自然语言处理
使用Kimi+Markmap总结文件内容生成思维导图原创
一份文件内容太长,完整阅读下来太费时间,但如果使用AI进行内容提炼,再总结成思维导图,方便快速看到这份文件的核心内容和主题结构,就会极大地节约时间,目前就可以使用Kimi+Markmap这两个工具,帮我们把ppt、word、pdf等文件内容快速总结成思维导图。
338 8
使用Kimi+Markmap总结文件内容生成思维导图原创
|
6月前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
564 0
|
6月前
|
SEO
技术写作:漏斗内容策略、认知博客、支柱内容、研究报告、通用门控内容、电子书和教程
顶部漏斗是指客户旅程中的认知阶段,他们第一次接触到企业或产品。在这个阶段,他们意识到自己存在问题,并开始寻找信息或解决方案。此阶段的内容旨在通过提供与他们的问题相关的解决方案或有价值的信息来吸引潜在客户的注意力和兴趣。这种内容通常是广泛而丰富的,而不是针对产品的。其目的是在建立信任和品牌权威的同时,告知和教育受众。
102 5
|
机器学习/深度学习 网络架构
「拖拽」就能实现精准P图的DragGAN,论文作者亲自揭秘技术了
「拖拽」就能实现精准P图的DragGAN,论文作者亲自揭秘技术了
132 0
|
数据采集 Python Web App开发
关于文章《爬取知网文献信息》中代码的一些优化
关于文章《爬取知网文献信息》中代码的一些优化
关于文章《爬取知网文献信息》中代码的一些优化
|
数据可视化 数据挖掘 C++
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
273 0
|
机器学习/深度学习 自然语言处理 算法
收藏!编码器中如何融入结构信息?这几篇论文一定不要错过
收藏!编码器中如何融入结构信息?这几篇论文一定不要错过
如何用ChatGPT做内容营销方案和选题计划,同时生产和优化内容?
该场景对应的关键词库(31个): 内容营销、目标、主题、类型、选题计划、素材、推广策略、优化方案、渠道、目标受众、竞争对手、行业背景、转化率、品牌知名度、客户参与度、销售、发布频率、选题阶段、生产阶段、推广阶段、预算分配、人群特征、话题标签、视觉元素、电子邮件、SEO、数字广告、线下广告、在线聊天、社交媒体、赞助
558 0
基于内容的图像检索系统 课设总结分析 00结果展示
基于内容的图像检索系统 课设总结分析 00结果展示
62 0
基于内容的图像检索系统 课设总结分析 00结果展示
下一篇
无影云桌面