Skip to content

Commit 4423c72

Browse files
author
Alexander Cherednikov
committed
FIX README.md
1 parent 4fb80bc commit 4423c72

1 file changed

Lines changed: 45 additions & 2 deletions

File tree

README.md

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
- **Бэкенд**: PHP 8.3 + Symfony 7.3 (MicroKernelTrait)
3737
- **Векторная БД**: Qdrant (поиск по косинусному сходству)
38-
- **Эмбеддинги**: Transformers PHP (all-MiniLM-L6-v2, 384 измерения)
38+
- **Эмбеддинги**: Transformers PHP ([onnx-community/Qwen3-Embedding-0.6B-ONNX](https://huggingface.co/onnx-community/Qwen3-Embedding-0.6B-ONNX), 384 измерения)
3939
- **LLM**: Ollama + Llama 3.2:1b (локальная инференция)
4040
- **Инфраструктура**: Docker + Docker Compose
4141

@@ -141,6 +141,49 @@ rag-vectors-presentation/
141141
└── README.md # Этот файл
142142
```
143143

144+
## 🧠 Выбор моделей для векторизации
145+
146+
Проект использует **Transformers PHP** для генерации эмбеддингов. По умолчанию установлена модель `onnx-community/Qwen3-Embedding-0.6B-ONNX`, но вы можете выбрать любую другую модель:
147+
148+
### Доступные модели
149+
150+
Все модели можно найти на [🤗 Hugging Face](https://huggingface.co/models?library=transformers.js&task=feature-extraction) с тегом `transformers.js`:
151+
152+
```php
153+
// Примеры популярных embedding моделей:
154+
155+
// Компактные модели (быстрые, меньше памяти)
156+
'onnx-community/all-MiniLM-L6-v2' // 384 измерения, универсальная
157+
'onnx-community/all-MiniLM-L12-v2' // 384 измерения, лучше качество
158+
159+
// Мультиязычные модели (поддержка русского)
160+
'onnx-community/paraphrase-multilingual-MiniLM-L12-v2' // 384 измерения
161+
'onnx-community/Qwen3-Embedding-0.6B-ONNX' // 384 измерения (используется по умолчанию)
162+
163+
// Мощные модели (больше точность, больше ресурсов)
164+
'onnx-community/bge-base-en-v1.5' // 768 измерений, высокое качество
165+
'onnx-community/e5-large-v2' // 1024 измерения, топовая точность
166+
```
167+
168+
### Смена модели
169+
170+
Чтобы использовать другую модель, измените её в файлах:
171+
172+
1. **src/Service/Embedding/TransformersEmbeddingService.php** (строка ~30)
173+
2. **src/Service/ImprovedRAGService.php** (строка ~200)
174+
3. **src/Command/ProductsSearchCommand.php** (строка ~68)
175+
4. **src/Command/ProductsVectorizeCommand.php** (строка ~109)
176+
177+
```php
178+
// Заменить эту строку:
179+
$this->embedder = pipeline(Task::Embeddings, 'onnx-community/Qwen3-Embedding-0.6B-ONNX');
180+
181+
// На выбранную модель:
182+
$this->embedder = pipeline(Task::Embeddings, 'onnx-community/all-MiniLM-L6-v2');
183+
```
184+
185+
> ⚠️ **Важно**: При смене модели нужно заново проиндексировать товары командой `php bin/console products:vectorize`
186+
144187
## 🔧 Разработка
145188

146189
### Проверка качества кода
@@ -252,7 +295,7 @@ SIMILARITY_THRESHOLD=0.7
252295
### 1. Этап анализа запроса
253296
- Пользовательский запрос анализируется Llama 3.2
254297
- Запрос оптимизируется для лучших результатов поиска
255-
- Текст преобразуется в 384-мерный вектор с помощью all-MiniLM-L6-v2
298+
- Текст преобразуется в 384-мерный вектор с помощью Qwen3-Embedding-0.6B-ONNX
256299

257300
### 2. Этап поиска
258301
- Семантический поиск в векторной базе Qdrant

0 commit comments

Comments
 (0)