码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 让大模型分析csdn文章质量 —— 提取csdn博客评论在文心一言分析评论区内容


    文章目录

      • ⭐前言
      • ⭐技术栈选择
      • ⭐前端页面搭建
      • ⭐后端获取数据暴露接口
        • 💖requests获取数据
        • 💖 django 抛出api 接口
      • ⭐效果
      • ⭐结束

    yma16-logo

    ⭐前言

    大家好,我是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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100

    页面效果
    baidu-text

    ⭐后端获取数据暴露接口

    分析接口:
    get-commit

    💖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','')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    获取数据成功!
    commits

    💖 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':[]
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    ⭐效果

    查询评论
    loading
    总结评论
    analysis

    ⭐结束

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

    👍 点赞,是我创作的动力!
    ⭐️ 收藏,是我努力的方向!
    ✏️ 评论,是我进步的财富!
    💖 感谢你的阅读!

  • 相关阅读:
    Git --- 基础介绍
    矩池云|GPU 分布式使用教程之 TensorFlow
    4+N架构:从0到1搭建保险个性化推荐能力【转载】
    简析电能管理系统在某煤矿的应用
    PCB信号仿真之为什么DDR走线要同组同层?
    汽车油耗NEDC与WLTP有什么区别?以及MATLAB/Simulink的汽车行驶工况仿真
    详解Kafka 3.0 稳定版新特性
    基于SSM+Vue的网上花店系统
    Tomcat——从安装到使用
    ubuntu gcc版本降级 Reset gcc version from 11.3 to 11.2 on Ubuntu 22.04
  • 原文地址:https://blog.csdn.net/qq_38870145/article/details/134022655
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号