Перейти к основному содержанию

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 — 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 и ищет похожие документы.
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.
Embeddings: text-embedding-3-large. Chat-модели смотрите в каталоге.

Заключение

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

Подключить API

Запустите интеграцию через SpeShu.AI: единый доступ к AI-моделям, без VPN и зарубежной карты