開源免費抓包軟件ProxyPin/Towhee
Towhee可以讓用戶像搭積木一樣,輕松地完成 AI 應用程序的構建和落地。通過使用大語言模型(LLM)以及其他SOTA深度學習模型,從各種未加工過的非結構化數據中(長文本、圖像、音頻和視頻)提取信息,并將這些信息存儲到合適的存儲系統中,比如可以將提取出的向量數據存儲到向量數據庫中。開發人員能夠通過Towhee提供的Pythonic API來完成各種 AI 流水線和 AI 應用的原型設計,享受自動代碼優化,低成本實現生產環境的應用性能優化。
? 項目特點
???多模態 Towhee 能夠處理各種數據類型。無論是圖像數據、視頻片段、文本、音頻文件還是分子結構,Towhee 都可以處理。
?? LLM 管道編排 Towhee 具有靈活性,可以適應不同的大語言模型(LLM)。此外,它允許在本地托管開源大模型。此外,Towhee 提供了prompt管理和知識檢索等功能,使與這些 LLM 的交互更加高效和有效。
???豐富的算子 Towhee 提供了五個領域內眾多最先進的現成模型:計算機視覺、自然語言處理、多模態、音頻和醫療領域。擁有超過 140 個模型,如 BERT 和 CLIP,以及豐富的功能,如視頻解碼、音頻切片、幀采樣和降維,它有助于高效地搭建數據處理流水線。
?? 預構建的 ETL 管道 Towhee 提供現成的 ETL(提取、轉換、加載)管道用于常見任務,如增強生成檢索、文本圖像搜索和視頻副本檢測。這意味著您不需要成為 AI 專家即可使用這些功能構建應用程序。
?? 高性能后端 利用 Triton 推理服務器的計算能力,Towhee 可以使用 TensorRT、Pytorch 和 ONNX 等平臺加速 CPU 和 GPU 上的模型服務。此外,您可以用幾行代碼將 Python 管道轉換為高性能的 Docker 容器,實現高效部署和擴展。
?? Python 風格的 API Towhee 包含一個 Python 風格的方法鏈 API,用于描述自定義數據處理流水線。我們還支持模式,這使得處理非結構化數據就像處理表格數據一樣簡單。
?? 快速入門
Towhee 需要 Python 3.7 及以上的運行環境,可以通過 pip
來完成快速安裝:
pip install towhee towhee.models
流水線
預定義流水線
Towhee 提供了一些預定義流水線,可以幫助用戶快速實現一些功能。目前已經實現的有:
- 文本embedding
- 圖像embedding
- 視頻去重
- 基于大語言模型的知識庫問答
所有的流水線均能在Towhee Hub上找到,下面是sentence_embedding流水線的使用示例:
from towhee import AutoPipes, AutoConfig
# get the built-in sentence_similarity pipeline
config = AutoConfig.load_config('sentence_embedding')
config.model = 'paraphrase-albert-small-v2'
config.device = 0
sentence_embedding = AutoPipes.pipeline('sentence_embedding', config=config)
# generate embedding for one sentence
embedding = sentence_embedding('how are you?').get()
# batch generate embeddings for multi-sentences
embeddings = sentence_embedding.batch(['how are you?', 'how old are you?'])
embeddings = [e.get() for e in embeddings]
自定義流水線
通過Towhee python API,可以實現自定義的流水線, 下面示例中,我們來創建一個基于 CLIP 的跨模態檢索流水線。
from towhee import ops, pipe, DataCollection
# create image embeddings and build index
p = (
pipe.input('file_name')
.map('file_name', 'img', ops.image_decode.cv2())
.map('img', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='image'))
.map('vec', 'vec', ops.towhee.np_normalize())
.map(('vec', 'file_name'), (), ops.ann_insert.faiss_index('./faiss', 512))
.output()
)
for f_name in ['https://raw.githubusercontent.com/towhee-io/towhee/main/assets/dog1.png',
'https://raw.githubusercontent.com/towhee-io/towhee/main/assets/dog2.png',
'https://raw.githubusercontent.com/towhee-io/towhee/main/assets/dog3.png']:
p(f_name)
# Flush faiss data into disk.
p.flush()
# search image by text
decode = ops.image_decode.cv2('rgb')
p = (
pipe.input('text')
.map('text', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='text'))
.map('vec', 'vec', ops.towhee.np_normalize())
# faiss op result format: [[id, score, [file_name], ...]
.map('vec', 'row', ops.ann_search.faiss_index('./faiss', 3))
.map('row', 'images', lambda x: [decode(item[2][0]) for item in x])
.output('text', 'images')
)
DataCollection(p('puppy Corgi')).show()
?? 核心概念
Towhee 由四個主要模塊組成:“算子(Operators)”、“流水線(Pipelines)”、“數據處理 API(DataCollection API)”和“執行引擎(Engine)”。
- 算子(Operator):算子是構成神經網絡數據處理水流線(neural data processing pipeline)的“積木塊”(基礎組件)。這些基礎組件按照任務類型進行組織,每種任務類型都具有標準的調用接口。一個算子可以是某種神經網絡模型,某種數據處理方法,或是某個 Python 函數。
- 流水線(Pipeline):流水線是由若干個算子組成的 DAG(有向無環圖)。流水線可以實現比單個算子更復雜的功能,諸如特征向量提取、數據標記、跨模態數據理解等。
- 數據處理 API(DataCollection): DataCollection API 是用于描述流水線的編程接口。提供多種數據轉換接口:map, filter, flat_map, concat, window, time_window以及window_all,通過這些接口,可以快速構建復雜的數據處理管道,處理視頻,音頻,文本,圖像等非結構化數據。
- 執行引擎(Engine): 執行引擎負責實例化流水線、任務調度、資源管理,以及運行期性能優化。面向快速原型構建,Towhee 提供了輕量級的本地執行引擎;面向生產環境需求,Towhee 提供了基于 Nvidia Triton 的高性能執行引擎。
ProxyPin免費開源Http、Https抓包工具,支持Windows、Mac、Android、IOS 全平臺系統
支持手機掃碼連接,不用手動配置Wifi代理,包括配置同步。所有終端都可以互相掃碼連接轉發流量。
Mac首次打開會提示已損壞,需要到系統偏好設置-安全性與隱私-允許任何來源。
國內下載地址:https://gitee.com/wanghongenpin/network-proxy-flutter/releases
ios下載地址(Safari瀏覽器打開):https://testflight.apple.com/join/gURGH6B4
ios個人開發者賬號用到VPN沒法上架AppStore, 后面可能會上架美版AppStore。
- 接下來會持續完善功能和體驗,請求重寫功能增、強模擬慢請求、請求debug, UI優化。
- 支持安卓微信小程序抓包,安卓分為系統證書和用戶證書,下載的自簽名根證書安裝都是用戶證書,微信不信任用戶證書,不Root導致Https抓不了了, 目前市場上所有抓包軟件抓不了微信的包,后面單獨做個運行空間插件,動態反編譯修改配置,信任用戶證書來解決。
- WebSocket、HTTP2協議支持。
MAC-演示使用
圖片
圖片
圖片
IPhone-演示使用
圖片
圖片