Embedding 模型
Embedding 模式将高维度的数据映射到低维度的空间,这样有利于数据的处理和分析。
文本模型
这里有一个排行榜,https://huggingface.co/spaces/mteb/leaderboard
在上面的排行榜中,会给出模型的评分,模型的参数量、内存使用、向量维度、最长 Token 等信息。下面是常用的开源模型:
- gte-Qwen2-7B-instruct
https://huggingface.co/Alibaba-NLP/gte-Qwen2-7B-instruct
维度 3584,最大 Token 131072,内存 28 GB
- gte-Qwen2-1.5B-instruct
https://huggingface.co/Alibaba-NLP/gte-Qwen2-1.5B-instruct
维度 1536,最大 Token 131072,内存 6 GB
图像模型
找 ViT 模型,Vision Transformer (ViT) 是基于 Transformer 的新架构。
- clip-vit-base-patch32
https://huggingface.co/openai/clip-vit-base-patch32
维度 512
- clip-vit-large-patch14
https://huggingface.co/openai/clip-vit-large-patch14
维度 768
向量数据库
向量数据库是专门为向量的存储和检索而设计的,在处理向量数据时,相较于传统数据库更加快速和准确。
postgresql
postgresql 从 13 版本开始,可以通过开源向量检索插件 PGVector 实现了向量检索功能。
适用于对延时要求不高、成本敏感的场景。
redis
redis 从 2.4 版本开始正式支持向量检索,在 7.2 版本中对向量检索功能进行了重大更新和优化,支持 HNSW 检索。
适用于对延时要求高,查询频繁,需要简单快速部署的场景。
elasticsearch
elasticsearch 从 7.0 版本开始增加对向量字段的支持、8.0 版本引入了原生支持 ANN 、HNSW 检索。
适用于大规模数据,需要混合文本、结构化数据和向量数据的场景。
Chroma
https://github.com/chroma-core/chroma
Chroma 是一个用 Rust 和 Python 构建的向量数据库,以其简单易用性著称。它对多媒体内容处理有很好的支持,特别适合快速原型开发和实验。
Milvus
https://github.com/milvus-io/milvus
Milvus 是用 Go 和 C++ 开发的分布式向量数据库,提供强大的通用数据处理能力,在推荐系统、语言和视觉分析等场景表现出色。
Faiss
https://github.com/facebookresearch/faiss
Faiss 是 Facebook 开源的 C++ 向量检索库,其最大特点是支持 GPU 加速,能够高效处理大规模向量搜索任务。
Weaviate
https://github.com/weaviate/weaviate
Weaviate 是一个用 Go 实现的向量搜索引擎,提供 GraphQL 接口,特别擅长知识图谱集成和复杂查询处理。
Qdrant
https://github.com/qdrant/qdrant
Qdrant 是一个用 Rust 开发的向量相似度搜索引擎,支持复杂的元数据过滤查询,在推荐系统、语义搜索和多模态搜索方面表现优异。
Agent 框架
Agent 框架能实现对任务的规划、分析、自动化执行的能力。
AutoGPT
https://github.com/Significant-Gravitas/AutoGPT
AutoGPT 是一个强大的自主 AI 代理系统,可以独立完成复杂目标,支持互联网搜索、代码生成和任务执行等功能。它采用 GPT-4 作为决策引擎,内置了丰富的工具集成。
AutoGen
https://github.com/microsoft/autogen
AutoGen 是微软开发的多智能体对话框架,支持多个 AI 代理之间的协作对话。它提供了丰富的预置智能体模板,可以实现代码生成、数学推理等复杂任务。
Langfuse
https://github.com/langfuse/langfuse
Langfuse 是一个专注于 LLM 应用开发和监控的平台,提供完整的性能分析、日志记录和版本管理功能,帮助开发者更好地构建和优化 AI 应用。
ChatDev
https://github.com/OpenBMB/ChatDev
ChatDev 是一个面向软件开发的智能体框架,通过模拟完整的开发团队角色来实现从需求到代码的自动化。它支持多种编程语言,提供全流程的项目管理。
BabyAGI
https://github.com/yoheinakajima/babyagi
BabyAGI 是一个轻量级的任务规划执行框架,采用简单的任务分解模型,适合学习和实验。它具备基础的记忆存储功能,代码结构清晰易懂。
SuperAGI
https://github.com/TransformerOptimus/SuperAGI
SuperAGI 是一个企业级的 AI 代理开发框架,提供图形化界面和完整的智能体管理功能。它支持多种工具集成,具备详细的执行日志和分析能力。
MetaGPT
https://github.com/geekan/MetaGPT
MetaGPT 是一个专注于软件工程的智能体框架,支持从需求分析到系统设计的全生命周期。它提供多种预定义角色模板,支持自动化代码生成和文档编写。
流程编排
LangChain
https://github.com/langchain-ai/langchain
LangChain 通过一系列的 Chain 将应用开发过程中可能涉及的流程串起来,同时也提供了提示词、记忆等功能,使得开发者可以更快的开发 AI 应用。
FastGPT
https://github.com/labring/FastGPT
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
Dify
https://github.com/langgenius/dify
Dify 提供了 Workflow 功能,允许用户通过可视化的方式创建和管理任务流程。
模型部署
Ollama
https://github.com/ollama/ollama
Ollama 提供简单易用的界面,让用户能够在本地设备上轻松运行和管理大模型。
vLLM
https://github.com/vllm-project/vllm
vLLM 是一个用于大模型推理服务部署的项目,使用 PageddAttention 机制提高内存利用率。是非常适合生产环境部署模型的工具。vLLM 能适配各种硬件,包括 CPU、GPU、TPU 等。
Triton Server
https://github.com/triton-inference-server/server
Triton Server 是 NVIDIA 开源的推理服务框架,支持多种模型格式,包括 ONNX、TensorRT、PyTorch、TensorFlow 等。如果仅针对 NVIDIA GPU 硬件,Triton Server 是一个非常好的选择。
模型微调
Llama-factory
https://github.com/hiyouga/LLaMA-Factory
Llama-factory 是一个统一的 LLM 微调框架,支持多种主流模型(如 Llama、Mistral、Qwen 等)的训练。它提供了丰富的训练方法(包括 LoRA、QLoRA、全参数微调等)和多样的训练任务类型,使用简单且功能全面。
unsloth
https://github.com/unslothai/unsloth
unsloth 是一个高效的 LLM 微调工具,专注于提供更快的训练速度和更低的显存占用。它通过优化底层实现和创新的训练方法,能显著提升 LoRA 等微调技术的效率,特别适合在有限算力条件下进行模型训练。
模型训练
Pytorch
https://github.com/pytorch/pytorch
Pytorch 是 Facebook 开源的深度学习框架,非常适合大模型的训练,对用户提供了各种易于使用的机械学习库,对各种硬件、拓扑结构都有很好的支持。
Megatron-LM
https://github.com/NVIDIA/Megatron-LM
Megatron-LM 基于 PyTorch 构建,但是针对大模型训练进行了优化,支持多 GPU、多节点训练,适合大规模模型训练。
DeepSpeed
https://github.com/microsoft/DeepSpeed
DeepSpeed 是一个由微软开发的深度学习优化库,利用 ZeRO 优化优化技术可以将模型参数、梯度和优化器状态分割到多个 GPU 或节点上,从而减少内存占用,提高训练效率。