Реалізація Question Answering (відповіді на запитання за документами)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація Question Answering (відповіді на запитання за документами)
Середній
~5 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Реалізація Question Answering (Відповіді на запитання по документам)

QA по документам — система, що приймає запитання природною мовою та повертає відповідь, знайдену або синтезовану на основі корпусу документів. Це основа для корпоративних пошукових систем, баз знань та автоматичних помічників.

Архітектури QA-систем

Extractive QA: відповідь — точний фрагмент з документа. Модель вибирає span (початок/кінець) у знайденому документі. deepset/roberta-base-squad2, sberbank-ai/rubert-base-cased-qa — готові моделі. Перевага: немає галюцинацій. Недолік: відповідь повинна дослівно бути в тексті.

RAG (Retrieval-Augmented Generation): найпоширеніший production-підхід. Ретривер знаходить релевантні документи, LLM синтезує відповідь. Відповідь може узагальнювати інформацію з кількох джерел.

Long-context LLM: Claude 3.5 (200K токенів) або Gemini Pro (1M токенів) — весь корпус документів у контексті. Для невеликих баз знань (< 500 сторінок) це простіше за RAG.

RAG Pipeline

from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_community.vectorstores import Qdrant
from langchain.chains import RetrievalQA

embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vectorstore = Qdrant.from_existing_collection(
    embeddings=embeddings,
    url="http://localhost:6333",
    collection_name="docs"
)

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",  # або "map_reduce" для довгих документів
    retriever=vectorstore.as_retriever(search_kwargs={"k": 5}),
    return_source_documents=True,
)

result = qa_chain.invoke({"query": "Який порядок розірвання контракту?"})
# result["result"] — відповідь
# result["source_documents"] — джерела

Контроль галюцинацій

Критично важливо для довіри до системи:

  1. Цитування джерел: кожен факт у відповіді → посилання на документ/абзац
  2. Faithfulness check: окремий промпт перевіряє, підтверджується чи відповідь контекстом
  3. Явна відмова: якщо інформації нема в документах — "У доступних документах немає відповіді на це запитання"
  4. Scoring впевненості: оцінка впевненості (logprobs або окремий chain)

Розширений пошук

Базовий top-K retriever недостатній для складних запитань:

  • HyDE (Hypothetical Document Embeddings): спочатку LLM генерує гіпотетичну відповідь, потім шукає за її embedding
  • Multi-query: переформулювання запитання 3–5 способами, об'єднання результатів
  • Parent-child chunks: зберігання малих chunks для пошуку, але передача у LLM батьківського ширшого контексту

Робота з таблицями та структурованими даними

QA по таблицях — окреме завдання. Варіанти:

  • Text2SQL: LLM генерує SQL-запит, виконує його, повертає результат
  • Table serialization: таблиця → Markdown/CSV → в контекст LLM
  • TAPAS (Google): спеціалізована модель для QA по таблицях

Метрики якості

  • Exact Match (EM): частка запитань з точно правильною відповіддю (для extractive)
  • F1 score: token overlap відповіді з еталоном
  • RAGAS: спеціалізована бібліотека для evaluation RAG: faithfulness, answer relevance, context precision, context recall