FastEmbed 项目教程
1. 项目的目录结构及介绍
FastEmbed 项目的目录结构如下:
fastembed/
├── experiments/
├── fastembed/
│ ├── __init__.py
│ ├── text_embedding.py
│ └── ...
├── tests/
├── .gitignore
├── .pre-commit-config.yaml
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── RELEASE.md
├── mkdocs.yml
├── pyproject.toml
└── ...
目录介绍
experiments/
: 包含实验代码和数据。fastembed/
: 核心库代码,包含文本嵌入生成的主要功能。tests/
: 包含测试代码,用于验证库的功能。.gitignore
: Git 忽略文件配置。.pre-commit-config.yaml
: 预提交钩子配置。CONTRIBUTING.md
: 贡献指南。LICENSE
: 项目许可证。README.md
: 项目介绍和使用说明。RELEASE.md
: 发布说明。mkdocs.yml
: 文档生成配置。pyproject.toml
: 项目构建和依赖配置。
2. 项目的启动文件介绍
FastEmbed 项目的启动文件主要是 fastembed/text_embedding.py
,该文件包含了文本嵌入生成的主要逻辑。
text_embedding.py
文件介绍
TextEmbedding
类:用于初始化和生成文本嵌入。embed
方法:用于生成文本嵌入。
示例代码:
from fastembed import TextEmbedding
from typing import List
# 示例文档列表
documents: List[str] = [
"This is built to be faster and lighter than other embedding libraries e.g. Transformers, Sentence-Transformers etc.",
"fastembed is supported by and maintained by Qdrant."
]
# 初始化嵌入模型
embedding_model = TextEmbedding()
print("The model BAAI/bge-small-en-v1.5 is ready to use")
# 生成嵌入
embeddings_generator = embedding_model.embed(documents)
embeddings_list = list(embedding_model.embed(documents))
3. 项目的配置文件介绍
FastEmbed 项目的主要配置文件是 pyproject.toml
,该文件包含了项目的构建和依赖配置。
pyproject.toml
文件介绍
[tool.poetry]
部分:定义了项目的名称、版本、描述等信息。[tool.poetry.dependencies]
部分:定义了项目的依赖包。[tool.poetry.dev-dependencies]
部分:定义了开发环境的依赖包。
示例配置:
[tool.poetry]
name = "fastembed"
version = "0.1.0"
description = "A lightweight fast Python library for embedding generation"
authors = ["Qdrant <info@qdrant.tech>"]
[tool.poetry.dependencies]
python = "^3.8"
onnxruntime = "^1.10.0"
[tool.poetry.dev-dependencies]
pytest = "^6.2.5"
以上是 FastEmbed 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对您有所帮助!