跳到内容

安装

您需要至少拥有 Python 3.9 或更高版本,最高到 Python 3.12,因为对后者的支持仍在开发中。

要从 PyPI 安装软件包的最新版本,您可以使用以下命令

pip install distilabel --upgrade

或者,您可能还想从源代码安装,即最新的未发布版本,您可以使用以下命令

pip install "distilabel @ git+https://github.com/argilla-io/distilabel.git@develop" --upgrade

注意

我们正在从 develop 分支安装,因为这是我们用来收集所有功能、错误修复和改进的分支,这些将成为下一个版本的一部分。如果您想从特定分支安装,可以将 develop 替换为分支名称。

扩展功能

此外,作为 distilabel 的一部分,提供了一些额外的依赖项,主要用于添加对我们支持的某些 LLM 集成的支持。以下是可用扩展功能的列表

LLMs

  • anthropic:用于通过 AnthropicLLM 集成使用 Anthropic API 中提供的模型。

  • argilla:用于将生成的数据集导出到 Argilla

  • cohere:用于通过 CohereLLM 集成使用 Cohere 中提供的模型。

  • groq:用于通过 GroqLLM 集成使用 Groq 中提供的模型,使用 groq Python 客户端。

  • hf-inference-endpoints:用于通过 InferenceEndpointsLLM 集成使用 Hugging Face Inference Endpoints

  • hf-transformers:用于通过 TransformersLLM 集成使用 transformers 包中提供的模型。

  • litellm:用于通过 LiteLLM 集成使用 LiteLLM 以 OpenAI 格式调用任何 LLM。

  • llama-cpp:用于通过 LlamaCppLLM 集成使用 llama-cpp-python Python 绑定来使用 llama.cpp

  • mistralai:用于通过 MistralAILLM 集成使用 Mistral AI API 中提供的模型。

  • ollama:用于通过 OllamaLLM 集成使用 Ollama 及其可用模型。

  • openai:用于通过 OpenAILLM 集成使用 OpenAI API 模型,或其余基于 OpenAI 并依赖其客户端的集成,如 AnyscaleLLMAzureOpenAILLMTogetherLLM

  • vertexai:用于通过 VertexAILLM 集成使用 Google Vertex AI 专有模型。

  • vllm:用于通过 vLLM 集成使用 vllm 服务引擎。

  • sentence-transformers:用于使用 sentence-transformers 生成句子嵌入。

  • mlx:用于通过 MlxLLM 集成使用 MLX 模型。

数据处理

  • ray:用于使用 Ray 扩展和分发 pipeline。

  • faiss-cpufaiss-gpu:用于使用 faiss 生成句子嵌入。

  • minhash:用于使用 minhash 和 datasketch 以及 nltk 进行重复检测。

  • text-clustering:用于使用 UMAPScikit-learn 进行文本聚类。

结构化生成

  • outlines:用于使用 outlines 进行 LLM 的结构化生成。

  • instructor:用于使用 Instructor 进行 LLM 的结构化生成。

建议 / 注意事项

mistralai 依赖项需要 Python 3.9 或更高版本,因此如果您想使用 distilabel.models.llms.MistralLLM 实现,则需要拥有 Python 3.9 或更高版本。

在某些情况下,例如 transformersvllm,如果您正在使用 GPU 加速器,建议安装 flash-attn,因为它会加快推理过程,但安装需要单独完成,因为它不包含在 distilabel 依赖项中。

pip install flash-attn --no-build-isolation

此外,如果您想使用 llama-cpp-python 集成来运行本地 LLM,请注意,安装过程可能会有点棘手,具体取决于您使用的操作系统,因此我们建议您通读其文档中的 Installation 部分。