Механизмы запросов и синтез ответов
Механизмы запросов координируют извлечение и синтез с помощью стратегий refine, compact и tree_summarize.
«Механизмы запросов и синтез ответов» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Механизм запросов = извлечение + синтез
Механизм запросов LlamaIndex состоит из двух этапов:
- Извлечение — поиск релевантных фрагментов
- Синтез — создание ответа на основе этих фрагментов
Оба этапа можно настроить.
The Default Query Engine
query_engine = index.as_query_engine()
response = query_engine.query('What is our refund policy?')
print(response.response) # the answer
print(response.source_nodes) # the chunks usedРежимы ответа
Как механизм собирает итоговый ответ из извлечённых фрагментов:
- refine — передавать фрагменты по одному и уточнять ответ (наиболее точно, но медленнее всего)
- compact — помещать в контекст как можно больше фрагментов за один вызов (по умолчанию)
- tree_summarize — рекурсивное суммирование
- simple_summarize — один вызов со всеми фрагментами
Setting Response Mode
query_engine = index.as_query_engine(response_mode='tree_summarize')Configuring Retrieval
query_engine = index.as_query_engine(
similarity_top_k=5,
response_mode='compact'
)Пользовательские подсказки
Добавляйте собственные шаблоны подсказок:
from llama_index.core.prompts import PromptTemplate
qa_template = PromptTemplate(
'Context:\n{context_str}\n\nQuestion: {query_str}\nAnswer:'
)
query_engine.update_prompts({'response_synthesizer:text_qa_template': qa_template})Streaming Responses
query_engine = index.as_query_engine(streaming=True)
response = query_engine.query('Hello')
for token in response.response_gen:
print(token, end='', flush=True)Цитаты
Используйте CitationQueryEngine, чтобы получать цитаты, сгенерированные LLM:
from llama_index.core.query_engine import CitationQueryEngine
engine = CitationQueryEngine.from_args(index, similarity_top_k=4)
response = engine.query('What is our refund policy?')
print(response.response)
for i, node in enumerate(response.source_nodes):
print(f'[{i+1}] {node.metadata}')Постобработчики
Изменяйте порядок или фильтруйте извлечённые узлы перед синтезом:
from llama_index.postprocessor.cohere_rerank import CohereRerank
rerank = CohereRerank(api_key=COHERE_KEY, top_n=3)
query_engine = index.as_query_engine(
similarity_top_k=20, # retrieve 20
node_postprocessors=[rerank] # rerank to top 3
)Metadata Filters
from llama_index.core.vector_stores import MetadataFilters, ExactMatchFilter
filters = MetadataFilters(filters=[
ExactMatchFilter(key='department', value='engineering')
])
query_engine = index.as_query_engine(filters=filters)Async Queries
response = await query_engine.aquery('What is our refund policy?')
print(response.response)Механизм чата
Для многошаговых разговоров с памятью:
chat_engine = index.as_chat_engine(chat_mode='context')
response = chat_engine.chat('What is our refund policy?')
followup = chat_engine.chat('And for opened items?')Конвейеры и рабочие процессы
Для сложных многошаговых агентов рабочие процессы LlamaIndex предоставляют событийный поток в стиле Python — по духу похожий на LangGraph.
Режим ответа
Какой режим ответа работает медленнее всего, но обеспечивает наибольшую точность?
Повторение
Настройте top_k, response_mode, постобработчики и фильтры метаданных, чтобы управлять работой механизма запросов. Используйте CitationQueryEngine для получения ответов, заслуживающих доверия.
Изучай AI Agents с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 60
- Уроки
- 239
Часто задаваемые вопросы
Урок «Механизмы запросов и синтез ответов» бесплатный?
Да — полный текст урока «Механизмы запросов и синтез ответов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Механизмы запросов и синтез ответов»?
Механизмы запросов координируют извлечение и синтез с помощью стратегий refine, compact и tree_summarize. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Механизмы запросов и синтез ответов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Загрузчики и разборщики документов
- Иерархия индексов: векторный, древовидный, ключевой
- Механизмы запросов и синтез ответов
- Стратегия декомпозиции на подвопросы