
Rust开发的多源数据嵌入生成框架
EmbedAnything是一个基于Rust的高效嵌入生成框架,支持处理文本、图像、音频等多种数据源。该框架具备本地嵌入、多模态处理、硬件加速等功能,可将生成的嵌入存储至向量数据库。其轻量级设计和高性能特性为AI开发人员提供了便捷的嵌入模型使用方案。


EmbedAnything是一个极简但高性能、轻量级、极速的多源、多模态本地嵌入管道,由Rust构建。无论您是处理文本、图像、音频、PDF、网页还是其他媒体,EmbedAnything都可以简化从各种来源生成嵌入并将其流式传输到向量数据库的过程。
<!-- TABLE OF CONTENTS --> <details> <summary>目录</summary> <ol> <li> <a href="#about-the-project">关于本项目</a> <ul> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#the-benefit-of-rust-for-speed">以Rust构建</a></li> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#why-candle">为什么选择Candle?</a></li> </ul> </li> <li> <a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#-getting-started">入门</a> <ul> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#-installation">安装</a></li> </ul> </li> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#-getting-started">使用</a></li> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#roadmap">路线图</a></li> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#quick-start">贡献</a></li> <li><a href="https://github.com/StarlightSearch/EmbedAnything?tab=readme-ov-file#Supported-Models">如何添加自定义模型和块大小</a></li> </ol> </details>➡️执行更快速。<br /> ➡️内存管理:Rust同时强制执行内存管理,防止内存泄漏和崩溃。<br /> ➡️真正的多线程<br /> ➡️本地和高效地运行语言模型或嵌入模型<br /> ➡️Candle允许直接在CUDA启用的GPU上进行推理。<br /> ➡️降低EmbedAnything的内存使用。
我们支持一系列可由Candle支持的模型,我们提供了一组经过测试的模型,但如果您有特定的用例,请在issues中提出。
jina_config = JinaConfig( model_id="Custom link given below", revision="main", chunk_size=100 ) embed_config = EmbedConfig(jina=jina_config)
这是一个英语到中文的翻译,请提供这个源文本的中文翻译。 不要提供任何解释或文本,除了翻译。 请注意:翻译需要符合中文语序、流程和通顺性。 需要翻译的源文本被包裹在XML标签中。
| 模型 | 自定义链接 |
|---|---|
| Jina | jinaai/jina-embeddings-v2-base-en |
| jinaai/jina-embeddings-v2-small-en | |
| Bert | sentence-transformers/all-MiniLM-L6-v2 |
| sentence-transformers/all-MiniLM-L12-v2 | |
| sentence-transformers/paraphrase-MiniLM-L6-v2 | |
| Clip | openai/clip-vit-base-patch32 |
| Whisper | 大多数来自huggingface的OpenAI Whisper模型 |
pip install embed-anything
import embed_anything data = embed_anything.embed_file("file_path.pdf", embeder= "Bert") embeddings = np.array([data.embedding for data in data])
import embed_anything data = embed_anything.embed_directory("directory_path", embeder= "Clip") embeddings = np.array([data.embedding for data in data]) query = ["photo of a dog"] query_embedding = np.array(embed_anything.embed_query(query, embeder= "Clip")[0].embedding) similarities = np.dot(embeddings, query_embedding) max_index = np.argmax(similarities) Image.open(data[max_index].text).show()
import embed_anything from embed_anything import JinaConfig, EmbedConfig, AudioDecoderConfig import time start_time = time.time() # 从 https://huggingface.co/distil-whisper或 https://huggingface.co/collections/openai/whisper-release-6501bba2cf999715fd953013 选择任何whisper或 distilwhisper模型 audio_decoder_config = AudioDecoderConfig( decoder_model_id="openai/whisper-tiny.en", decoder_revision="main", model_type="tiny-en", quantized=False, ) jina_config = JinaConfig( model_id="jinaai/jina-embeddings-v2-small-en", revision="main", chunk_size=100 ) config = EmbedConfig(jina=jina_config, audio_decoder=audio_decoder_config) data = embed_anything.embed_file( "test_files/audio/samples_hp0.wav", embeder="Audio", config=config ) print(data[0].metadata) end_time = time.time() print("时间花费: ", end_time - start_time)
首先,非常感谢你为这个项目做出贡献。我们非常感谢你的贡献,无论是错误报告、功能建议还是拉取请求。你的时间和精力在这个项目中都是非常宝贵的。 🚀
这个文档提供了一些指导方针和最佳实践,帮助你更有效地做出贡献。这些只是作为指导方针,而不是严格的规则。我们鼓励你根据自己的最佳判断来使用,并通过拉取请求来提出对这个文件的更改建议。
EmbedAnything的目标之一是允许AI工程师在典型的文件和文档上轻松使用最新的嵌入模型。这里已经完成了很多工作,以下是我们目前支持的格式,还有一些需要完成。<br /> ✅ Markdown、PDF和网站<br /> ✅ WAV文件<br /> ✅ JPG、PNG、webp<br /> ✅为音频嵌入添加whisper<br /> ✅上传自定义模型,任何在candle中可用的模型<br /> ✅自定义块大小<br /> ✅Pinecone适配器,直接保存在上面<br /> ✅零shot应用<br />
还需要完成的<br /> ☑️ 矢量数据库:添加与任何矢量数据库集成的功能<br /> ☑️ 图嵌入 -- 建立deepwalks嵌入深度优先和词到向量<br />
请阅读我们的[行为准则],了解我们对所有参与这个项目的贡献者的期望。通过参与,你同意遵守我们的行为准则。
你可以通过搜索[Issues Section]中带有"Good First Issue"或"Help Needed"标签的问题,快速开始参与贡献。如果你认为你可以做出贡献,请在问题上发表评论,我们会将其指派给你。
要设置你的开发环境,请按照以下步骤操作:


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务, 保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号