使用kimi大模型開發(fā)招投標(biāo)爬蟲程序
首先說(shuō)下背景,我是個(gè)非技術(shù)出身的產(chǎn)品經(jīng)理,除了PM平時(shí)工作中所需要掌握的技術(shù)常識(shí)和概念之外,我只自學(xué)過(guò)一些前端和python技術(shù)知識(shí),沒(méi)有實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn),可以說(shuō)是幾乎沒(méi)有任何的程序開發(fā)經(jīng)歷。
之前在網(wǎng)上看到有些編程小白使用ChatGPT生成代碼寫出了瀏覽器插件工具。心想要不我也試試?正好我需要寫一個(gè)程序來(lái)幫忙爬取項(xiàng)目招標(biāo)信息進(jìn)行市場(chǎng)分析,借助最近比較火的kimi大模型來(lái)試試。
在整個(gè)和kimi“結(jié)對(duì)編程”的過(guò)程中,我問(wèn)了不少很基礎(chǔ)的問(wèn)題,比如“如何安裝對(duì)應(yīng)的python包?”,我會(huì)在文章的最后附上與kimi整個(gè)對(duì)話的全過(guò)程鏈接。我解釋以上背景的原因是想說(shuō)明,在我后續(xù)分享的開發(fā)過(guò)程中,kimi幾乎是憑借一己之力完成了整個(gè)代碼部分的編寫工作。?
整個(gè)開發(fā)過(guò)程對(duì)我個(gè)人來(lái)講還是非常觸動(dòng)的,即使是已經(jīng)看過(guò)不少案例,但是自己親身體驗(yàn)下來(lái)依然印象深刻,尤其是對(duì)于一個(gè)多年以來(lái)都是在給開發(fā)提需求卻缺少個(gè)人動(dòng)手能力的產(chǎn)品經(jīng)理來(lái)講。
在AI時(shí)代變革的契機(jī)下,是普通人學(xué)習(xí)編程開發(fā)的好時(shí)機(jī),這可能跟很多網(wǎng)上很多正在流傳的“程序員要被AI替代了,也沒(méi)必要再學(xué)編程語(yǔ)言了”的想法是相反的。我想說(shuō)的核心思想是要掌握一定的編程思想,然后借助現(xiàn)在涌現(xiàn)出的大量AI工具來(lái)放大個(gè)人的生產(chǎn)力。
第一步:向Kimi提出需求
這里的提示詞包含兩個(gè)部分:
1. 給Kimi分配一個(gè)任務(wù)角色(Role),這樣做讓AI生成的內(nèi)容更符合你的需求,這里我讓ChatGPT扮演的角色是“python開發(fā)工程師”。
2. 給ChatGPT一個(gè)明確的指令(Instruction),即你希望模型執(zhí)行的具體任務(wù),這里我的任務(wù)是“編寫一個(gè)爬蟲程序”。
寫提示詞的要求和日常工作中給開發(fā)提需求的類似,越清晰越好。
以下是kimi根據(jù)提示詞生成的完整代碼:
由于每個(gè)網(wǎng)頁(yè)內(nèi)容結(jié)構(gòu)不一樣,需要根據(jù)實(shí)際要爬取的頁(yè)面進(jìn)行修改
把頁(yè)面鏈接發(fā)給大模型,讓它根據(jù)實(shí)際情況進(jìn)行解析
第二步 把完整代碼復(fù)制到編輯器進(jìn)行反復(fù)調(diào)試
環(huán)境準(zhǔn)備:由于我的電腦已經(jīng)安裝了python,所以我繼續(xù)提問(wèn)如何安裝requests、BeautifulSoup、pandas和schedule等python庫(kù)。??
檢查pip是否已安裝,我的電腦已經(jīng)安裝
使用pip安裝庫(kù),發(fā)現(xiàn)報(bào)錯(cuò)
復(fù)制報(bào)錯(cuò)信息給Kimi,看它怎么教我解決
想起來(lái)最近用了科學(xué)上學(xué)的軟件,可能對(duì)網(wǎng)絡(luò)有影響,果斷關(guān)閉這個(gè)軟件進(jìn)行重試,已經(jīng)安裝成功。
復(fù)制到vscode編輯器進(jìn)行運(yùn)行
運(yùn)行后發(fā)現(xiàn)沒(méi)有報(bào)錯(cuò),但是沒(méi)有輸出任何結(jié)果。
發(fā)現(xiàn)這一塊邏輯有問(wèn)題,需要繼續(xù)進(jìn)行優(yōu)化。
