本周GitHub項目圈選: 主要包含音視訊同步、多代理架構、3D對象模型、适用于開發者的示範文檔建構工具、網頁程式打包、自建構CRUD應用等熱點項目。
1、Video-Tetalking
Video-ReTalking 是一個利用AI實作視訊人物嘴型與輸入的聲音同步的創新技術。簡單來說,就是輸入任意一個視訊和一個音頻檔案,在生成的新視訊中,人物的嘴型會與音頻同步。
它不僅可以讓嘴型與聲音同步,還可以根據聲音改變視訊中人物的表情。整個過程不需要使用者幹預,都是自動完成的。很多部落客大佬通過此項目建構了屬于自己的AI數字人,是不是很有意思。
Star量:2.5K+
線上體驗:https://colab.research.google.com/github/vinthony/video-retalking/blob/main/quick_demo.ipynb
項目位址:https://github.com/OpenTalker/video-retalking
系統為實作這一目标,分解為三個連續的任務:
- 具有規範表達的人臉視訊生成;
- 音頻驅動的口型同步;
- 面部增強以提高照片真實感。
給定一個頭部說話的視訊,首先使用 表情編輯網絡 根據相同的表情模闆修改每一幀的表情,進而産生具有規範表情的視訊。
然後将該視訊與給定的音頻一起輸入到口型同步網絡以生成口型同步視訊。
最後,通過身份感覺面部增強網絡和後處理來提高合成面部的照片真實感。
以上所有三個步驟都使用基于學習的方法,并且所有子產品都可以在順序管道中處理,無需任何使用者幹預。
2、Autogen
Autogen 是微軟團隊研發的一個多代理架構,利用它可以輕松定制一系列工作任務,簡直太強大了。
Star量:14.2K+
項目位址:https://github.com/microsoft/autogen
舉一個例子來說,我們要實作一個爬蟲程式,抓取并儲存網頁圖檔。如果把這個任務丢給 ChatGPT,它會直接傳回一串可執行代碼,但是代碼通常會存在問題,例如執行報錯、缺少依賴等,你需要反複跟 ChatGPT 對話來完善程式。
當然,我們也可以設定一個複雜 Prompt,要求它調用 ChatGPT 的代碼執行插件,如果存在報錯,則繼續修正程式。(案例來源:Barret李靖)
但是這個任務如果交給 AutoGen 來實作,将會變得無比簡單,幾行代碼就可以搞定:
- 定義一個 Assistant Agent,它的任務是解決問題
- 定義一個 UserProxy Agent,它的任務是替代人詢問問題,同時在本地執行程式
這兩個 Agent 都不需要給他們設定 Prompt。當我們把爬蟲任務交給 UserProxy 後,它會了解任務, 然後詢問 Assistant 應該如何做,Assistant 會把操作過程告訴 UserProxy,接着 UserProxy 會根據訓示在本地安裝依賴,然後建立檔案執行代碼,如果執行出現錯誤,它會把詳細報錯送出給 Assistant,依次循環,直到可以擷取到最終的結果。 任務結束的時候,你會看到目标圖檔已經儲存到本地磁盤了。
3、shap-e
shap-e 是OpenAI(ChatGPT開發商)開源的一款新模型,用來生成以文本或圖像為條件的 3D 對象。以其創新方法改變了 3D 應用領域。允許使用者在計算機上無縫運作它,而無需 OpenAI API 密鑰或網際網路連接配接。
Star量:10.5K+
項目位址:https://github.com/openai/shap-e
下圖便是“An airplane that looks like a banana” 的 3D 圖。而它的使用也非常簡單,安裝一個包即可:
pip install -e .
該項目最好搭配3D設計器一起使用!對于3D設計師非常有幫助。
4、Slidev
Slidev 是一款專門為開發者打造的示範文稿工具。通過Slidev,我們隻要使用熟悉的Markdown就可以做出炫酷的PPT來,同時擁有支援HTML和Vue元件的能力,并且能夠呈現像素級完美的布局。
Star量:28.5K+
官方位址:cn.sli.dev
項目位址:https://github.com/slidevjs/slidev
作為一個習慣于編碼還不習慣于彙報的普通程式員,PPT 這種東西,制作起來實在是有難度。無論是用PowerPoint,WPS, 使用時總是無從下手。而 Slidev 這款工具正好适合,搭配md文檔,效率極高,功能強大,令人驚喜。
5、Pake
Pake 是一個用 Rust語言 開發的輕量級工具,可以将網頁打包成桌面應用。很适合想打包WEB應用的人群進行使用。畢竟Web應用隻能基于浏覽器進行使用,而Pake可以将其打包作為獨立應用進行使用。
Star量:18.9K+
項目位址:https://github.com/tw93/Pake
相比傳統的 Electron 打包,Pake 打包出來的應用體積小20倍左右,并且性能和體驗也優于JS架構。
Pake 不僅可以簡單地打包網頁,還實作了快捷鍵透傳、沉浸式視窗、拖拽、樣式改寫、去廣告等功能,可以深度定制産品的風格。
Pake 支援Mac、Windows和Linux系統,可以将同一個網頁在多個平台打包成桌面應用分發。
6、Refine
refine 是一個基于React的項目,是一個開源的、無頭的 Web 應用架構,旨在幫助使用者自由建構CRUD(建立、讀取、更新、删除)應用程式,而不受任何限制。
Star量:15.7K+
官方位址:refine.dev
項目位址:https://github.com/refinedev/refine
它提供了靈活性和可定制性,讓開發人員能夠根據其需求建構CRUD應用程式。Refine使應用程式的開發更加自由,減少了開發周期,同時提供了豐富的功能。
它具有以下主要功能和核心優勢:
- 提供了内部鈎子群組件,簡化了開發過程并消除了重複任務。
- 支援身份驗證、通路控制、路由、網絡通信等關鍵方面的行業标準解決方案。
- 采用無頭設計,提供無限樣式定制選項,并與自定義設計或 UI 架構 (如 TailwindCSS) 完美配合使用。
- 可以內建 Ant Design,Material UI,Mantine 和 Chakra UI 等流行 UI 庫快速啟動項目。
此外,refine 還具有以下特點:
- 零配置,在一分鐘内完成設定
- 連接配接器支援 15+ 後端服務
- 支援 Next.js 或 Remix 進行伺服器渲染 (SSR)
以上就是本周GitHub圈選的六款開源項目,有興趣的同學可以前往GitHub下載下傳使用!!如果你喜歡本期的内容,歡迎點個關注,我們會定期推送優質的開源項目
Python興趣圈,歡迎關注我!推送更多更精彩的内容!