
?前言
大家好,我是yma16,本文分享關(guān)于 讓大模型分析csdn文章質(zhì)量 —— 提取csdn博客評(píng)論在開(kāi)源大模型分析評(píng)論區(qū)內(nèi)容。
vue3系列相關(guān)文章:
vue3 + fastapi 實(shí)現(xiàn)選擇目錄所有文件自定義上傳到服務(wù)器
前端vue2、vue3去掉url路由“ # ”號(hào)——nginx配置
csdn新星計(jì)劃vue3+ts+antd賽道——利用inscode搭建vue3(ts)+antd前端模板
認(rèn)識(shí)vite_vue3 初始化項(xiàng)目到打包
python_selenuim獲取csdn新星賽道選手所在城市用echarts地圖顯示
python系列文章:
python爬蟲(chóng)_基本數(shù)據(jù)類型
python爬蟲(chóng)_函數(shù)的使用
python爬蟲(chóng)_requests的使用
python爬蟲(chóng)_selenuim可視化質(zhì)量分
python爬蟲(chóng)_django+vue3可視化csdn用戶質(zhì)量分
python爬蟲(chóng)_正則表達(dá)式獲取天氣預(yù)報(bào)并用echarts折線圖顯示
python爬蟲(chóng)_requests獲取bilibili鍛刀村系列的字幕并用分詞劃分可視化詞云圖展示
python爬蟲(chóng)_selenuim登錄個(gè)人markdown博客站點(diǎn)
python爬蟲(chóng)_requests獲取小黃人表情保存到文件夾
python_selenuim獲取csdn新星賽道選手所在城市用echarts地圖顯示
什么是自然語(yǔ)言處理
自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱NLP),指的是計(jì)算機(jī)科學(xué)和人工智能領(lǐng)域中研究人類語(yǔ)言和計(jì)算機(jī)之間的相互作用的一門技術(shù)。其目標(biāo)是讓計(jì)算機(jī)能夠理解、處理、生成和運(yùn)用自然語(yǔ)言。NLP技術(shù)包括文本分類、情感分析、語(yǔ)言翻譯、問(wèn)答系統(tǒng)等諸多領(lǐng)域,應(yīng)用廣泛。
insicode演示項(xiàng)目
?技術(shù)棧選擇
前端:vue3 + antd
后端:python + django
引用開(kāi)源大模型: 文心一言
?前端頁(yè)面搭建
vue3搭建頁(yè)面
<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: '幫我分析總結(jié)這些評(píng)論' + 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">獲取評(píng)論</a-button>
</div>
</div>
<div>
<div class="des">
評(píng)論
</div>
<a-textarea v-model:value="state.text" placeholder="評(píng)論" :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">文心一言分析評(píng)論</a-button>
</div>
<div style="margin-top:10px;">
<div class="des">
生成的文章總結(jié)
</div>
<a-textarea v-model:value="state.analysis" placeholder="生成的文章總結(jié)" readonly
:auto-size="{ minRows: 2, maxRows: 5 }" />
</div>
</div>
</a-spin>
</template>
頁(yè)面效果
?后端獲取數(shù)據(jù)暴露接口
分析接口:
??requests獲取數(shù)據(jù)
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('評(píng)論結(jié)果:',resp.json())
if __name__=='__main__':
get_article_commit('133955447',1,10,'unfold','')
獲取數(shù)據(jù)成功!
?? django 拋出api 接口
django views視圖
# 獲取csdn 評(píng)論
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'})
# 獲取文章評(píng)論
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':[]
}
?效果
查詢?cè)u(píng)論
總結(jié)評(píng)論
?結(jié)束
本文分享到這結(jié)束,如有錯(cuò)誤或者不足之處歡迎指出!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-712974.html
?? 點(diǎn)贊,是我創(chuàng)作的動(dòng)力!
?? 收藏,是我努力的方向!
?? 評(píng)論,是我進(jìn)步的財(cái)富!
?? 感謝你的閱讀!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-712974.html
到了這里,關(guān)于讓大模型分析csdn文章質(zhì)量 —— 提取csdn博客評(píng)論在文心一言分析評(píng)論區(qū)內(nèi)容的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!