> ## 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.

# Chroma Vector DB: простая векторная база для RAG-поиска на Python

> Обзор Chroma Vector DB: локальная vector database, embeddings, RAG-поиск, плюсы и минусы, пример со SpeShu.AI.

Chroma Vector DB — open-source векторная база, которую часто используют для локальных RAG-прототипов. Она проста в установке, хорошо дружит с Python и подходит, когда нужно быстро сохранить embeddings и выполнить semantic search.

О Chroma говорят потому, что порог входа ниже, чем у многих production vector DB. Для первого RAG-проекта не всегда нужен отдельный кластер: достаточно локального клиента, коллекции и нескольких документов.

В статье разберём, как работает Chroma и как использовать embeddings SpeShu.AI.

## Что такое chroma vector db

Chroma — это база для хранения vectors, документов и metadata. Вы создаёте collection, добавляете документы и embeddings, а затем ищете похожие фрагменты по query vector.

Инструмент нужен разработчикам, которые строят RAG-прототипы, локальные knowledge base, semantic search по небольшим данным или тестируют chunking.

Chroma особенно удобна на этапе “проверить идею за вечер”.

## Как работает chroma vector db

Пайплайн:

* подготовить документы;
* разбить на chunks;
* получить embeddings;
* добавить documents, embeddings и metadata в collection;
* для вопроса получить query embedding;
* выполнить `query`.

Chroma поддерживает embedding functions, но можно передавать готовые vectors. Для SpeShu.AI это простой путь: embeddings создаются через OpenAI-compatible endpoint, Chroma занимается хранением и поиском.

## Что умеет chroma vector db

* хранить документы и embeddings;
* создавать collections;
* выполнять similarity search;
* хранить metadata;
* запускаться локально;
* быстро интегрироваться с Python RAG;
* использоваться через LangChain/LlamaIndex.

Мини-кейсы: локальный чат по документам, прототип поиска, тестирование chunking, небольшая база знаний, RAG в ноутбуке.

## chroma vector db на практике

Пример ниже создаёт collection, получает embeddings через SpeShu.AI и ищет похожие документы.

```python theme={null} theme={null}
import os
import chromadb
from openai import OpenAI

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

documents = [
    "Chroma хранит embeddings для локального RAG.",
    "SpeShu.AI предоставляет OpenAI-compatible API для моделей и embeddings.",
]

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

client = chromadb.Client()
collection = client.get_or_create_collection("docs")

collection.add(
    ids=["doc-1", "doc-2"],
    documents=documents,
    embeddings=[item.embedding for item in embeddings],
)

query_embedding = llm.embeddings.create(
    model="text-embedding-3-large",
    input="Что использовать для локального RAG?",
).data[0].embedding

results = collection.query(
    query_embeddings=[query_embedding],
    n_results=2,
)

print(results["documents"][0])
```

Дальше найденные документы можно передать в chat-модель SpeShu.AI и получить финальный ответ.

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

Плюсы:

* очень быстрый старт;
* удобно локально;
* простой Python API;
* хорошо подходит для прототипов;
* легко передавать свои embeddings.

Минусы:

* для больших production-нагрузок часто выбирают Qdrant или Weaviate;
* нужно самостоятельно думать об обновлении индекса;
* не стоит путать прототип и production architecture.

## chroma vector db vs альтернативы

Chroma vs Qdrant: Chroma проще для локального старта. Qdrant лучше для performance, API и production vector search.

Chroma vs Weaviate: Weaviate богаче как отдельная vector database. Chroma легче для ноутбука и MVP.

Chroma vs FAISS: FAISS — библиотека индексов. Chroma даёт более прикладной слой collections/documents/metadata.

## Кому подойдёт chroma vector db

Chroma подойдёт Python-разработчикам, исследователям, AI-стартапам на MVP-этапе и тем, кто хочет быстро проверить RAG без отдельной инфраструктуры.

Если данные растут, появляются пользователи, права доступа и SLA, планируйте миграцию на production-хранилище.

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

SpeShu.AI удобно использовать для embeddings и ответа модели:

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

Embeddings: `text-embedding-3-large`. Chat-модели смотрите в [каталоге](/api-reference/models/list).

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

Chroma Vector DB — отличный выбор для первого RAG-поиска на Python. Главный инсайт: начните с простого локального поиска, но заранее отделите код embeddings, storage и generation, чтобы потом заменить хранилище без переписывания всего проекта.

***

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