📌 TheAlgorithms/Python
Description: All Algorithms implemented in Python
🌐 Python|⭐️ 191,076 | 3973 stars this week
簡介
- This repository contains implementations of various algorithms in Python.
- The implementations are for educational purposes only.
- They may not be as efficient as the algorithms in the Python standard library.
- Use these implementations at your own discretion.
主要功能
- Provides Python implementations of various algorithms.
- Aims to help users understand algorithm concepts and implementations.
- May be less efficient than standard library implementations.
如何使用
- Review the Contribution Guidelines before contributing.
- Join the Discord or Gitter community channels for questions and discussions.
📌 microsoft/generative-ai-for-beginners
Description: 21 Lessons, Get Started Building with Generative AI 🔗 https://microsoft.github.io/generative-ai-for-beginners/
🌐 Jupyter Notebook|⭐️ 64,048 | 1758 stars this week
簡介
本課程由微軟雲端倡導者提供,包含 21 個課程,教你如何建立生成式 AI 應用程式。
- 每個課程涵蓋不同的主題,你可以從任何課程開始學習。
- 課程分為「學習」課程,解釋生成式 AI 的概念;以及「建構」課程,說明概念並提供 Python 和 TypeScript 的程式碼範例。
- 每個課程還包含「持續學習」部分,提供其他學習資源。
主要功能
- 課程內容包括:
- 生成式 AI 的基本概念和大型語言模型 (LLM) 的運作方式
- 如何選擇適合你的用例的模型
- 如何負責任地建立生成式 AI 應用程式
- 提示工程的最佳實務和技巧
- 使用 Azure OpenAI 或 OpenAI API 建立文字生成應用程式、聊天應用程式和搜尋應用程式
- 使用向量資料庫建立搜尋應用程式
- 使用低程式碼工具建立生成式 AI 應用程式
- 使用函式呼叫整合外部應用程式
- 針對生成式 AI 應用程式應用使用者體驗設計原則
- 保護生成式 AI 應用程式
- 管理 LLM 生命週期和 LLMOps
- 使用 RAG 架構從向量資料庫擷取嵌入式資料
- 使用開源模型和 Hugging Face 建立應用程式
如何使用
- 需要使用 Azure OpenAI 服務、GitHub 市集模型目錄或 OpenAI API。
- 需要具備 Python 或 TypeScript 的基礎知識。
- 建立 GitHub 帳戶,將整個 repo 分支到自己的 GitHub 帳戶。
- 可以參考「課程設定」課程,學習如何設定開發環境。
- 可以加入 AI Discord 伺服器,與其他學習者交流和獲得支援。
- 可以註冊 Microsoft for Startups Founders Hub,獲得免費的 OpenAI 額度和最高 $150,000 的 Azure 額度,以透過 Azure OpenAI 服務存取 OpenAI 模型。
- 每個課程包含:
- 關於該主題的簡短影片介紹
- 課程說明檔案
- 支援 Azure OpenAI 和 OpenAI API 的 Python 和 TypeScript 程式碼範例
- 繼續學習的額外資源連結
📌 livekit/agents
Description: Build real-time multimodal AI applications 🤖🎙️📹
🌐 Python|⭐️ 3,259 | 1657 stars this week
簡介
- Livekit Agents 是一個開源框架,用於建立 AI 驅動的伺服器程式,可以即時進行視覺、語音和文字互動。
- 透過 LiveKit 會話,您的 Agent 可以與終端使用者裝置建立連線。
- 在會話期間,您的 Agent 可以處理來自使用者裝置的文字、音訊、影像或影片串流,並使用 AI 模型生成任何組合的相同模態作為輸出,然後將其串流回使用者。
- Agents 與 ChatGPT 相同,透過 LiveKit 進行串流,並以 WebRTC 建立連線,讓使用者可以與 AI 模型進行即時互動。
- 透過 Agents,您可以建立 AI 驅動的伺服器程式,這些程式可以即時看到、聽到和說話。
主要功能
- 支援各種 AI 模型、轉錄和文字轉語音服務,以及 RAG 資料庫的外掛。
- 提供用於構建語音代理或助理的高階抽象,具有自動輪次檢測、中斷處理、函式呼叫和轉錄。
- 與 LiveKit 的電話堆疊相容,允許您的代理撥打或接聽電話。
- 整合的負載均衡系統,管理代理池,具有邊緣端分派、監控和透明故障轉移。
- 您的代理在 localhost、自託管和 LiveKit Cloud 環境中執行方式相同。
如何使用
- 透過
pip install livekit-agents
安裝 Livekit Agents 核心庫。 - 透過
pip install livekit-plugins-openai
安裝外掛,例如 OpenAI 模型、文字轉語音服務等。 - 使用提供的外掛來建立您的 AI 驅動的伺服器程式。
- 參考提供的範例程式碼和檔案來開始使用 Agents。
- 使用 Agents,您可以建立各種不同的 AI 驅動應用程式,例如語音助理、聊天機器人、視訊串流應用程式等。
- 透過 LiveKit 的功能,您的 AI 驅動的伺服器程式可以輕鬆地與使用者裝置建立連線,並進行即時互動。
📌 bol-van/zapret
Description: DPI bypass multi platform
🌐 C|⭐️ 7,222 | 1134 stars this week
zapret v.64 簡介
zapret v.64 是一個獨立運作的 DPI 對抗工具,無需依賴第三方伺服器。它可以幫助繞過 HTTP(s) 網站封鎖或延遲,以及 TCP 和 UDP 通訊協定的簽章分析,例如用於封鎖 VPN。此專案主要針對執行 OpenWrt 等嵌入式裝置的路由器,但也支援傳統的 Linux 系統,FreeBSD,OpenBSD 和部分 MacOS。在某些情況下,您也可以將其自訂應用到不同的韌體。zapret v.64 的大部分功能在 Windows 上都能正常運作。
zapret v.64 主要功能
- 繞過 DPI 封鎖: 使用各種技術來欺騙 DPI,例如 TCP 分割、Host 標頭修改、TTL 調整等。
- 支援多種平臺: 支援 Linux、OpenWrt、FreeBSD、OpenBSD 和部分 MacOS。
- 多種工作模式: 包含透明代理 (transparent proxy)、SOCKS 代理、NFQUEUE 處理器等。
- 自動化功能: 提供自動發現封鎖網站並更新封鎖列表的功能。
- 多重策略: 可以為不同的網站或流量型別設定不同的封鎖繞過策略。
- 細粒度控制: 支援對封鎖列表、流量型別、埠、IP 版本進行精細控制。
- 支援 IPV6: 支援 IPv6 網路,並提供與 IPv4 相應的配置和功能。
- 多種封鎖繞過技術: 包含 TCP 分割、TLS records 分割、packet fooling、SYN/ACK 攻擊、UDP 攻擊、IP 分割等。
- 支援 conntrack: 提供內建的 conntrack 模組,用於管理 TCP 連線狀態並提供更精確的流量控制。
- 偵測並更新封鎖列表: 提供自動偵測封鎖網站並更新封鎖列表的功能。
zapret v.64 如何使用
-
準備工作:
- 確定您的網路環境:是否使用 NAT、是否支援 traffic offload 等。
- 使用 blockcheck.sh 測試您的網路環境,瞭解您的 ISP 使用的 DPI 技術。
- 選擇合適的 zapret 模式:transparent proxy、SOCKS proxy 或 NFQUEUE 處理器。
- 設定封鎖列表:可以手動建立封鎖列表或使用自動更新功能。
- 設定流量過濾規則:根據您的需求設定流量過濾規則,例如只過濾 HTTP(s) 流量或只過濾特定的網站。
-
安裝 zapret:
- 使用 install_easy.sh 指令碼安裝 zapret,並根據您的需要修改 /opt/zapret/config 檔案。
- 設定 iptables/nftables 規則:根據您的網路環境和選擇的 zapret 模式,設定 iptables/nftables 規則,將流量轉發到 zapret 處理。
-
啟動 zapret:
- 啟動 nfqws 或 tpws 程式。
- 監控 zapret 執行狀態:使用 dmesg 命令或日誌檢視 zapret 執行狀態。
- 測試:訪問封鎖的網站,確認 zapret 是否能夠正常工作。
- 調整配置:根據測試結果,調整 zapret 的配置,例如修改封鎖列表、調整封鎖繞過策略等。
-
維護 zapret:
- 定期更新封鎖列表:確保您的封鎖列表是最新的。
- 監控 zapret 執行狀態:檢查是否有錯誤或異常。
- 根據需要調整配置:調整 zapret 的配置,以滿足您的需求。
📌 Avaiga/taipy
Description: Turns Data and AI algorithms into production-ready web applications in no time.
🌐 Python|⭐️ 13,519 | 1124 stars this week
簡介
Taipy 是一個為資料科學家和機器學習工程師打造的工具,用於構建資料和 AI 網路應用程式。它簡化了開發流程,讓您專注於資料和 AI 演算法,而無需處理複雜的開發和部署問題。
- Taipy 是一個二合一工具,同時提供 UI 生成和場景/資料管理功能。
- 它支援快速開發,允許您在短時間內從簡單的原型到生產就緒的網路應用程式。
- Taipy 僅需 Python 即可完成所有操作,無需學習新語言。
主要功能
Taipy 提供以下主要功能:
- UI 生成: Taipy 允許您使用 Python 程式碼建立使用者介面,無需編寫 HTML 或 JavaScript 程式碼。
- 場景和資料管理: Taipy 允許您定義和管理資料和 AI 模型的處理流程,並自動執行任務。
- Taipy Studio: 您可以使用 Visual Studio Code 中的 Taipy Studio 擴充套件程式,使用無程式碼方式配置場景。
如何使用
- 安裝 Taipy: 使用
pip install taipy
安裝 Taipy。 - 建立場景: 使用 Taipy Studio 或程式碼建立一個場景,定義資料處理流程。
- 建立 UI: 使用 Python 程式碼建立使用者介面,並使用 Taipy 的 API 與場景互動。
範例:
以下是一個簡單的電影推薦系統範例,展示了 Taipy 如何使用 Python 建立 UI 並與資料互動。
import taipy as tp
import pandas as pd
from taipy import Config, Scope, Gui
# 定義輔助函式
def on_genre_selected(state):
scenario.selected_genre_node.write(state.selected_genre)
tp.submit(scenario)
state.df = scenario.filtered_data.read()
# 定義場景和 UI
# ...
這個範例展示瞭如何使用 Taipy 建立一個簡單的 UI 來篩選電影資料,並使用場景管理資料處理流程。