> ## Documentation Index
> Fetch the complete documentation index at: https://speshu.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Weaviate: как использовать vector database для RAG и семантического поиска

> Обзор Weaviate: vector database, semantic search, hybrid search, RAG, bring your own vectors и embeddings SpeShu.AI.

Weaviate — open-source vector database для семантического поиска и RAG. Она хранит объекты вместе с векторами, поддерживает фильтры, hybrid search и интеграции с embedding/generative моделями.

О Weaviate говорят потому, что RAG быстро упирается в хранение и поиск. Недостаточно просто получить embeddings: нужно индексировать документы, фильтровать по metadata, обновлять данные и быстро находить релевантные chunks.

В статье разберём, как работает Weaviate и как использовать embeddings SpeShu.AI в режиме bring your own vectors.

## Что такое weaviate

Weaviate — это база данных для vector search. В ней данные хранятся в collections. Каждый объект может иметь properties и vector. При поиске вы передаёте query vector, а Weaviate возвращает похожие объекты.

Инструмент нужен для RAG, semantic search, recommendation, duplicate detection, AI-поиска по документам и hybrid retrieval.

Weaviate можно запускать локально, self-hosted или использовать managed вариант.

## Как работает weaviate

Пайплайн RAG с Weaviate выглядит так:

* разбить документы на chunks;
* создать embeddings;
* сохранить chunk, metadata и vector в collection;
* на запрос пользователя создать query embedding;
* выполнить `near_vector` поиск;
* передать найденный контекст в LLM.

Weaviate также умеет использовать встроенные vectorizer-модули. Но для SpeShu.AI проще и прозрачнее режим BYOV: вы сами создаёте embeddings через `/embeddings` и сохраняете vectors.

## Что умеет weaviate

* хранить vectors и metadata;
* искать по semantic similarity;
* делать hybrid search;
* фильтровать результаты;
* работать с collections;
* поддерживать разные vectorizer/generative integrations;
* масштабироваться как отдельная vector database.

Мини-кейсы: RAG по базе знаний, поиск похожих товаров, поиск по тикетам поддержки, дедупликация документов, semantic search по статьям.

## weaviate на практике

Пример ниже создаёт embeddings через SpeShu.AI и кладёт vectors в локальный Weaviate.

```python theme={null} theme={null}
import os
from openai import OpenAI
import weaviate
import weaviate.classes.config as wc

openai = OpenAI(
    base_url="https://speshu.ai/api/v1",
    api_key=os.environ["SPESHU_AI_API_KEY"],
)

texts = [
    "SpeShu.AI предоставляет доступ к LLM через совместимые API.",
    "Weaviate хранит векторы и metadata для семантического поиска.",
]

embeddings = openai.embeddings.create(
    model="text-embedding-3-large",
    input=texts,
).data

client = weaviate.connect_to_local()

try:
    if client.collections.exists("Article"):
        client.collections.delete("Article")

    articles = client.collections.create(
        name="Article",
        properties=[wc.Property(name="text", data_type=wc.DataType.TEXT)],
        vector_config=wc.Configure.Vectors.self_provided(),
    )

    for text, item in zip(texts, embeddings):
        articles.data.insert(properties={"text": text}, vector=item.embedding)

    query_vector = openai.embeddings.create(
        model="text-embedding-3-large",
        input="Как хранить документы для RAG?",
    ).data[0].embedding

    result = articles.query.near_vector(near_vector=query_vector, limit=2)
    for obj in result.objects:
        print(obj.properties["text"])
finally:
    client.close()
```

В production добавьте tenant/org metadata, фильтры доступа и обновление vectors при изменении документов.

## Преимущества и недостатки weaviate

Плюсы:

* полноценная vector database;
* collections и metadata;
* hybrid search;
* self-hosted и managed варианты;
* подходит для production RAG.

Минусы:

* требует отдельной инфраструктуры;
* нужно проектировать schema и metadata;
* маленькому прототипу может хватить Chroma или in-memory store.

## weaviate vs альтернативы

Weaviate vs Qdrant: оба сильные vector DB. Qdrant часто выбирают за простой API и performance-focused подход. Weaviate хорош коллекциями, модулями и hybrid-возможностями.

Weaviate vs Chroma: Chroma проще для локального прототипа. Weaviate серьёзнее как отдельная база.

Weaviate vs LlamaIndex: LlamaIndex — framework, Weaviate — storage/search слой.

## Кому подойдёт weaviate

Weaviate подойдёт backend-командам, AI-стартапам, компаниям с большим объёмом документов, e-commerce, поддержке и внутренним knowledge base.

Если RAG должен жить дольше одного демо, выбирайте полноценную vector database.

## Как попробовать weaviate через SpeShu.AI

SpeShu.AI создаёт embeddings и отвечает LLM-частью:

* не нужен VPN;
* не нужна зарубежная карта;
* совместимые endpoint’ы для embeddings и chat;
* доступ к разным моделям;
* быстрый старт через [speshu.ai/profile](https://speshu.ai/profile).

Для embeddings используйте [endpoint embeddings](/api-reference/embeddings/create), для ответа — [Chat Completions](/api-reference/chat/completions).

## Заключение

Weaviate стоит использовать, когда semantic search становится частью продукта. Главный инсайт: vector database — это не просто место для embeddings, а слой доступа, фильтрации и качества retrieval.

***

<Card title="Подключить API" icon="plug" type="tip" href="https://speshu.ai/profile">
  Запустите интеграцию через SpeShu.AI: единый доступ к AI-моделям, без VPN и зарубежной карты
</Card>
