[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-towhee-io--towhee":3,"tool-towhee-io--towhee":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":32,"env_os":102,"env_gpu":103,"env_ram":102,"env_deps":104,"category_tags":109,"github_topics":112,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":130,"updated_at":131,"faqs":132,"releases":163},9815,"towhee-io\u002Ftowhee","towhee","Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast.","Towhee 是一个专为简化神经数据处理流程而设计的开源框架，旨在让非结构化数据（如长文本、图像、音视频及分子结构）的处理变得简单高效。它解决了开发者在构建复杂 AI 流水线时面临的模型集成难、多模态数据格式不统一以及部署性能优化繁琐等痛点。\n\n无论是希望快速原型验证的算法工程师，还是需要将 AI 能力落地到生产环境的后端开发者，Towhee 都能提供极大便利。用户无需成为深度学习专家，即可通过直观的 Python 链式 API 轻松编排基于大语言模型（LLM）的数据处理流程。\n\n其核心亮点在于丰富的预置生态与高性能架构：内置超过 140 个涵盖计算机视觉、自然语言处理等领域的 SOTA 模型算子，并提供检索增强生成（RAG）、以图搜图等开箱即用的 ETL 流水线。此外，Towhee 底层集成 Triton 推理服务器，支持 TensorRT 等多种加速后端，能显著提升 CPU 和 GPU 上的推理速度，并支持将 Python 流水线一键转换为高性能 Docker 容器，便于大规模部署与扩展。借助 Towhee，您可以专注于业务逻辑，轻松将原始数据转化为有价值的向量嵌入或结构化信息。","&nbsp;\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7222f2e09054.png\" width=\"60%\"\u002F>\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_789b57b781e2.png\" width=\"60%\"\u002F>\n\u003C\u002Fp>\n\n\n\u003Ch3 align=\"center\">\n  \u003Cp style=\"text-align: center;\"> \u003Cspan style=\"font-weight: bold; font: Arial, sans-serif;\">x\u003C\u002Fspan>2vec, Towhee is all you need! \u003C\u002Fp>\n\u003C\u002Fh3>\n\n\u003Ch3 align=\"center\">\n  \u003Cp style=\"text-align: center;\">\n  \u003Ca href=\"README.md\" target=\"_blank\">ENGLISH\u003C\u002Fa> | \u003Ca href=\"README_CN.md\">中文文档\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fh3>\n\n\u003Cdiv class=\"column\" align=\"middle\">\n  \u003Ca href=\"https:\u002F\u002Fslack.towhee.io\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fjoin-slack-orange?style=flat\" alt=\"join-slack\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Ftowheeio\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffollow-twitter-blue?style=flat\" alt=\"twitter\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-apache2.0-green?style=flat\" alt=\"license\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Factions\u002Fworkflows\u002Fpylint.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Factions\u002Fworkflows\u002Fpylint.yml\u002Fbadge.svg\" alt=\"github actions\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftowhee\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftowhee?label=Release&color&logo=Python\" alt=\"github actions\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fapp.codecov.io\u002Fgh\u002Ftowhee-io\u002Ftowhee\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Ftowhee-io\u002Ftowhee?style=flat\" alt=\"coverage\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n&nbsp;\n\n[Towhee](https:\u002F\u002Ftowhee.io) is a cutting-edge framework designed to streamline the processing of unstructured data through the use of Large Language Model (LLM) based pipeline orchestration. It is uniquely positioned to extract invaluable insights from diverse unstructured data types, including lengthy text, images, audio and video files. Leveraging the capabilities of generative AI and the SOTA deep learning models, Towhee is capable of transforming this unprocessed data into specific formats such as text, image, or embeddings. These can then be efficiently loaded into an appropriate storage system like a vector database. Developers can initially build an intuitive data processing pipeline prototype with user friendly Pythonic API, then optimize it for production environments.\n\n🎨 Multi Modalities: Towhee is capable of handling a wide range of data types. Whether it's image data, video clips, text, audio files, or even molecular structures, Towhee can process them all. \n\n📃    LLM Pipeline orchestration:  Towhee offers flexibility to adapt to different Large Language Models (LLMs). Additionally, it allows for hosting open-source large models locally. Moreover, Towhee provides features like prompt management and knowledge retrieval, making the interaction with these LLMs more efficient and effective.\n\n🎓 Rich Operators: Towhee provides a wide range of ready-to-use state-of-the-art models across five domains: CV, NLP, multimodal, audio, and medical. With over 140 models like BERT and CLIP and rich functionalities like video decoding, audio slicing, frame sampling,  and dimensionality reduction, it assists in efficiently building data processing pipelines. \n\n🔌   Prebuilt ETL Pipelines: Towhee offers ready-to-use ETL (Extract, Transform, Load) pipelines for common tasks such as Retrieval-Augmented Generation, Text Image search, and Video copy detection. This means you don't need to be an AI expert to build applications using these features. \n⚡️  High performance backend: Leveraging the power of the Triton Inference Server, Towhee can speed up model serving on both CPU and GPU using platforms like TensorRT, Pytorch, and ONNX. Moreover, you can transform your Python pipeline into a high-performance docker container with just a few lines of code, enabling efficient deployment and scaling.\n\n🐍 Pythonic API: Towhee includes a Pythonic method-chaining API for describing custom data processing pipelines. We also support schemas, which makes processing unstructured data as easy as handling tabular data.\n\n## Getting started\n\nTowhee requires Python 3.7+. You can install Towhee via `pip`:\n\n```bash\npip install towhee towhee.models\n```\n\n### Pipeline\n\n### Pre-defined Pipeline\n\nTowhee provides some pre-defined pipelines to help users quickly implement some functions. \nCurrently implemented are: \n- [Sentence Embedding](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fsentence-similarity)\n- [Image Embedding](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Ftext-image-search)\n- [Video deduplication](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fvideo-copy-detection)\n- [Question Answer with Docs](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fretrieval-augmented-generation)\n\nAll pipelines can be found on Towhee Hub. Here is an example of using the sentence_embedding pipeline: \n\n```python\nfrom towhee import AutoPipes, AutoConfig\n# get the built-in sentence_similarity pipeline\nconfig = AutoConfig.load_config('sentence_embedding')\nconfig.model = 'paraphrase-albert-small-v2'\nconfig.device = 0\nsentence_embedding = AutoPipes.pipeline('sentence_embedding', config=config)\n\n# generate embedding for one sentence\nembedding = sentence_embedding('how are you?').get()\n# batch generate embeddings for multi-sentences\nembeddings = sentence_embedding.batch(['how are you?', 'how old are you?'])\nembeddings = [e.get() for e in embeddings]\n```\n### Custom pipelines \n\nIf you can't find the pipeline you want in towhee hub, you can also implement custom pipelines through the towhee Python API. In the following example, we will create a cross-modal retrieval pipeline based on CLIP.\n```python\n\nfrom towhee import ops, pipe, DataCollection\n# create image embeddings and build index\np = (\n    pipe.input('file_name')\n    .map('file_name', 'img', ops.image_decode.cv2())\n    .map('img', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='image'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    .map(('vec', 'file_name'), (), ops.ann_insert.faiss_index('.\u002Ffaiss', 512))\n    .output()\n)\n\nfor f_name in ['https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog1.png',\n               'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog2.png',\n               'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog3.png']:\n    p(f_name)\n\n# Flush faiss data into disk. \np.flush()\n# search image by text\ndecode = ops.image_decode.cv2('rgb')\np = (\n    pipe.input('text')\n    .map('text', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='text'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    # faiss op result format:  [[id, score, [file_name], ...]\n    .map('vec', 'row', ops.ann_search.faiss_index('.\u002Ffaiss', 3))\n    .map('row', 'images', lambda x: [decode(item[2][0]) for item in x])\n    .output('text', 'images')\n)\n\nDataCollection(p('puppy Corgi')).show()\n\n```\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_63d597f7143d.png\" style=\"width: 60%; height: 60%\">\n\n\n## Core Concepts\n\nTowhee is composed of four main building blocks - `Operators`, `Pipelines`, `DataCollection API` and `Engine`.\n\n- __Operators__: An operator is a single building block of a neural data processing pipeline. Different implementations of operators are categorized by tasks, with each task having a standard interface. An operator can be a deep learning model, a data processing method, or a Python function.\n\n- __Pipelines__: A pipeline is composed of several operators interconnected in the form of a DAG (directed acyclic graph). This DAG can direct complex functionalities, such as embedding feature extraction, data tagging, and cross modal data analysis.\n\n- __DataCollection API__: A Pythonic and method-chaining style API for building custom pipelines, providing multiple data conversion interfaces: map, filter, flat_map, concat, window, time_window, and window_all. Through these interfaces, complex data processing pipelines can be built quickly to process unstructured data such as video, audio, text, images, etc.\n\n- __Engine__: The engine sits at Towhee's core. Given a pipeline, the engine will drive dataflow among individual operators, schedule tasks, and monitor compute resource usage (CPU\u002FGPU\u002Fetc). We provide a basic engine within Towhee to run pipelines on a single-instance machine and a Triton-based engine for docker containers.\n\n## Resource\n- TowheeHub: https:\u002F\u002Ftowhee.io\u002F\n- docs: https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Flatest\u002F\n- examples: https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\n\n## Contributing\n\nWriting code is not the only way to contribute! Submitting issues, answering questions, and improving documentation are just some of the many ways you can help our growing community. Check out our [contributing page](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fblob\u002Fmain\u002FCONTRIBUTING.md) for more information.\n\nSpecial thanks goes to these folks for contributing to Towhee, either on Github, our Towhee Hub, or elsewhere:\n\u003Cbr>\u003C!-- Do not remove start of hero-bot -->\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fall--contributors-45-orange\">\u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F3270939387\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_67da55d69f42.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAniTho\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_71284dbdf1e1.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FArmaggheddon\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_46d9c2dfd215.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FChiiizzzy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b309dc00dbbb.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGuoRentong\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_1fb3a729bf33.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKizAE86\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e0107b977584.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNicoYuan1986\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e06e669b84c5.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNothingEverHappens\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7bc09bb6b194.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FOpdoop\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_98a92a4c6888.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSharp-rookie\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9500363abfa8.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTumao727\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_5f746c18f268.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FUncleLLD\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b29a7baf8569.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FYuDongPan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e2d6c95f847f.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbinbinlv\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_03206f071014.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fderekdqc\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f30ded34200b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdreamfireyu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_37c82881a37b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Femmanuel-ferdman\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_efb228c8c678.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Feric9204\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f82e9976cdda.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffilip-halt\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_38ceacd4a785.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzliu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7a84b3a6ea91.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgexy185\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9e4875ae20ff.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhuan415\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_0bdc33694a17.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyf3513OneGO\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_207d09148272.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjaelgu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_49834621833f.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffoverflow\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_6d645d0d309c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjingkl\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9691d32e1083.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjinlingxu06\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9ff23129a0fa.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunjiejiangjjj\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e6bc5c8a288e.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkrishnakatyal\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_2d8bd9323df4.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flrk612\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_c13bc1661b71.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fomartarek206\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_121f2ffe4d7c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Foneseer\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f1e7677dbd1b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpravee42\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_039af209cd8c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Freiase\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9960472ead83.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsanbuphy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_0eb194a7432d.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshiyu22\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_5c07cd3d1114.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsongxianj\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e4470e0dfda9.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsoulteary\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_cc87e133c3c6.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsre-ci-robot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_d0be3388917c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsutcalag\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b01ca3f22b97.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwxywb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_dac83ea2a944.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxychu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_352a2c2440dc.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzc277584121\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e0bf3137ce8b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzengxiang68\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_6b1363726f8b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzhousicong\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_814eded2d539.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Cbr>\u003C!-- Do not remove end of hero-bot -->\u003Cbr>\n\nLooking for a database to store and index your embedding vectors? Check out [Milvus](https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus).\n","&nbsp;\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7222f2e09054.png\" width=\"60%\"\u002F>\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_789b57b781e2.png\" width=\"60%\"\u002F>\n\u003C\u002Fp>\n\n\n\u003Ch3 align=\"center\">\n  \u003Cp style=\"text-align: center;\"> \u003Cspan style=\"font-weight: bold; font: Arial, sans-serif;\">x\u003C\u002Fspan>2vec, Towhee就是你的不二之选！ \u003C\u002Fp>\n\u003C\u002Fh3>\n\n\u003Ch3 align=\"center\">\n  \u003Cp style=\"text-align: center;\">\n  \u003Ca href=\"README.md\" target=\"_blank\">ENGLISH\u003C\u002Fa> | \u003Ca href=\"README_CN.md\">中文文档\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fh3>\n\n\u003Cdiv class=\"column\" align=\"middle\">\n  \u003Ca href=\"https:\u002F\u002Fslack.towhee.io\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fjoin-slack-orange?style=flat\" alt=\"join-slack\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Ftowheeio\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffollow-twitter-blue?style=flat\" alt=\"twitter\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-apache2.0-green?style=flat\" alt=\"license\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Factions\u002Fworkflows\u002Fpylint.yml\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Factions\u002Fworkflows\u002Fpylint.yml\u002Fbadge.svg\" alt=\"github actions\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftowhee\u002F\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftowhee?label=Release&color&logo=Python\" alt=\"github actions\"\u002F>\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fapp.codecov.io\u002Fgh\u002Ftowhee-io\u002Ftowhee\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Ftowhee-io\u002Ftowhee?style=flat\" alt=\"coverage\"\u002F>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n&nbsp;\n\n[Towhee](https:\u002F\u002Ftowhee.io) 是一个前沿框架，旨在通过基于大语言模型（LLM）的流水线编排来简化非结构化数据的处理流程。它能够从多种非结构化数据类型中提取宝贵洞察，包括长文本、图像、音频和视频文件。借助生成式AI和最先进的深度学习模型，Towhee可以将这些未加工的数据转换为特定格式，如文本、图像或嵌入向量，并高效地加载到向量数据库等合适的存储系统中。开发者可以先使用友好的Python式API构建直观的数据处理流水线原型，随后再针对生产环境进行优化。\n\n🎨 多模态支持：Towhee能够处理多种数据类型。无论是图像数据、视频片段、文本、音频文件，还是分子结构，Towhee都能轻松应对。\n\n📃    LLM流水线编排：Towhee具有高度灵活性，可适配不同的大语言模型（LLM）。此外，它还支持在本地部署开源大型模型。同时，Towhee提供提示词管理和知识检索等功能，使与这些LLM的交互更加高效且富有成效。\n\n🎓 丰富的算子库：Towhee提供了覆盖计算机视觉、自然语言处理、多模态、音频和医疗五大领域的大量即用型先进模型。拥有BERT、CLIP等超过140种模型，以及视频解码、音频切片、帧采样、降维等丰富功能，Towhee能够帮助用户高效构建数据处理流水线。\n\n🔌   预构建的ETL流水线：Towhee为常见任务提供了开箱即用的ETL（提取、转换、加载）流水线，例如检索增强生成、文本图像搜索和视频副本检测等。这意味着即使你不是AI专家，也能利用这些功能快速构建应用。\n\n⚡️  高性能后端：借助Triton推理服务器的强大能力，Towhee可以在CPU和GPU上，通过TensorRT、PyTorch和ONNX等平台加速模型服务。此外，只需几行代码，即可将你的Python流水线转化为高性能的Docker容器，实现高效的部署和扩展。\n\n🐍 Python式API：Towhee提供了一种链式调用的Python风格API，用于描述自定义的数据处理流水线。我们还支持Schema机制，让处理非结构化数据如同操作表格数据一样简单。\n\n## 快速开始\n\nTowhee需要Python 3.7及以上版本。你可以通过`pip`安装Towhee：\n\n```bash\npip install towhee towhee.models\n```\n\n### 流水线\n\n### 预定义流水线\n\nTowhee提供了一些预定义的流水线，帮助用户快速实现某些功能。目前已实现的功能包括：\n- [句子嵌入](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fsentence-similarity)\n- [图像嵌入](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Ftext-image-search)\n- [视频去重](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fvideo-copy-detection)\n- [文档问答](https:\u002F\u002Ftowhee.io\u002Ftasks\u002Fdetail\u002Fpipeline\u002Fretrieval-augmented-generation)\n\n所有流水线都可以在Towhee Hub上找到。以下是一个使用sentence_embedding流水线的示例：\n\n```python\nfrom towhee import AutoPipes, AutoConfig\n# 获取内置的sentence_similarity流水线\nconfig = AutoConfig.load_config('sentence_embedding')\nconfig.model = 'paraphrase-albert-small-v2'\nconfig.device = 0\nsentence_embedding = AutoPipes.pipeline('sentence_embedding', config=config)\n\n# 为一句话生成嵌入\nembedding = sentence_embedding('你好吗？').get()\n# 批量为多句话生成嵌入\nembeddings = sentence_embedding.batch(['你好吗？', '你几岁了？'])\nembeddings = [e.get() for e in embeddings]\n```\n\n### 自定义流水线\n\n如果在Towhee Hub中找不到你需要的流水线，也可以通过Towhee的Python API实现自定义流水线。下面我们将创建一个基于CLIP的跨模态检索流水线。\n```python\n\nfrom towhee import ops, pipe, DataCollection\n# 创建图像嵌入并构建索引\np = (\n    pipe.input('file_name')\n    .map('file_name', 'img', ops.image_decode.cv2())\n    .map('img', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='image'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    .map(('vec', 'file_name'), (), ops.ann_insert.faiss_index('.\u002Ffaiss', 512))\n    .output()\n)\n\nfor f_name in ['https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog1.png',\n               'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog2.png',\n               'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog3.png']:\n    p(f_name)\n\n# 将Faiss数据刷写到磁盘。\np.flush()\n# 根据文本搜索图像\ndecode = ops.image_decode.cv2('rgb')\np = (\n    pipe.input('text')\n    .map('text', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='text'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    # Faiss操作结果格式：[[id, score, [file_name], ...]]\n    .map('vec', 'row', ops.ann_search.faiss_index('.\u002Ffaiss', 3))\n    .map('row', 'images', lambda x: [decode(item[2][0]) for item in x])\n    .output('text', 'images')\n)\n\nDataCollection(p('小狗柯基')).show()\n\n```\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_63d597f7143d.png\" style=\"width: 60%; height: 60%\">\n\n## 核心概念\n\nTowhee 由四个主要组成部分构成：`算子`、`管道`、`DataCollection API` 和 `引擎`。\n\n- __算子__：算子是神经网络数据处理管道中的单个构建模块。不同实现的算子按任务分类，每个任务都具有标准接口。算子可以是深度学习模型、数据处理方法，或 Python 函数。\n  \n- __管道__：管道由多个算子以有向无环图（DAG）的形式连接而成。这种 DAG 可以实现复杂的功能，例如嵌入特征提取、数据标注以及跨模态数据分析等。\n\n- __DataCollection API__：这是一个符合 Python 风格且支持方法链式调用的 API，用于构建自定义管道，提供了多种数据转换接口：map、filter、flat_map、concat、window、time_window 和 window_all。通过这些接口，可以快速构建复杂的数据处理管道，以处理视频、音频、文本、图像等非结构化数据。\n\n- __引擎__：引擎位于 Towhee 的核心位置。给定一个管道后，引擎会驱动各个算子之间的数据流，调度任务，并监控计算资源的使用情况（CPU\u002FGPU 等）。我们在 Towhee 中提供了一个基础引擎，用于在单机上运行管道；同时还提供了一个基于 Triton 的引擎，适用于 Docker 容器环境。\n  \n## 资源\n- TowheeHub：https:\u002F\u002Ftowhee.io\u002F\n- 文档：https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Flatest\u002F\n- 示例：https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\n\n## 贡献\n\n编写代码并不是唯一的贡献方式！提交问题、回答问题以及改进文档，都只是您可以帮助我们不断壮大的社区的众多方式之一。请查看我们的[贡献页面](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fblob\u002Fmain\u002FCONTRIBUTING.md)，以获取更多信息。\n\n特别感谢以下各位对 Towhee 的贡献，无论是在 Github 上、Towhee Hub 中，还是其他地方：\n\u003Cbr>\u003C!-- 不要移除英雄机器人开始部分 -->\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fall--contributors-45-orange\">\u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F3270939387\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_67da55d69f42.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAniTho\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_71284dbdf1e1.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FArmaggheddon\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_46d9c2dfd215.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FChiiizzzy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b309dc00dbbb.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGuoRentong\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_1fb3a729bf33.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKizAE86\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e0107b977584.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNicoYuan1986\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e06e669b84c5.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FNothingEverHappens\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7bc09bb6b194.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FOpdoop\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_98a92a4c6888.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSharp-rookie\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9500363abfa8.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTumao727\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_5f746c18f268.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FUncleLLD\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b29a7baf8569.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FYuDongPan\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e2d6c95f847f.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbinbinlv\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_03206f071014.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fderekdqc\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f30ded34200b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdreamfireyu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_37c82881a37b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Femmanuel-ferdman\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_efb228c8c678.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Feric9204\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f82e9976cdda.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffilip-halt\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_38ceacd4a785.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffzliu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_7a84b3a6ea91.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgexy185\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9e4875ae20ff.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhuan415\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_0bdc33694a17.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhyf3513OneGO\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_207d09148272.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjaelgu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_49834621833f.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjeffoverflow\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_6d645d0d309c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjingkl\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9691d32e1083.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjinlingxu06\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9ff23129a0fa.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunjiejiangjjj\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e6bc5c8a288e.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkrishnakatyal\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_2d8bd9323df4.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flrk612\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_c13bc1661b71.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fomartarek206\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_121f2ffe4d7c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Foneseer\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_f1e7677dbd1b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpravee42\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_039af209cd8c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Freiase\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_9960472ead83.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsanbuphy\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_0eb194a7432d.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshiyu22\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_5c07cd3d1114.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsongxianj\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e4470e0dfda9.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsoulteary\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_cc87e133c3c6.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsre-ci-robot\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_d0be3388917c.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsutcalag\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_b01ca3f22b97.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwxywb\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_dac83ea2a944.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxychu\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_352a2c2440dc.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzc277584121\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_e0bf3137ce8b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzengxiang68\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_6b1363726f8b.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzhousicong\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_readme_814eded2d539.png\" width=\"30px\" \u002F>\u003C\u002Fa>\n\u003Cbr>\u003C!-- 不要移除英雄机器人结束部分 -->\u003Cbr>\n\n正在寻找一个用于存储和索引嵌入向量的数据库吗？不妨看看 [Milvus](https:\u002F\u002Fgithub.com\u002Fmilvus-io\u002Fmilvus)。","# Towhee 快速上手指南\n\nTowhee 是一个基于大语言模型（LLM）编排的非结构化数据处理框架，支持图像、视频、音频、文本等多种模态数据的提取、转换和加载（ETL）。它提供丰富的预训练模型算子和 Pythonic API，帮助开发者快速构建高性能数据处理流水线。\n\n## 环境准备\n\n- **操作系统**：Linux \u002F macOS \u002F Windows\n- **Python 版本**：3.7 及以上\n- **依赖项**：无特殊系统依赖，pip 会自动安装所需 Python 包\n- **可选加速**：如需 GPU 加速，请确保已安装对应的 CUDA 驱动及 PyTorch\u002FTensorRT 环境\n\n## 安装步骤\n\n使用 pip 安装 Towhee 核心库及模型包：\n\n```bash\npip install towhee towhee.models\n```\n\n> 💡 **国内用户加速建议**：如遇下载缓慢，可使用清华或阿里云镜像源：\n> ```bash\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple towhee towhee.models\n> ```\n\n## 基本使用\n\n### 1. 使用预定义流水线（以句子嵌入为例）\n\nTowhee 内置了多种常用任务的预定义流水线，如下是生成句子向量嵌入的示例：\n\n```python\nfrom towhee import AutoPipes, AutoConfig\n\n# 加载并配置 sentence_embedding 流水线\nconfig = AutoConfig.load_config('sentence_embedding')\nconfig.model = 'paraphrase-albert-small-v2'\nconfig.device = 0  # 使用 GPU 0，若为 CPU 可设为 -1\n\nsentence_embedding = AutoPipes.pipeline('sentence_embedding', config=config)\n\n# 单句生成嵌入\nembedding = sentence_embedding('how are you?').get()\n\n# 批量生成嵌入\nembeddings = sentence_embedding.batch(['how are you?', 'how old are you?'])\nembeddings = [e.get() for e in embeddings]\n```\n\n### 2. 自定义流水线（以 CLIP 跨模态检索为例）\n\n若预定义流水线无法满足需求，可通过链式 API 自定义流程：\n\n```python\nfrom towhee import ops, pipe, DataCollection\n\n# 构建图像索引流水线\np = (\n    pipe.input('file_name')\n    .map('file_name', 'img', ops.image_decode.cv2())\n    .map('img', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='image'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    .map(('vec', 'file_name'), (), ops.ann_insert.faiss_index('.\u002Ffaiss', 512))\n    .output()\n)\n\n# 插入图像数据\nfor f_name in [\n    'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog1.png',\n    'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog2.png',\n    'https:\u002F\u002Fraw.githubusercontent.com\u002Ftowhee-io\u002Ftowhee\u002Fmain\u002Fassets\u002Fdog3.png'\n]:\n    p(f_name)\n\np.flush()  # 持久化 FAISS 索引\n\n# 构建文本搜图流水线\ndecode = ops.image_decode.cv2('rgb')\nsearch_pipe = (\n    pipe.input('text')\n    .map('text', 'vec', ops.image_text_embedding.clip(model_name='clip_vit_base_patch32', modality='text'))\n    .map('vec', 'vec', ops.towhee.np_normalize())\n    .map('vec', 'row', ops.ann_search.faiss_index('.\u002Ffaiss', 3))\n    .map('row', 'images', lambda x: [decode(item[2][0]) for item in x])\n    .output('text', 'images')\n)\n\n# 执行搜索并展示结果\nDataCollection(search_pipe('puppy Corgi')).show()\n```\n\n通过以上步骤，您即可快速开始使用 Towhee 处理非结构化数据。更多预定义流水线和算子详情，请访问 [Towhee Hub](https:\u002F\u002Ftowhee.io\u002F) 或查阅 [官方文档](https:\u002F\u002Ftowhee.readthedocs.io\u002F)。","某电商团队需要构建一个“以图搜同款”功能，让用户上传商品照片即可快速检索库中相似物品。\n\n### 没有 towhee 时\n- 开发人员需手动拼接图像解码、预处理、模型推理（如 CLIP）及向量降维代码，脚本冗长且难以维护。\n- 面对视频或批量图片数据，缺乏内置的帧采样与并行处理机制，导致数据处理耗时极长。\n- 不同深度学习框架（PyTorch, ONNX 等）的部署环境配置复杂，从原型到生产环境的迁移成本高昂。\n- 缺少标准化的算子库，每次更换模型或调整流程都需要重写大量底层逻辑，试错效率低下。\n\n### 使用 towhee 后\n- 通过 Pythonic 链式 API，仅需几行代码即可串联起“视频解码->关键帧提取->CLIP 特征提取->向量存储”的全流程。\n- 直接调用内置的 140+ 预训练算子（如视频切片、音频分割），无需重复造轮子，大幅缩短开发周期。\n- 利用基于 Triton 的高性能后端，自动优化 CPU\u002FGPU 推理速度，并能一键将管道打包为 Docker 容器用于生产部署。\n- 灵活切换多模态模型与提示词管理策略，轻松适配业务变化，快速构建检索增强生成（RAG）等高级应用。\n\ntowhee 将复杂的非结构化数据处理流水线简化为直观的代码链条，让开发者能专注于业务逻辑而非底层工程细节。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftowhee-io_towhee_7222f2e0.png","towhee-io","Towhee","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftowhee-io_d0c033aa.png","Open source platform for generating embedding vectors.",null,"https:\u002F\u002Ftowhee.io\u002F","https:\u002F\u002Fgithub.com\u002Ftowhee-io",[80,84,88,92,95],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.8,{"name":85,"color":86,"percentage":87},"Dockerfile","#384d54",0.1,{"name":89,"color":90,"percentage":91},"Batchfile","#C1F12E",0,{"name":93,"color":94,"percentage":91},"Makefile","#427819",{"name":96,"color":97,"percentage":91},"HTML","#e34c26",3446,261,"2026-04-16T18:01:25","Apache-2.0","未说明","非必需。支持 CPU 和 GPU 运行。若使用高性能后端（Triton Inference Server），支持 TensorRT、PyTorch 和 ONNX 加速，具体显卡型号和 CUDA 版本取决于所选后端及模型。",{"notes":105,"python":106,"dependencies":107},"该工具是一个基于 LLM 的非结构化数据处理框架。核心功能包括算子（Operators）、管道（Pipelines）和数据集合 API。虽然基础安装仅需 pip 安装 towhee 包，但实际运行中会根据调用的具体模型（如 BERT, CLIP 等，超过 140 种）自动依赖相应的深度学习库（如 PyTorch, TensorFlow 等）。支持将 Python 管道转换为 Docker 容器进行部署。","3.7+",[64,108],"towhee.models",[16,14,15,35,110,111],"其他","视频",[113,114,115,116,117,118,119,120,121,122,123,124,125,64,126,127,128,129],"machine-learning","convolutional-networks","embedding-vectors","embeddings","computer-vision","image-processing","video-processing","feature-extraction","image-retrieval","unstructured-data","feature-vector","transformer","milvus","vision-transformer","vit","pipeline","llm","2026-03-27T02:49:30.150509","2026-04-20T07:17:17.137538",[133,138,143,148,153,158],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},44085,"如何在多进程（multiprocessing）环境中启动 Towhee 引擎？","Towhee 包含后端线程、全局变量和锁，直接在子进程中启动引擎可能会导致问题。建议在子进程中使用 `Popen` 来运行 pipeline，或者改用多线程（threads）来执行 pipeline 任务。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F1651",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},44086,"加载 PyTorchVideo 的 MViT 模型时出现 'No module named towhee.types.video_frame' 或文件缺失错误怎么办？","这是一个已知的 PyTorchVideo 兼容性问题。临时解决方案是手动替换本地缓存的 PyTorchVideo 代码为稳定版本（v0.1.3）。请执行以下命令：\n1. 进入缓存目录：`cd ~\u002F.cache\u002Ftorch\u002Fhub`\n2. 备份现有目录：`mv facebookresearch_pytorchvideo_master pytorchvideo_bak`\n3. 克隆仓库：`git clone https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpytorchvideo.git facebookresearch_pytorchvideo_master`\n4. 切换版本：`cd facebookresearch_pytorchvideo_master && git checkout tags\u002F0.1.3`\n注意：有时缓存目录名可能是 'facebookresearch_pytorchvideo_main'，请根据实际情况调整。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F1292",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},44087,"遇到图像读取异常或解码错误时该如何解决？","此类问题通常是由 Towhee 版本过旧引起的。请将 `towhee` 和 `towhee.models` 升级到最新版本（例如 0.8.0 或更高）。可以使用命令 `pip install -U towhee towhee.models` 进行升级。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F2102",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},44088,"服务器无法访问 Hugging Face，如何加载本地下载的模型？","Towhee 支持直接传入本地 Hugging Face 模型目录的路径来加载模型，而无需从远程 URL 下载。在调用相关算子（如 `image_embedding.timm` 或 transformers 相关算子）时，将 `model_name` 参数设置为你本地模型文件夹的绝对路径即可。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F2669",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},44089,"Towhee 是否支持直接输入 URL 或二进制数据，而不是本地文件路径？","Towhee 的原生算子主要设计用于处理本地文件路径。如果您的场景是基于流量（实时流）而非批量处理文件，建议不要强行在管道内处理二进制流。推荐做法是使用 Towhee v0.8.0+ 一键生成服务 Docker 镜像，通过 Docker 进行横向弹性扩展，并配合内部应用网关来处理 HTTP 请求（传入 URL 或二进制数据），这样能在保持灵活性的同时提高性能。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F1673",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},44090,"导入 towhee 时提示 'no module named numpy' 或其他依赖缺失怎么办？","这通常是因为安装环境缺少必要的 Python 依赖包。请确保在当前环境中安装了 numpy 以及其他 torch 相关的依赖。可以尝试运行 `pip install numpy` 或重新安装 towhee 以自动解决依赖关系：`pip install -U towhee`。如果是在虚拟环境中，请确认激活了正确的环境。","https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Fissues\u002F952",[164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239],{"id":165,"version":166,"summary_zh":167,"released_at":168},351618,"1.1.3","## 陶辉\r\n\r\n此版本同时支持 Pydantic 1 和 2。","2023-12-05T02:33:36",{"id":170,"version":171,"summary_zh":172,"released_at":173},351619,"1.1.2","## Towhee\n\n此版本用于修复在高并发情况下，Towhee Triton 服务器返回错误数据的问题。","2023-09-15T03:06:04",{"id":175,"version":176,"summary_zh":177,"released_at":178},351620,"1.1.1","## 托希\n\n此版本用于修复与 Pydantic 2.0 的不兼容问题。","2023-07-05T07:59:47",{"id":180,"version":181,"summary_zh":182,"released_at":183},351621,"1.1.0","## Towhee\n\n- AutoPipes 支持来自 Towhee 中心的管道\n  - [towhee\u002Fimage-embedding](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Faudio-embedding)\n  - [towhee\u002Faudio-embedding](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Fimage-embedding)\n  - [towhee\u002Feqa-insert](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Feqa-insert)\n  - [towhee\u002Feqa-search](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Feqa-search)\n \n- 添加 debug() API \n \n- 支持将管道作为节点\n\n- 为算子添加 revision 和 latest 版本标识\n\n- 在下载算子时增加重试机制\n\n- 新增数据源算子\n  - [csv](https:\u002F\u002Ftowhee.io\u002Fdata-source\u002Fcsv-reader)\n  - [glob](https:\u002F\u002Ftowhee.io\u002Fdata-source\u002Fglob)\n  - [sqldb](https:\u002F\u002Ftowhee.io\u002Fdata-source\u002Fsql)\n  - [readthedocs](https:\u002F\u002Ftowhee.io\u002Fdata-source\u002Freadthedocs)\n\n## 管道\n\n- towhee\u002Feqa-insert\n- towhee\u002Feqa-search\n\n## 算子\n\n- [towhee\u002Ftext-loader](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Ftext-loader)\n- [towhee\u002Ftext-splitter](https:\u002F\u002Ftowhee.io\u002Ftowhee\u002Ftext-splitter)\n- [prompt\u002Fquestion-answer](https:\u002F\u002Ftowhee.io\u002Fprompt\u002Fquestion-answer)\n- [prompt\u002Ftemplate](https:\u002F\u002Ftowhee.io\u002Fprompt\u002Ftemplate)\n- [LLM\u002FDolly](https:\u002F\u002Ftowhee.io\u002FLLM\u002FDolly)\n- [LLM\u002FOpenAIs](https:\u002F\u002Ftowhee.io\u002FLLM\u002FOpenAI)\n- [LLM\u002FErnie](https:\u002F\u002Ftowhee.io\u002FLLM\u002FErnie)\n\n## 文档\n\n- [官方网站文档](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Ftree\u002Fmain\u002Fdocs)\n- [Read the Docs](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Ftowhee\u002Ftree\u002Fmain\u002Ftowhee\u002Fdoc\u002Fsource)","2023-06-09T08:45:09",{"id":185,"version":186,"summary_zh":187,"released_at":188},351622,"1.0.0","## Towhee 新特性介绍\n\n  - 支持批处理接口\n  - 支持将流水线转换为 Nvidia [Triton](https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Fmain\u002Ftriton\u002Ftriton.html) 服务器\n  - 新文档：https:\u002F\u002Fdocs.towhee.io\u002F 和 https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Fmain\u002Findex.html\n  - 移除旧版接口。","2023-05-25T14:24:58",{"id":190,"version":191,"summary_zh":192,"released_at":193},351623,"0.9.0","## Towhee 命令\n\n- 支持将算子代码包打包并上传至 PyPI\n  - towhee package -n [命名空间] -p [仓库名]\n- 支持将权重文件上传至 S3、列出 S3 文件夹中的文件以及从 S3 下载文件\n  - towhee lsS3 -p [存储桶中的路径]\n  - towhee downloadS3 -pl [本地路径] -pb [存储桶路径]\n\ns3：模型权重\n- S3 上有 5 个模型权重：clip4clip、vggish、nnfp_fma、nnfp_fma_distill_128\n\n## 新模型\n\n- 1 个视频分类模型\n  - [Vis4mer](https:\u002F\u002Farxiv.org\u002Fabs\u002F2204.01692)\n- 3 个 SOTA 视觉骨干网络\n  - [MCProp](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.10436)\n  - [RepLKNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.06717)\n  - [Shunted Transformer](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.15193)\n\n## 算子\n\n- 新增 2 个代码搜索算子：[code_search.codebert](https:\u002F\u002Ftowhee.io\u002Fcode-search\u002Fcodebert)、[code_search.unixcoder](https:\u002F\u002Ftowhee.io\u002Fcode-search\u002Funixcoder)\n- 新增 5 个图像字幕生成算子：[image_captioning.expansionnet-v2](https:\u002F\u002Ftowhee.io\u002Fimage-captioning\u002Fexpansionnet-v2)、[image_captioning.magic](https:\u002F\u002Ftowhee.io\u002Fimage-captioning\u002Fmagic)、[image_captioning.clip_caption_reward](https:\u002F\u002Ftowhee.io\u002Fimage-captioning\u002Fclip-caption-reward)、[image_captioning.blip](https:\u002F\u002Ftowhee.io\u002Fimage-captioning\u002Fblip)、[image_captioning.clipcap](https:\u002F\u002Ftowhee.io\u002Fimage-captioning\u002Fclipcap)\n- 新增 5 个图像-文本嵌入算子：[image_text_embedding.albef](https:\u002F\u002Ftowhee.io\u002Fimage-text-embedding\u002Falbef)、[image_text_embedding.ru_clip](https:\u002F\u002Ftowhee.io\u002Fimage-text-embedding\u002Fru-clip)、[image_text_embedding.japanese_clip](https:\u002F\u002Ftowhee.io\u002Fimage-text-embedding\u002Fjapanese-clip)、[image_text_embedding.taiyi](https:\u002F\u002Ftowhee.io\u002Fimage-text-embedding\u002Ftaiyi)、[image_text_embedding.slip](https:\u002F\u002Ftowhee.io\u002Fimage-text-embedding\u002Fslip)\n- 新增 1 个机器翻译算子：[machine_translation.opus_mt](https:\u002F\u002Ftowhee.io\u002Fmachine-translation\u002Fopus-mt)\n- 新增 1 个过滤微小片段算子：[video-copy-detection.filter-tiny-segments](https:\u002F\u002Ftowhee.io\u002Fvideo-copy-detection\u002Ffilter-tiny-segments)\n\n## 笔记本\n\n- 更新音频指纹入门教程：[音频指纹 I：使用 Towhee 和 Milvus 构建演示](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Faudio\u002Faudio_fingerprint\u002Faudio_fingerprint_beginner.ipynb)（修改了投票方法）\n- 新增音频指纹进阶教程：[音频指纹 II：带时间定位的音乐检测](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Faudio\u002Faudio_fingerprint\u002Faudio_fingerprint_advanced.ipynb)（准确率由 84% 提升至 90%）\n\n## 性能\n\n- 在 MPAA 数据集上提升了视频去重 F1 指标。（88.83% -> 94.46%）\n\n## Towhee\n\n- 新的流水线接口。流水线节点支持 map\u002Fflat_map\u002Ffilter\u002Fwindow\u002Ftime_window\u002Fwindow_all 等类型。","2022-12-02T13:39:04",{"id":195,"version":196,"summary_zh":197,"released_at":198},351624,"0.8.1","## 新模型：\n\n- 用于视频嵌入的视觉主干网络\n  - [ISC](https:\u002F\u002Farxiv.org\u002Fabs\u002F2112.04323)\n- 3个SOTA视觉主干网络\n  - [MetaFormer](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.11418)\n  - [ConvNeXt](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.03545)\n  - [HorNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.14284)\n\n## 算子：\n\n- 新增2个视频去重算子：[select-video](https:\u002F\u002Ftowhee.io\u002Fvideo-copy-detection\u002Fselect-video)、[temporal-network](https:\u002F\u002Ftowhee.io\u002Fvideo-copy-detection\u002Ftemporal-network)\n- 新增1个专为图像检索和视频去重设计、在VCSL数据集上表现达到SOTA水平的图像嵌入算子：[isc](https:\u002F\u002Ftowhee.io\u002Fimage-embedding\u002Fisc)\n- 新增1个专用于音频指纹的音频嵌入算子：[audio_embedding.nnfp](https:\u002F\u002Ftowhee.io\u002Faudio-embedding\u002Fnnfp)（附预训练权重）\n\n## 笔记本：\n\n- 新增1个视频去重教程：[video_deduplication_at_segment_level.ipynb](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Fvideo\u002Fvideo_deduplication\u002Fsegment_level\u002Fvideo_deduplication_at_segment_level.ipynb)\n- 新增1个音频指纹入门教程：[音频指纹I：使用Towhee与Milvus构建演示](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Faudio\u002Faudio_fingerprint\u002Faudio_fingerprint_beginner.ipynb)\n\n## DC \n  - dc.flatten 现在支持多列；\n  - dc.group_by；\n  - kv 存储混入：\n    - dc.insert_leveldb；\n    - dc.search_leveldb；\n  - 算子无输出，即 dc.operator['input', ]()","2022-09-30T10:14:41",{"id":200,"version":201,"summary_zh":202,"released_at":203},351625,"0.8.0","## towhee\n\n- 使用[NVIDIA Triton 推理服务器](https:\u002F\u002Fgithub.com\u002Ftriton-inference-server\u002Fserver)作为 towhee 的后端。towhee 支持从 towhee 管道生成一个 Triton 服务器。\n- Towhee 支持[GPU 图像解码](https:\u002F\u002Ftowhee.io\u002Fimage-decode\u002Fnvjpeg)。\n\n## towhee.models\n\n- 新增一个音频指纹模型：[nnfp](https:\u002F\u002Ftowhee.io\u002Faudio-embedding\u002Fnnfp)（模型及算子）\n- 新增两个图像嵌入模型：[RepMLP](https:\u002F\u002Farxiv.org\u002Fabs\u002F2112.11081)、[WaveViT](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2207.04978v1.pdf)","2022-08-16T13:48:40",{"id":205,"version":206,"summary_zh":207,"released_at":208},351626,"0.7.3","5 个新的 SOTA 模型：\n- 视觉识别、视觉-语言对齐、图像字幕生成以及多模态理解，支持零样本迁移、冻结特征评估或端到端微调。\n  - [CoCa](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2205.01917.pdf)\n- 现场情境识别\n  - [CoFormer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2203.16518.pdf)\n- 重复性动作计数\n  - [TransRAC](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2204.01018.pdf)\n- 图像检索\n  - [CVNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2204.01458.pdf)\n- 主干网络\n  - [MaxViT](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2204.01697.pdf)","2022-07-27T12:46:42",{"id":210,"version":211,"summary_zh":212,"released_at":213},351627,"0.7.2","# 错误修复：\n- 减小 towhee 软件包的大小。","2022-07-07T12:26:24",{"id":215,"version":216,"summary_zh":217,"released_at":218},351628,"0.7.1","# New Models:\r\n- Vision transformer backbone\r\n  - [MPViT](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2112.11010.pdf)\r\n- Text-image retrieval model\r\n  - [LightningDOT](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.08784.pdf)\r\n- Video retrieval models\r\n  - [BridgeFormer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2201.04850.pdf)\r\n  - [collaborative-experts](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2104.08271.pdf)\r\n# Attention Visualization:\r\n- Attention heatmap visualization for Vit, MViT models\r\n- Cross-modality visualization for CLIP model\r\n- Tools for embedding visualization\r\n# Faiss supports:\r\n- Add new mixins `to_faiss`, `faiss_search` #1447\r\n# Bug Fix:\r\n- Fix towhee.api.as_function() object has no attribute '__name__'  #1489\r\n- Fix IndexError with towhee.glob #1474","2022-07-01T10:34:20",{"id":220,"version":221,"summary_zh":222,"released_at":223},351629,"0.7.0","## Highlights\r\n\r\n- Towhee supports video, audio and multimodal processing!\r\n- Towhee supports text-video retrieval!\r\n- Towhee supports video understanding\u002Fclassification!\r\n- Towhee supports multimodal!\r\n- Towhee supports ensemble!\r\n- Towhee supports stream processing for audio data!\r\n\r\n## 7 SOTA video understanding\u002Fclassification models\r\n\r\n[ACAR-Net](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2006.07976.pdf), [omnivore](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2201.08377.pdf), [timesformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2102.05095.pdf), [Movinet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.11511.pdf), [TSM](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1811.08383v3.pdf), [Uniformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2201.04676v3.pdf), [Video Swin Transformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2106.13230v1.pdf)\r\n\r\n## 4 SOTA video retrieval models\r\n\r\n[clip4clip](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2104.08860.pdf), [DRL](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2203.07111.pdf), [Frozen in time](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2104.00650.pdf), [mdmmt](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.10699.pdf)\r\n\r\n## Operators\r\n\r\n- Operators suppport 7 SOTA video understanding\u002Fclassification models: [timesformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2102.05095.pdf), [ActionCLIP](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2109.08472.pdf), [omnivore](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2201.08377.pdf), [Movinet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.11511.pdf), [TSM](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1811.08383v3.pdf), [Uniformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2201.04676v3.pdf), [Video Swin Transformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2106.13230v1.pdf)，intergration META's [pytorchvideo](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2111.09887.pdf) in Action Classification\r\n- Operators support 3 SOTA video retrieval models: [clip4clip](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2104.08860.pdf), [mdmmt](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.10699.pdf), [frozen_in_time](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2104.00650.pdf) in Video\u002FText Embedding\r\n- Operators support 2 SOTA ensemble algorithms: [Greedy ensemble](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2203.09893.pdf), Weighted Average Ensemble in Ensemble\r\n- Operators support 6 SOTA multimodal models: [CLIP](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.00020.pdf), [data2text](https:\u002F\u002Fscontent-hkt1-2.xx.fbcdn.net\u002Fv\u002Ft39.8562-6\u002F271974914_483120576492438_4239522333319653600_n.pdf?_nc_cat=107&ccb=1-7&_nc_sid=ae5e01&_nc_ohc=h6Abi42Jz-YAX_n4okL&_nc_ht=scontent-hkt1-2.xx&oh=00_AT-vLk7Iju9b6O8qX9uGUMfKD5W4SPJDcu8PM_j8v99ubg&oe=62A5F251), [data2audio](https:\u002F\u002Fscontent-hkt1-2.xx.fbcdn.net\u002Fv\u002Ft39.8562-6\u002F271974914_483120576492438_4239522333319653600_n.pdf?_nc_cat=107&ccb=1-7&_nc_sid=ae5e01&_nc_ohc=h6Abi42Jz-YAX_n4okL&_nc_ht=scontent-hkt1-2.xx&oh=00_AT-vLk7Iju9b6O8qX9uGUMfKD5W4SPJDcu8PM_j8v99ubg&oe=62A5F251), [data2vision](https:\u002F\u002Fscontent-hkt1-2.xx.fbcdn.net\u002Fv\u002Ft39.8562-6\u002F271974914_483120576492438_4239522333319653600_n.pdf?_nc_cat=107&ccb=1-7&_nc_sid=ae5e01&_nc_ohc=h6Abi42Jz-YAX_n4okL&_nc_ht=scontent-hkt1-2.xx&oh=00_AT-vLk7Iju9b6O8qX9uGUMfKD5W4SPJDcu8PM_j8v99ubg&oe=62A5F251), [LightningDOT](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2103.08784.pdf), [UNITER](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1909.11740.pdf) in Multimodal\r\n- Add 1 image embedding operator with [DOLG](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2108.02927.pdf)  in Image embedding （https:\u002F\u002Ftowhee.io\u002Fimage-embedding\u002Fdolg）\r\n- Add stream processing [operators](https:\u002F\u002Ftowhee.io\u002Fvideo-decode\u002Fffmpeg) for audio and video with ffmpeg in Image decode and Audio decode\r\n- Add audio embedding operator with [VGGish](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1609.09430.pdf) and stream processing support! In Audio embedding\r\n\r\n## Bootcamp\r\n\r\n- [action classification](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Ftree\u002Fmain\u002Fvideo\u002Fvideo_tagging)\r\n- [reverse video search](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Ftree\u002Fmain\u002Fvideo\u002Freverse_video_search)\r\n- [text video retrieval](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Ftree\u002Fmain\u002Fvideo\u002Ftext_video_retrieval)\r\n- [text-image-search](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Ftree\u002Fmain\u002Fimage\u002Ftext_image_search)","2022-06-24T07:48:06",{"id":225,"version":226,"summary_zh":227,"released_at":228},351630,"0.6.1","\r\nShowcase\r\n------------\r\n\r\n- [Build a Milvus Powered Image Search Engine in Minutes](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Fimage\u002Freverse_image_search\u002Fbuild_image_search_engine.ipynb)\r\n- [Deep Dive into Real-World Image Search Engine with Towhee](https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples\u002Fblob\u002Fmain\u002Fimage\u002Freverse_image_search\u002Fdeep_dive_image_search.ipynb) \r\n\r\nChangeLog\r\n---------------\r\n\r\n- Towhee has a new repo for code examples: https:\u002F\u002Fgithub.com\u002Ftowhee-io\u002Fexamples;\r\n- Add support for Milvus data source;","2022-05-13T13:11:18",{"id":230,"version":231,"summary_zh":232,"released_at":233},351631,"0.6.0","## Highlights\r\n\r\n- A new programming API, `DataCollection`, is released in this version. The users can build their own unstructured data processing pipeline and application with a pythonic,  method-chaining style DSL, based on `DataCollection`. Please check details in our [API document](https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Fmain\u002Fdata_collection\u002Fget_started.html);\r\n- Towhee now provides a decorator `towhee.register` to help the users register their own  code as an operator, and cooperate their code with the operators from towhee hub. The decorator also simplifies operator development. Please check our examples in the API document: [towhee ‒ Towhee v0.6.0 documentation](https:\u002F\u002Ftowhee.readthedocs.io\u002Fen\u002Fmain\u002Ftowhee\u002Ftowhee.html);\r\n- `towhee.train` now integrate captum to explain model;\r\n\r\n## towhee\r\n\r\n- The DataCollection API: \r\n  - Core API #659: #727 \r\n  - Parallel execution: #676 #705 #837\r\n  - DAG execution: #1024\r\n  - Experimental ray backend: #933 #947\r\n  - Mixins: #750 #834 #929 #961 #970 #1026\r\n- The decorator for register operator: #897 #920\r\n- Support for entity class: #799 #868 #998 #1035\r\n\r\n## towhee.models\r\n\r\ntowhee.models now is a separate python package , which makes it much easier to be upgraded independently.\r\n- plot utils during training: #841 #842\r\n- integrate captum to explain model: #854\r\n- fix some training bugs: #780 #940","2022-04-08T14:10:17",{"id":235,"version":236,"summary_zh":237,"released_at":238},351632,"0.5.0","#### Highlights\r\n- training\u002Ffine-tuning is supported! For the cases when an operator is a wrapper of neural network model,  users can train or fine-tune the model via `train()` method of the operator.\r\n- Towhee framework now supports video pipelines!\r\n- New task types, word embedding, object detection, face detection, face feature encoding, are included in this version.\r\n- 400+ new pipelines are available at towhee hub.\r\n\r\n#### Thanks\r\nMany thanks to all those who contributed to this release!\r\n@annisun2020 @binbinlv @Chiiizzzy @filip-halt @fzliu @GuoRentong @jaelgu @jeffoverflow @jingkl @jennyli-z @junjiejiangjjj @krishnakatyal @LoveEachDay @oneseer @reiase @shanghaikid @shiyu22 @Tumao727 @wxywb @yanliang567 @zc277584121","2022-03-04T15:22:54",{"id":240,"version":241,"summary_zh":242,"released_at":243},351633,"0.4.0","#### Highlights\r\n- The Towhee website has a new look and feel! The new Towhee website includes several important docs, including in-depth Towhee tutorials, pipeline and operator summaries, development and contributing guides, and more. See https:\u002F\u002Fdocs.towhee.io. If you have any feedback for the website design or encounter any bugs, please open an issue through Github.\r\n- Towhee now offers pre-built embedding pipelines that use transformer-based models: SwinTransformer and ViT.\r\n- Towhee now offers pipelines with ensemble embedding models.\r\n- Official support for several different operating systems (Ubuntu 18.04, Ubuntu 20.04, macOS 10, macOS 11 Intel CPU, and Windows 10) is here!\r\n- A major refactor was completed - this refactor uses a new task scheduling framework and allows Operators to be based on generators, added several new iterators over input DataFrames (flatmap, concat, etc), added runners for operators, and more. See below for a full set of details.\r\n- Towhee now supports concat operators in pipeline.\r\n- Towhee now supports local caching - previously downloaded pipelines and operators are now cached within the ~\u002F.towhee directory for future use.\r\n#### Pipelines\r\n- Image embedding pipeline(s) based on Resnet models (paper):\r\n  - image-embedding-resnet50\r\n  - image-embedding-resnet101\r\n- Image embedding pipeline(s) based on EfficientNet models (paper):\r\n  - image-embedding-efficientnetb5\r\n  - image-embedding-efficientnetb7\r\n- Image embedding pipeline(s) based on ViT (paper):\r\n  - image-embedding-vitlarge\r\n- Image embedding pipeline(s) based on Swin Transformers (paper):\r\n  - image-embedding-swinbase\r\n  - image-embedding-swinlarge\r\n- Image embedding pipeline(s) based on multiple ensemble models:\r\n  - image-embedding-efficientnetb7-swinlarge-concat\r\n  - image-embedding-3ways-ensemble-large-v1\r\n- Music embedding pipeline(s) based on VGGish (paper):\r\n  - audio-embedding-vggish\r\n- Music embedding pipeline(s) based on CLMR (paper):\r\n  - audio-embedding-clmr\r\n#### Operators\r\n- Operator(s) based on Resnet models (paper):\r\n  - resnet-image-embedding\r\n- Operators(s) based on EfficientNet models (paper):\r\n  - efficientnet-image-embedding\r\n- Operators(s) based on ViT (paper):\r\n  - vit-image-embedding\r\n- Operators(s) based on Swin Transformers (paper):\r\n  - swintransformer-image-embedding\r\n- Operators(s) based on VGGish (paper):\r\n  - tf-vggish-audioset\r\n- Operators(s) based on CLMR (paper):\r\n  - clmr-magnatagatune\r\n#### Towhee Framework\r\n- A major refactor was completed - this refactor uses a new task scheduling framework, it also allows Operators to be based on generators, added several new iterators over input DataFrames (flatmap, concat, etc), added runners for operators, and more. See below for a full set of details.\r\n- Engine refactor: #272 #303 #324\r\n- Support concat #296 #339 #359\r\n- Hub pipeline\u002Foperator repo download by branch #286\r\n- Local cache for pipeline\u002Foperator repo  #297\r\n- Adjust pipeline\u002Foperator repo file structure, add hub tools for pipeline\u002Foperator project init #315 #323\r\n- Base classes for operators: NNOperator, PyOperator #333\r\n- Clean up towhee third party dependency. Migrate requirements from towhee to operators. #308\r\n- Allow instantiate pipelines by yaml description files. #320\r\n#### Documentations\r\nNew pages\r\n- [\"Overview\"](https:\u002F\u002Fdocs.towhee.io\u002F)\r\n- [\"Getting started \u002F Quick start\"](https:\u002F\u002Fdocs.towhee.io\u002Fget-started\u002Fquick-start)\r\n- [\"Getting started \u002F Installation\"](https:\u002F\u002Fdocs.towhee.io\u002Fget-started\u002Finstall)\r\n- [\"Tutorials \u002F Reverse image search\"](https:\u002F\u002Fdocs.towhee.io\u002Ftutorials\u002Freverse-image-search)\r\n- [\"Tutorials \u002F Image deduplication\"](https:\u002F\u002Fdocs.towhee.io\u002Ftutorials\u002Fimage-deduplication)\r\n- [\"Tutorials \u002F Music recognition\"](https:\u002F\u002Fdocs.towhee.io\u002Ftutorials\u002Fmusic-recognition-system)\r\n- [\"Supported pipelines \u002F Image embedding pipelines\"](https:\u002F\u002Fdocs.towhee.io\u002Ftutorials\u002Fmusic-recognition-system)\r\n- [\"Supported pipelines \u002F Music embedding pipelines\"](https:\u002F\u002Fdocs.towhee.io\u002Fpipelines\u002Fmusic-embedding)\r\n- [\"Developer guides \u002F Contributing \u002F Contributing guide\"](https:\u002F\u002Fdocs.towhee.io\u002Fdeveloper-guides\u002Fcontributing\u002Fcontributing-guide)\r\n#### Thanks\r\nMany thanks to all those who contributed to this release!\r\n@binbinlv @Chiiizzzy @derekdqc @filip-halt @fzliu @GuoRentong @guoxiangzhou @jaelgu @jeffoverflow @jennyli-z @junjiejiangjjj @LoveEachDay @NbnbZero @oneseer @shanghaikid @shiyu22 @Tumao727 @wxywb @yanliang567 @zc277584121","2021-12-31T11:51:25"]