Векторне сховище Weaviate: інтеграція в мобільний AI-застосунок

Інтеграція Weaviate для векторного сховища AI в мобільному застосунку Ми постійно стикаємося з ситуацією: дані користувачів — приватні документи, повідомлення, медіа — потрібно шукати не за ключовими словами, а за змістом. Векторні бази даних вирішують це завдання, але вибір конкретного рішення в

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Векторне сховище Weaviate: інтеграція в мобільний AI-застосунок
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    783
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    598

Інтеграція Weaviate для векторного сховища AI в мобільному застосунку

Ми постійно стикаємося з ситуацією: дані користувачів — приватні документи, повідомлення, медіа — потрібно шукати не за ключовими словами, а за змістом. Векторні бази даних вирішують це завдання, але вибір конкретного рішення впливає на архітектуру, вартість і масштабованість. Weaviate — open-source векторна БД з GraphQL і REST API, вбудованими модулями для автоматичного створення ембеддингів і семантичного пошуку. Від Pinecone відрізняється можливістю self-hosting, багатшою схемою об'єктів і вбудованим hybrid search з коробки.

Що робить Weaviate зручним для мобільних AI-застосунків

Мобільні застосунки працюють з різними типами контенту: текст, зображення, аудіо. Weaviate зберігає об'єкти з гнучкою схемою — ви визначаєте поля, їх типи та зв'язки. Це ближче до документної БД, ніж до чистого векторного сховища. Кожен об'єкт має ідентифікатор, властивості та вектор.

# Створення класу в Weaviate client.schema.create_class({ "class": "Document", "vectorizer": "text2vec-openai", # автоембеддинги при записі "moduleConfig": { "text2vec-openai": { "model": "text-embedding-3-small", "dimensions": 1536 } }, "properties": [ {"name": "content", "dataType": ["text"]}, {"name": "source", "dataType": ["text"]}, {"name": "userId", "dataType": ["text"]}, {"name": "language", "dataType": ["text"]} ] }) 

Модуль text2vec-openai — Weaviate сам створює ембеддинг при додаванні об'єкта. Не потрібно окремо викликати Embeddings API перед upsert. Зручно, але потрібно передати ключ OpenAI в конфіг Weaviate. Якщо дані не можна відправляти у зовнішні API — використовуйте text2vec-transformers з локальною моделлю або генеруйте ембеддинги на своїй стороні.

Hybrid Search: BM25 + векторний пошук в одному запиті

Головна перевага Weaviate — hybrid search нативно. Об'єднує keyword-пошук (BM25) і семантичний пошук через параметр alpha:

{ Get { Document( hybrid: { query: "скидання пароля", alpha: 0.75 # 0 = тільки BM25, 1 = тільки векторний } where: { path: ["userId"] operator: Equal valueText: "user_42" } limit: 5 ) { content source _additional { score explainScore } } } } 

alpha: 0.75 — 75% ваги у векторного пошуку, 25% у BM25. Оптимальне значення підбирається під конкретний корпус, але 0.7–0.8 працює добре для більшості випадків. Це те, що в pgvector доводиться реалізовувати самому через об'єднання двох запитів. У Weaviate — один виклик.

Self-hosted Weaviate для приватних даних

Якщо дані не можна відправляти в хмару — Weaviate розгортається в Docker з self-hosted:

# docker-compose.yml services: weaviate: image: semitechnologies/weaviate:1.24.0 ports: - "8080:8080" environment: QUERY_DEFAULTS_LIMIT: 25 AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: '/var/lib/weaviate' DEFAULT_VECTORIZER_MODULE: 'none' # ембеддинги створюємо самі CLUSTER_HOSTNAME: 'node1' volumes: - weaviate_data:/var/lib/weaviate 

При self-hosting ембеддинги генеруємо на нашому бекенді (локальна модель або API) і передаємо вектор явно при додаванні об'єкта.

Мобільний клієнт і мультитенантність

Weaviate 1.20+ підтримує нативну мультитенантність через tenants. Це продуктивніше, ніж фільтрація за userId:

# Створюємо тенанта (один раз при реєстрації користувача) client.schema.add_class_tenants("Document", [{"name": f"user_{user_id}"}]) # Додаємо об'єкт в тенант користувача client.data_object.create( data_object={"content": chunk, "source": filename}, class_name="Document", tenant=f"user_{user_id}", vector=embedding # якщо vectorizer = none ) # Пошук в тенанті користувача result = client.query.get("Document", ["content", "source"]) \ .with_hybrid(query=user_query, alpha=0.75) \ .with_tenant(f"user_{user_id}") \ .with_limit(5) \ .do() 

При ввімкненій мультитенантності кожен тенант зберігається в окремому шарді — пошук не сповільнюється при зростанні кількості користувачів.

Чому варто обрати Weaviate замість Pinecone?

Ми порівняли обидва рішення на реальних проєктах. Weaviate дає повний контроль над даними (open-source, можна хостити де завгодно) і не обмежує в розмірі схеми об'єктів. Pinecone швидший у старті — не потрібно керувати інфраструктурою, але він дорожчий при масштабуванні (плата за пропускну здатність та обсяг). У таблиці — коротке порівняння:

Критерій Weaviate Pinecone
Ліцензія Open-source (BSD-3) Пропрієтарна
Self-hosting Так Ні
Схема об'єктів Гнучка, з типами полів Плоска (тільки id, вектор, метадані)
Hybrid search Вбудований (BM25 + вектор) Тільки векторний
Мультитенантність Нативна (шарди) Через фільтрацію
Вартість для 1M векторів Безкоштовно (self-hosted) Плата за обсяг

Для мобільного AI-застосунку з високими вимогами до приватності Weaviate — оптимальний вибір. Замовте оцінку вашого проєкту — ми допоможемо підібрати архітектуру.

Типові помилки при інтеграції Weaviate

Помилка Рішення
Ігнорування індексів на властивостях Додавати індекси на частофільтровані поля (userId, source)
Невірний підбір alpha Починати з 0.75 і тестувати на вашому корпусі; якщо запити короткі — збільшувати BM25 (alpha < 0.5)
Відсутність кешування ембеддингів Кешувати вектори на бекенді, щоб не викликати модель повторно для однакових текстів

Як інтегрувати Weaviate в мобільний застосунок?

Етапи роботи:

  1. Аналіз вимог — визначаємо типи даних, обсяг, частоту запитів, вимоги до приватності.
  2. Проєктування схеми — класи, властивості, індекси, налаштування модулів векторизації.
  3. Розгортання — вибір хмарної інфраструктури (AWS, GCP, Azure) або self-hosted на вашому сервері.
  4. Ingestion pipeline — завантажуємо існуючі документи, генеруємо ембеддинги, налаштовуємо batch import для швидкості.
  5. Бекенд API — GraphQL-ендпоінти для мобільного клієнта з авторизацією та мультитенантністю.
  6. Мобільний UI — інтерфейс пошуку з прев'ю результатів, фільтрацією та сортуванням.
  7. Навантажувальне тестування — перевірка продуктивності при 1000+ запитів на секунду.
  8. Моніторинг і підтримка — логування, метрики, SLA.

Що входить в роботу?

  • Проєктування схеми класів Weaviate під ваш датасет.
  • Деплой Weaviate (cloud або self-hosted) з конфігурацією безпеки.
  • Налаштування модулів векторизації (text2vec, transformers, custom).
  • Реалізація hybrid search з підбором alpha.
  • Впровадження мультитенантності для багатокористувацьких застосунків.
  • Бекенд API (Node.js/Python) з авторизацією та кешуванням.
  • Інтеграція з мобільним застосунком (iOS/Android/Flutter).
  • Документація з розгортання та експлуатації.

Орієнтовні терміни та вартість

Інтеграція на існуючий бекенд займає від 2 до 3 тижнів. Проєкт з нуля (self-hosted, мобільний застосунок, UI) — від 4 до 6 тижнів. Вартість розраховується індивідуально після аудиту вашого проєкту. Ми виконали понад 30 проєктів з векторними БД, гарантуємо стабільну роботу та повну документацію.

Офіційна документація Weaviate: Weaviate vector database

Отримайте консультацію — наші інженери зв'яжуться з вами протягом дня та запропонують оптимальне рішення.