Векторная память
Текст, сохранённый векторами рядом со строками, и поиск по смыслу.
Без ключа OpenAI текст нельзя превратить в векторы, и запись и поиск отвечают честной ошибкой. Вставьте ключ в разделе Настройки OpenAI
Задайте складу вопрос — ближайшие записи ответят здесь.
Векторный поиск — чем он занят иначе
Что вы получаете. Отрывки, ближайшие по смыслу к вашему вопросу, каждый со своей близостью. Не ответ, а материал для ответа. Ничего за вас не написано.
Почему так. Одна фаза. Текст делится на куски, каждый кусок становится вектором, а поиск сравнивает с ними вектор вашего вопроса. Ничего не вычисляется заранее о том, как факты связаны, — значит, и платить за это заранее не нужно.
Где выигрывает. Когда ответ лежит в одном отрывке: цены, правила, свойства товара, «как подключить X». Это же правильный дом для данных, которые постоянно меняются: изменённая строка стоит одного вызова встраивания, а графу пришлось бы заново извлекать связи.
Сколько это стоит. Почти ничего. Приём — один вызов встраивания на кусок; поиск — миллисекунды по настоящему индексу, и его цена не растёт вместе со складом.
В чём слаб. Он не знает связей. Вопрос, которому нужны сорок документов, заставит кого-то прочитать все сорок. И он никогда не составляет ответ — это делаете вы или агент. Агент, крутящийся вокруг этого склада, может обойти граф по гибкости, потому что умеет переформулировать и искать снова; он платит за вопрос вместо того, чтобы платить однажды на приёме.
Хранилище у них не общее. Векторы живут в SQLite слоя данных, в таблице vectors рядом с вашими строками. Граф живёт в собственной папке службы RAG. Чтобы документ был в обоих, загрузите его в оба: заплатите приём каждому и получите ответ каждого вида. Общего у них только ключ OpenAI.