让大模型分析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':[]
    }

⭐效果

查询评论

总结评论

⭐结束

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


目录
相关文章
|
4月前
|
SQL 自然语言处理 安全
|
5月前
|
SQL 人工智能 自然语言处理
2024年6月118篇代码大模型论文最全整理
基座模型与训练数据、代码微调、测试基准、代码Agent、低资源语言处理、AI代码安全与分析、人机交互、软件工程下游任务应用主题代码大模型论文分享,干货满满~
807 2
|
6月前
|
机器学习/深度学习 SQL 人工智能
2024年5月90篇代码大模型论文最全整理
聚焦大模型前沿技术,解析学界业界最新进展
47 0
2024年5月90篇代码大模型论文最全整理
|
7月前
|
数据采集 JSON 自然语言处理
selenuim&echarts——可视化分析csdn新星赛道选手展示头像、展示ip城市和断言参赛信息的有效性(进阶篇)(一)
selenuim&echarts——可视化分析csdn新星赛道选手展示头像、展示ip城市和断言参赛信息的有效性(进阶篇)
79 0
selenuim&echarts——可视化分析csdn新星赛道选手展示头像、展示ip城市和断言参赛信息的有效性(进阶篇)(一)
|
7月前
|
数据可视化 定位技术
selenuim&echarts——可视化分析csdn新星赛道选手展示头像、展示ip城市和断言参赛信息的有效性(进阶篇)(二)
selenuim&echarts——可视化分析csdn新星赛道选手展示头像、展示ip城市和断言参赛信息的有效性(进阶篇)
74 0
|
7月前
|
SEO
技术写作:漏斗内容策略、认知博客、支柱内容、研究报告、通用门控内容、电子书和教程
顶部漏斗是指客户旅程中的认知阶段,他们第一次接触到企业或产品。在这个阶段,他们意识到自己存在问题,并开始寻找信息或解决方案。此阶段的内容旨在通过提供与他们的问题相关的解决方案或有价值的信息来吸引潜在客户的注意力和兴趣。这种内容通常是广泛而丰富的,而不是针对产品的。其目的是在建立信任和品牌权威的同时,告知和教育受众。
106 5
持续输出:自媒体持续输出文字内容、视音频创作(视频课程、书籍章节)
持续输出:自媒体持续输出文字内容、视音频创作(视频课程、书籍章节)
|
数据采集 Python Web App开发
关于文章《爬取知网文献信息》中代码的一些优化
关于文章《爬取知网文献信息》中代码的一些优化
关于文章《爬取知网文献信息》中代码的一些优化
|
机器学习/深度学习 网络架构
「拖拽」就能实现精准P图的DragGAN,论文作者亲自揭秘技术了
「拖拽」就能实现精准P图的DragGAN,论文作者亲自揭秘技术了
142 0
|
数据可视化 数据挖掘 C++
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
281 0