Вопрос проверяет понимание концепции векторных хранилищ и их роли в архитектуре Retrieval-Augmented Generation (RAG).
Векторное хранилище (vector database) — это специализированная база данных, предназначенная для хранения и поиска данных в виде векторных представлений (embeddings). Векторы — это числовые массивы фиксированной длины, которые кодируют семантический смысл текста, изображения или другого контента. Благодаря этому поиск происходит не по точному совпадению ключевых слов, а по смысловой близости.
RAG (Retrieval-Augmented Generation) — это архитектура, которая объединяет поиск информации и генерацию текста с помощью языковой модели (LLM). Векторное хранилище играет ключевую роль на этапе поиска:
from sentence_transformers import SentenceTransformer
import faiss
import numpy as np
# Загрузка модели эмбеддингов
model = SentenceTransformer('all-MiniLM-L6-v2')
# Документы для индексации
docs = ["Столица Франции — Париж.", "Солнце — звезда."]
embeddings = model.encode(docs)
# Создание индекса FAISS
dimension = embeddings.shape[1]
index = faiss.IndexFlatL2(dimension)
index.add(np.array(embeddings))
# Поиск по запросу
query = "Какой город является столицей Франции?"
query_vec = model.encode([query])
D, I = index.search(np.array(query_vec), k=1)
print(docs[I[0][0]]) # Вывод: Столица Франции — Париж.Векторные хранилища незаменимы в RAG-архитектуре для эффективного семантического поиска по большим объёмам неструктурированных данных. Они позволяют LLM получать актуальный контекст без необходимости переобучения, что особенно полезно для чат-ботов, систем вопросов-ответов и ассистентов с динамической базой знаний.
Уровень
Рейтинг:
4
Сложность:
6
Навыки
JavaScript
Node.js
Ключевые слова
Подпишись на Python Developer в телеграм