在深入學習 AI 時,許多朋友發現需要編程,變得頭大。
同時,各類教程都默認了你會打命令行,導致入門十分困難。
鑒于此,就有了這份簡明入門,旨在讓大家更快掌握 Python 和 AI 的相互調用。并使你在接下來的 20 分鐘內,循序漸進的完成以下任務:
完成一個簡單程序
完成一個爬蟲應用,抓取公眾號文章
完成一個 AI 應用,為公眾號文章生成概述
知己知彼,百戰不殆
Python 就像哆拉A夢,它:
擁有一個百寶袋,裝滿了各種道具,被稱為標準庫。當遇到問題時,都可以拿出來直接使用。
如果百寶袋里的道具不夠用,還可以打電話給未來百貨,去訂購新道具。在這里:
打電話:對應 pip 一類的工具,可以用來訂購任何的道具。
未來百貨:對應 GitHub 一類的分享代碼的平臺,里面啥都有。
被全世界廣泛使用,尤其是在 AI 領域,所以遍地是大哥
OpenAI 通過兩種方式提供服務:
其一:通過 ChatGPT,提供開箱即用的服務,直接對話即可,簡單直觀。
其二:通過 OpenAI API,提供更加靈活的服務,通過代碼調用,來完成更多自動化任務,比如全自動將本地的 1 萬本小說,從中文翻譯成英文。
發現了沒,這里的 OpenAI API, 對應著上面未來百貨道具。
千里之行,始于足下
在任何教程里,第一章總是配置環境:等同于組裝多啦A夢,包括安裝IDE、依賴等等,有些時候甚至得去折騰內核。但對新手來說,這些太過不友好,基本等同勸退。
本著快速上手的目的,我不建議任何的初學者去嘗試配置環境,畢竟有一些現成的在線平臺,比如 Google Colab。這些平臺像是野比世修一樣,早早就把哆啦A夢組裝好了,等你去用。
這里,我們以 Colab 為例,你所要做的事情就是訪問 Colab 的網站,并新建一個筆記本,網址是:
https://colab.research.google.com
接下來,讓我們寫一個程序試試看:
任務:輸出「大聰明最帥」
先介紹一個 Python 的重要語法:print()
當需要輸出一句話的時,把這句話加上英文引號'',放在 print() 的括號里,如 print('公眾號「賽博禪心」最棒了!') 就好了。
在我們的任務中,如果想讓 Python 輸出「大聰明最帥」,那么就告訴編譯器 print('大聰明最帥'),然后點運行(快捷鍵:Ctrl/? + Enter)。
你就會得到下圖的結果,恭喜成功!
這里是的在線平臺我用的是 Google Colab,提供在線的,類 Jupyter 服務,幫助用戶在瀏覽器中編寫和執行Python代碼,并且支持代碼共享和直接調用一些谷歌的云服務。
訪問 Colab 需要一定的網絡環境。因此,如果你打不開,也可以嘗試一些國產替代,如:
阿里云的天池 Notebook:https://tianchi.aliyun.com/notebook-ai
騰訊的 Cloud Studio:https://ide.cloud.tencent.com/
等等...
可以搜索「在線 IDE」或者「在線 Jupyter」,獲取更多類似產品。
他山之石,可以攻玉
很多人對 Python 的最大印象,是寫爬蟲:幫你自動的從網頁上摘取所需的信息。
現在,讓我們去寫一個爬蟲,抓我之前的文章:
已知1:這篇文章的地址是 https://mp.weixin.qq.com/s/KUnXlDlg-Rs_6D5RFpQbnQ
已知2:ChatGPT 很會寫程序
已知3:我們用 Colab
得出結論:讓 ChatGPT 幫我們寫這個程序,然后在 Colab 里運行
大聰明
我使用 colab,請給我寫一段代碼,用于抓取 https://mp.weixin.qq.com/s/KUnXlDlg-Rs_6D5RFpQbnQ 的正文內容
ChatGPT
在Colab中抓取網頁的正文內容,你可以使用Python的requests庫來獲取網頁的HTML源代碼,然后使用BeautifulSoup庫來解析HTML并提取所需的正文部分。下面是一個簡單的示例代碼,演示了如何實現這一過程。請注意,由于微信公眾號文章可能有一些特殊的反爬措施,這段代碼可能需要根據實際情況進行調整。
首先,確保你已經在你的Colab環境中安裝了beautifulsoup4和requests庫。如果沒有安裝,你可以使用以下命令安裝:
然后,使用以下代碼抓取并解析指定的網頁內容:
這段代碼會打印出你提供的微信公眾號文章的正文內容。請注意,由于網頁的結構隨時可能發生變化,所以提取正文內容的部分(即soup.find那一行)可能需要根據實際的HTML結構進行調整。如果文章有反爬蟲機制,可能還需要進一步的處理,比如設置請求頭模擬瀏覽器訪問等。
然后,把這兩段代碼分別復制進去,并運行。
先復制第一段:
!pip install beautifulsoup4 requests
運行后得到下圖
到這里的 pip,就是之前提到的「給未來商店打電話」,用來獲取工具
接下來,點擊左上方「+代碼」按鈕,新建一個新的代碼塊
最后,復制后面的代碼,并運行,獲得下面的結果:
?? 恭喜你,爬蟲寫好了 ??
在和 AI 配合寫代碼的過程中,如果你遇到了 Bug,類似:
你可以直接將問題報給 ChatGPT,就像我這樣
然后再把 ChatGPT 給出來的結果粘貼回去(如果還不行,就反復調試)
OpenAI API, YYDS
在許多的微信群里,都有這樣一類 bot:你把公眾號文章丟給他,他就會自動總結這篇文章。怎么做的呢?
答:通過 OpenAI API(或者其他家的 API)。我們嘗試完成的畫,做法將包含以下幾步:
獲得 API Key(扣費憑證)
獲得 API 的示例代碼(通常在 Playground 里面)
將必要的信息丟給 ChatGPT,讓它幫你整合一下
復制,站臺,運行,然后看看效果
以 OpenAI API 為例,你可以在這個頁面找到 API Key:
https://platform.openai.com/api-keys
打開后,點擊「Create new secret key」即可獲取
請注意:通常,你需要綁定支付方式,才可以獲取有效Key
以 OpenAI API 為例,你可以在 Playground 這個頁面獲取 API 調用的示例代碼:
https://platform.openai.com/playground
并且可以將你和 GPT 的對話,轉換成代碼
注意,這里有兩個值可以定義,一個是:
SYSTEM:對應 ChatGPT 里的 Instructions,用來定義這個 Bot 的功能/特點
USER:對應 ChatGPT 里,用戶發出的信息
這里,我將 SYSTEM 定義成了縮略信息助手,而在 USER 中輸入了文章內容
運行后,結果很令人滿意
點擊右上方 View Code,獲取生成這一內容的示例代碼
順著之前的對話,讓 ChatGPT 幫我們繼續寫代碼吧!
... 繼續前文的對話 ...
大聰明
幫我升級一下這個代碼,完整重寫:
你不需要輸出這篇文章的原始內容,而是通過 OpenAI 的 API,生成這篇文章的縮略信息,并打印
你假定我的 OpenAI API key 是(我這是一個假的 Key):Craze-Thursday-Vivo-50
這是示例代碼:
ChatGPT
為了滿足你的要求,我們需要重寫上述代碼,以便首先抓取文章內容,然后使用假設的OpenAI API key(注意實際操作中需要替換為真實的API key)來生成文章的縮略信息。以下是整個過程的代碼:
首先,安裝必要的庫:
接下來,使用以下代碼:
先復制第一段,運行試試
然后是第二段,記得把 Key 改一下
?? 截圖的時候我把 key 換成了瘋四 ??
看一下生成結果:
Sora是OpenAI發布的超強視頻生成AI,通過處理各種視覺數據生成視頻。它使用視頻壓縮網絡和空間時間補丁來統一不同來源的數據,然后借助文本條件化的Diffusion模型生成與文本提示匹配的視覺作品。這種方法使Sora能夠創造出高度創新和多樣化的視頻內容,跨越語言和視覺障礙,展現出AI在理解語言和創作視覺方面的強大實力。
API Key 是你的扣費憑證,請永遠妥善保管你的 Key,不要泄漏
各家 AI 最細致的教程,幾乎都在他們的官網上,對于 OpenAI 來說:
綜合文檔:https://platform.openai.com/docs/overview
API 使用:https://platform.openai.com/docs/api-reference
API Playground:https://platform.openai.com/playground
API 案例與答疑:https://cookbook.openai.com/
恭喜你
完成了一個 AI 應用
學無止境,知無界限
在本份教程中,你會發現,在 AI 的幫助下,你本就可以完成很多基礎的編程工作。
但希望再深入一點,最好還是可以體系化的了解一下編程以及 AI。至少熟悉以下內容:
Python基礎
基本語法:了解Python的基本語法規則,比如變量命名、縮進等。
數據類型:熟悉Python中的基本數據類型,如字符串(String)、整數(Integer)、浮點數(Float)、列表(List)、元組(Tuple)、字典(Dictionary)等。
控制流:學習如何使用條件語句(if)、循環語句(for和while)來控制程序的執行流程。
函數
定義和調用函數:學習如何定義自己的函數,以及如何調用現有的函數。
參數和返回值:理解函數如何接收參數和返回結果。
作用域和命名空間:了解局部變量和全局變量的概念,以及它們是如何在Python中工作的。
模塊和包
導入模塊:學習如何導入Python標準庫中的模塊或者第三方庫。
使用包:理解如何安裝和使用Python包來擴展程序的功能。
面向對象編程(OOP)
類和對象:了解面向對象編程的基本概念,包括類的定義和實例化。
屬性和方法:學習如何為類定義屬性和方法,以及如何通過對象來調用它們。
繼承和多態:了解類之間的繼承關系以及如何實現多態。
異常處理
理解異常:了解什么是異常,以及它們在Python中是如何工作的。
異常處理:學習如何使用try和except語句來處理程序中可能發生的錯誤。
文件操作
文件讀寫:學習如何打開文件、讀取文件內容以及寫入文件。
文件與路徑操作:理解如何使用Python來處理文件路徑,以及如何列舉目錄下的文件。
對于 AI ,可以嘗試了解以下內容,作為基礎
AI 背景知識
基礎理論:了解人工智能、機器學習、深度學習的定義及其之間的關系。
歷史發展:簡要回顧AI的發展歷程和重要里程碑。
數學基礎
統計學基礎:熟悉均值、中位數、方差等統計概念。
線性代數:了解向量、矩陣等線性代數基本概念。
概率論:基礎的概率論知識,如條件概率、貝葉斯定理。
算法和模型
監督學習:了解常用算法,如線性回歸、決策樹、支持向量機(SVM)。
無監督學習:熟悉聚類、降維等算法。
強化學習:簡介強化學習的基本概念。
評估和調優
性能評估:了解如何評估模型性能,包括交叉驗證、精確度、召回率等。
模型調優:學習如何使用網格搜索等技術優化模型參數。
神經網絡基礎
網絡結構:理解神經網絡的基本結構,包括前饋網絡、卷積神經網絡(CNN)、循環神經網絡(RNN)。
激活函數:了解常用的激活函數,如ReLU、Sigmoid、Tanh。
作為新手入門,在 Python 方面,我會推薦這些:
《Python 學習手冊》:動物園家的書,名聲在外
《Python 編程》:新手友好
在 AI 方面,我會推薦這些:
《人類簡史》:「認知革命」的相關章節令我獲益匪淺
《深度學習實戰》:按脈絡,梳理了 ChatGPT 爆發前的 AI 信息與實踐
對于 Python,以及各種 AI 工具的使用,我會最優先的推薦 B 站 up 主「PAPAYA電腦教室」的 Python 入門課(他的很多課都很棒,而且完全免費):
https://space.bilibili.com/402780815/channel/seriesdetail?sid=2762019
對于現在的大模型,我相信很少有人比 Andrej Karpathy 講得更好,畢竟他也是 OpenAI 創始團隊的成員
油管地址:https://www.youtube.com/watch?v=zjkBMFhNj_g
B站地址:https://www.bilibili.com/video/BV1AU421o7ob
對于資料庫,我非常推薦 AJ 和眾多小伙伴們共創的資料庫(一個飛書文檔):
?? 通往 AGI 之路(一個飛書文檔)
這應該是當下最全的中文 AI 資料庫,免費、開源、共創。包含了幾乎所有有價值的文檔、文章、資料、資訊,并永遠是第一時間更新
https://waytoagi.feishu.cn/wiki/QPe5w5g7UisbEkkow8XcDmOpn8e
最后愿大家
Good Good Study
Day Day Up !!!