Python 潮流周刊#45:越來越多的 AI 自動(dòng)開發(fā)框架
共 7028字,需瀏覽 15分鐘
·
2024-05-08 08:00
△△請(qǐng)給“Python貓”加星標(biāo) ,以免錯(cuò)過文章推送
你好,我是貓哥。這里每周分享優(yōu)質(zhì)的 Python、AI 及通用技術(shù)內(nèi)容,大部分為英文。本周刊開源,歡迎投稿[1]。另有電報(bào)頻道[2]作為副刊,補(bǔ)充發(fā)布更加豐富的資訊,歡迎關(guān)注。
本文博客版鏈接(更好的閱讀體驗(yàn)):https://pythoncat.top/posts/2024-04-06-weekly
??品牌合作
本周刊由公眾號(hào)“Python貓”出品,這是一個(gè)以 Python 技術(shù)科普和分享為主的科技自媒體,全網(wǎng)訂閱讀者數(shù) 50000+,品牌合作請(qǐng)私信聯(lián)系。
??文章&教程
1、AutoDev:微軟發(fā)布的自動(dòng)化 AI 驅(qū)動(dòng)開發(fā)框架[3]
微軟總部發(fā)布的研究論文,介紹了 AutoDev 框架,它使 AI 代理能夠自主地編寫代碼、測(cè)試、構(gòu)建和操作 Git 等,使用 Docker 確保開發(fā)環(huán)境的安全,并可通過配置來限制 AI 代理的權(quán)限和操作。在 HumanEval 數(shù)據(jù)集上取得了 91.5% 的代碼生成準(zhǔn)確率和 87.8% 的測(cè)試生成準(zhǔn)確率。
2、我堅(jiān)持用 Django 而不是 FastAPI 的 10 個(gè)原因[4]
FastAPI 越來越流行,但是作者還堅(jiān)持用 Django,文章簡(jiǎn)短介紹了 10 個(gè)原因。
3、Django 與 ASGI 服務(wù)器[5]
ASGI 是異步服務(wù)器網(wǎng)關(guān)接口規(guī)范,允許異步服務(wù)器與 Web 應(yīng)用框架進(jìn)行通信。文章介紹了幾種流行的 ASGI 服務(wù)器(Daphne、Uvicorn、Hypercorn 及 Granian),比較了它們的性能和特性,同時(shí)給出了如何選擇合適的 ASGI 服務(wù)器的建議。
4、JSON 中的數(shù)字到底是什么?[6]
JSON 有兩個(gè)主要的標(biāo)準(zhǔn)定義(Ecma-404 和 RFC-8259),然而現(xiàn)實(shí)的各種編程語(yǔ)言和 JSON 庫(kù)在處理數(shù)字的精度和范圍時(shí),卻存在諸多差異。文章對(duì)此作了一些對(duì)比和總結(jié)。
5、CPython 源碼解析:為什么 Python 列表相乘的結(jié)果那么奇怪?[7]
Python 的列表支持乘法操作,如[[]]*4 ,將得到[[],[],[],[]] ,但是,這個(gè)例子中復(fù)制出的 4 個(gè)列表只是對(duì)同一個(gè)對(duì)象的引用。文章深入解析 CPython 源碼,介紹了列表對(duì)象的結(jié)構(gòu)及其內(nèi)部對(duì)象存儲(chǔ)機(jī)制、星號(hào)運(yùn)算符的實(shí)現(xiàn)原理、CPython 具體如何執(zhí)行列表的乘法操作。
6、Celery 源碼分析系列[8]
Celery 是 Python 中常用的分布式任務(wù)隊(duì)列庫(kù),這個(gè)系列文章已更新 9 篇,深入介紹它的基礎(chǔ)架構(gòu)、Worker 啟動(dòng)、重要組件、生命周期、定時(shí)任務(wù)等等內(nèi)容。
7、我在 2024 年如何管理 Python[9]
作者介紹了自己最新在用的技術(shù)棧:用mise 作 Python 版本和虛擬環(huán)境管理、poetry 或 uv 作依賴管理、 ruff 作格式化和 linting,以及 pydantic 作運(yùn)行時(shí)檢查。
8、使用 Pyodide 和 WebAssembly 將 Python 引入 Cloudflare Workers[10]
本周意義重大的一則消息:Cloudflare 支持用 Python 編寫 Workers!此舉將擴(kuò)展 Cloudflare 平臺(tái)的功能,將推動(dòng)無服務(wù)器計(jì)算及在瀏覽器中運(yùn)行 Python 代碼。該功能目前為公測(cè)階段,期待后續(xù)的發(fā)展。
9、學(xué)習(xí)使用和不使用 AI 編碼[11]
文章提出兩個(gè)基本問題:AI 代碼生成工具對(duì)編程入門的新手有什么影響?新手如何在入門編程時(shí)使用 AI 代碼生成工具?文章介紹了兩篇論文的研究結(jié)果。
10、使用 Whisper、FFmpeg 和 Python 輕松轉(zhuǎn)錄視頻并添加字幕[12]
這篇教程介紹了如何用 OpenAI 的 Whisper 模型轉(zhuǎn)錄視頻,并使用強(qiáng)大的 FFmpeg 工具輕松添加字幕。
11、如何用 GitHub Actions 自動(dòng)執(zhí)行數(shù)據(jù)爬???[13]
文章介紹如何使用 GitHub Actions 的定時(shí)功能自動(dòng)執(zhí)行數(shù)據(jù)爬取任務(wù),介紹了 GitHub Actions 的工作原理及幾個(gè)使用限制。
12、使用斷點(diǎn)調(diào)試 Python 代碼[14]
文章介紹如何使用斷點(diǎn)來調(diào)試和觀察代碼的執(zhí)行過程,主要介紹了pdb 模塊的 breakpoint() 方法的使用。
13、Python “真正的”匿名函數(shù)[15]
Python 支持使用lambda 表達(dá)式創(chuàng)建匿名函數(shù),但只支持單個(gè)表達(dá)式。社區(qū)中總是有人提出要支持更靈活的匿名函數(shù),今年又有了,文章介紹了提議者的觀點(diǎn)以及相反的觀點(diǎn)。(附:Python 之父為什么嫌棄 lambda 匿名函數(shù)?[16])
??Python潮流周刊??每 30 期為一季,第一季的精華內(nèi)容已整理成一篇,方便你隨時(shí)查看。在線訪問地址:Python 潮流周刊第一季精華合集(1~30)[17]
???項(xiàng)目&資源
1、OpenDevin:Devin 的開源實(shí)現(xiàn)[18]
開源的 AI 軟件工程師,利用了 shell、代碼編輯器和 Web 瀏覽器等工具,充分發(fā)揮 LLMs 在軟件開發(fā)中的潛力。(star 18.4K)
2、SWE-agent:可修復(fù) Github 問題的 AI 軟件工程師[19]
普林斯頓大學(xué)推出的 AI 工程師,在 SWE-bench 測(cè)試中修復(fù)了 12.29% 問題,成績(jī)接近 Devin。(star 6.6K)
3、openui:描述你想要的 UI,它實(shí)時(shí)幫你生成[20]
一個(gè)基于 LLM 生成前端 UI 界面的框架,并可將 HTML 轉(zhuǎn)換為 React、Svelte、Web 組件等。(star 4K)
4、ragflow:基于深度文檔理解的開源 RAG 引擎[21]
從復(fù)雜格式的非結(jié)構(gòu)化數(shù)據(jù)中提取基于文檔理解的深度知識(shí),可視化的文本分塊,自動(dòng)化且輕松的 RAG 工作流。(star 2.4K)
5、zibai:高性能的純 Python WSGI 服務(wù)器[22]
中文名是“茲白”,出自山海經(jīng)。相比于 gunicorn ,它的性能更好,并可在 Windows 上使用。相比于 waitress ,茲白在不使用 gevent 時(shí)單進(jìn)程性能與它相當(dāng),在重載情況下比 waitress 更穩(wěn)定。
6、podgenai:GPT-4 制作有聲讀物/播客 mp3 生成器[23]
可使用 GPT-4 生成關(guān)于給定主題的大約一小時(shí)的單揚(yáng)聲器有聲讀物/播客 mp3 文件。
7、qiling:真正可檢測(cè)的二進(jìn)制仿真框架[24]
純 Python 實(shí)現(xiàn)的一個(gè)高級(jí)的二進(jìn)制仿真框架,支持很多操作系統(tǒng)和硬件架構(gòu),支持多種文件格式,支持跨架構(gòu)和平臺(tái)調(diào)試,具有逆向調(diào)試功能。(star 4.8K)
8、maxtext:谷歌推出的簡(jiǎn)單、高性能及可擴(kuò)展的 JaxLLM[25]
用純 Python/Jax 編寫,面向 Google Cloud TPU,可實(shí)現(xiàn) 55% 到 60% 的模型翻牌利用率。
9、nava:在 Python 中播放聲音[26]
一個(gè)無任何依賴且支持跨平臺(tái)的庫(kù),用于播放聲音。支持異步模式、循環(huán)模式,主要支持.wav 格式。
10、MuseV:無限長(zhǎng)度和高保真的虛擬人視頻生成[27]
基于視覺條件并行去噪的無限長(zhǎng)度和高保真虛擬人視頻生成,受 Sora 啟發(fā)而開源,可配合實(shí)時(shí)高質(zhì)量的唇同步模型MuseTalk ,構(gòu)建完整的虛擬人生成解決方案。
11、restai:一個(gè) AIaaS(AI 即服務(wù))開源平臺(tái)[28]
建立在 LlamaIndex、Ollama 和 HF Pipelines 之上,創(chuàng)建 AI 代理并提供簡(jiǎn)單的 REST API 來調(diào)用。
??播客&視頻
1、使用 Nextjs、Tailwind 和 Django 克隆一個(gè)全棧的 Airbnb[29]
油管上的系列視頻,介紹如何用流行的前后端技術(shù)??寺∫粋€(gè) Airbnb 網(wǎng)站,可作練手項(xiàng)目學(xué)習(xí)。
2、Django Brew:一檔新的 Python 播客[30]
一檔聚焦于 Django 框架的播客,第一期節(jié)目分享了 DjangoCon 2023 上的一些會(huì)議演講內(nèi)容,以及其它有趣的東西。
??歡迎訂閱
-
微信公眾號(hào)[31]:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群) -
博客[32] 及 RSS[33]:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來的一些隨筆。 -
郵件[34] 及 RSS[35]:在 Substack 上開通的頻道,滿足你通過郵件閱讀時(shí)事通訊的訴求。 -
Github[36]:你可以獲取本周刊的 Markdown 源文件,做任何想做的事! -
Telegram[37]:除了發(fā)布周刊的通知外,我將它視為一個(gè)“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。 -
Twitter[38]:我的關(guān)注列表里有大量 Python 相關(guān)的開發(fā)者與組織的賬號(hào)。
投稿: https://github.com/chinesehuazhou/python-weekly
[2]電報(bào)頻道: https://t.me/pythontrendingweekly
[3]AutoDev:微軟發(fā)布的自動(dòng)化 AI 驅(qū)動(dòng)開發(fā)框架: https://arxiv.org/html/2403.08299v1
[4]我堅(jiān)持用 Django 而不是 FastAPI 的 10 個(gè)原因: https://www.david-dahan.com/blog/10-reasons-i-stick-to-django
[5]Django 與 ASGI 服務(wù)器: https://fly.io/django-beats/asgi-deployment-options-for-django
[6]JSON 中的數(shù)字到底是什么?: https://blog.trl.sn/blog/what-is-a-json-number/
[7]CPython 源碼解析:為什么 Python 列表相乘的結(jié)果那么奇怪?: https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly
[8]Celery 源碼分析系列: https://juejin.cn/column/7352789840351887369
[9]我在 2024 年如何管理 Python: https://outlore.dev/blog/python-dev-2024/
[10]使用 Pyodide 和 WebAssembly 將 Python 引入 Cloudflare Workers: https://blog.cloudflare.com/python-workers
[11]學(xué)習(xí)使用和不使用 AI 編碼: https://austinhenley.com/blog/learningwithai.html
[12]使用 Whisper、FFmpeg 和 Python 輕松轉(zhuǎn)錄視頻并添加字幕: https://www.editframe.com/guides/easy-video-transcription-and-subtitling-with-whisper-ffmpeg-and-python
[13]如何用 GitHub Actions 自動(dòng)執(zhí)行數(shù)據(jù)爬取?: https://medium.com/data-analytics-at-nesta/how-to-use-github-actions-to-automate-data-scraping-299690cd8bdb
[14]使用斷點(diǎn)調(diào)試 Python 代碼: https://www.mostlypython.com/using-breakpoints-to-explore-your-code/
[15]Python “真正的”匿名函數(shù): https://lwn.net/Articles/964839/
[16]Python 之父為什么嫌棄 lambda 匿名函數(shù)?: https://pythoncat.top/posts/2020-09-20-lambda
[17]Python 潮流周刊第一季精華合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly
[18]OpenDevin:Devin 的開源實(shí)現(xiàn): https://github.com/OpenDevin/OpenDevin
[19]SWE-agent:可修復(fù) Github 問題的 AI 軟件工程師: https://github.com/princeton-nlp/SWE-agent
[20]openui:描述你想要的 UI,它實(shí)時(shí)幫你生成: https://github.com/wandb/openui
[21]ragflow:基于深度文檔理解的開源 RAG 引擎: https://github.com/infiniflow/ragflow
[22]zibai:高性能的純 Python WSGI 服務(wù)器: https://github.com/abersheeran/zibai
[23]podgenai:GPT-4 制作有聲讀物/播客 mp3 生成器: https://github.com/impredicative/podgenai
[24]qiling:真正可檢測(cè)的二進(jìn)制仿真框架: https://github.com/qilingframework/qiling
[25]maxtext:谷歌推出的簡(jiǎn)單、高性能及可擴(kuò)展的 JaxLLM: https://github.com/google/maxtext
[26]nava:在 Python 中播放聲音: https://github.com/openscilab/nava
[27]MuseV:無限長(zhǎng)度和高保真的虛擬人視頻生成: https://github.com/TMElyralab/MuseV
[28]restai:一個(gè) AIaaS(AI 即服務(wù))開源平臺(tái): https://github.com/apocas/restai
[29]使用 Nextjs、Tailwind 和 Django 克隆一個(gè)全棧的 Airbnb: https://www.youtube.com/playlist?list=PLpyspNLjzwBnP-906FBRP5qzB4YXjMvnT
[30]Django Brew:一檔新的 Python 播客: https://djangobrew.com/episodes/14650534-episode-1-fried-green-introverts
[31]微信公眾號(hào): https://qinglite-1253448069.cos.ap-shanghai.myqcloud.com/web/e60bd68bc8457412c2aa53620ba674452ec756f7
[32]博客: https://pythoncat.top
[33]RSS: https://pythoncat.top/rss.xml
[34]郵件: https://pythoncat.substack.com
[35]RSS: https://pythoncat.substack.com/feed
[36]Github: https://github.com/chinesehuazhou/python-weekly
[37]Telegram: https://t.me/pythontrendingweekly
[38]Twitter: https://twitter.com/chinesehuazhou
