К содержанию
CyberRXNdocs
Руководства

От молекулы к источнику

Найдите описанный способ получения, прочитайте наблюдение и проверьте условия в контексте.

Этот процесс подходит для вопроса «Как эту молекулу получали в опубликованном источнике?». Вы найдёте продукт, прочитаете выбранное наблюдение и отделите описанные условия от отсутствующих данных.

Нужны установленный Python SDK и CYBERRXN_API_KEY с доступом к запросам корпуса. Актуальный архив и контрольная сумма есть в установке. Соответствия для других интерфейсов приведены в готовых сценариях.

1. Найдите молекулу продукта

Используйте molecule_reactions с role="product". Операция ищет наблюдения, в которых эта молекула присутствует среди продуктов, в том числе вместе с другими молекулами. Начните с трёх результатов, чтобы прочитать каждый.

У search_reactions(products=...) другое значение: совпадение полной стороны продуктов с разделением точками. Выбирайте эту операцию, когда вопрос действительно относится к полной стороне. Семантика поиска.

2. Прочитайте выбранное наблюдение

Пример делает один поисковый запрос и, если совпадение есть, один запрос полного наблюдения. ID берётся из фактического ответа сервера.

from cyberrxn import Client

with Client() as client:
    matches = client.molecule_reactions(
        "CCN1CCN(CO)C(=O)C1=O", role="product", limit=3
    )
    if not matches.items:
        print("Для этого запроса наблюдений не найдено.")
    else:
        record = client.get_observation(matches.items[0].observation_id)
        print("Наблюдение:", record.observation_id)
        print("Патент:", record.evidence.patent)
        print("Исходный абзац:", record.paragraph_text)
        print("Условия:", record.conditions)

Обе успешные операции тарифицируются: два вызова при чтении наблюдения или один при пустой выдаче. После выполнения можно проверить расход.

В примере выбран первый результат, чтобы показать короткий процесс. Для рабочего вопроса сравните кандидатов и выберите наблюдение, относящееся к нужному получению. Не объединяйте условия разных наблюдений в одну процедуру.

3. Прочитайте исходный абзац

Сопоставьте paragraph_text, evidence и conditions. Один абзац может описывать несколько стадий эксперимента.

Что проверитьКак интерпретировать
Температура и времяОпределите стадию: реакция, обработка, сушка или другая операция.
ДавлениеСохраните единицы и тип. Вакуум сушки не определяет давление реакции.
АгентыСохраняйте неразрешённые роли; список агентов не становится автоматически списком катализаторов и растворителей.
ПропускиСохраните null и неизвестные значения. Не подставляйте предположения об обычных условиях.
Отсутствующий абзацУкажите, что для записи недоступен исходный абзац; не выдумывайте цитату.

Для чтения используйте непрозрачный observation_id. Номер патента или UID помогают найти источник, но не заменяют этот ID в запросе API.

4. Составьте проверяемый ответ

Полезный результат указывает выбранное наблюдение и патент, объясняет, что сообщает источник, и перечисляет неизвестные запрошенные условия. Цитируйте только текст из полученного источника. Различайте извлечённые доказательства, вычисленные проверки и модельные гипотезы.

Совпадение структуры не доказывает, что процедура сработает в новых условиях. Если нужна проверка атомов и заряда, выполните химическую валидацию отдельной операцией и объясните её границы.

Если данных недостаточно

Пустая выдача означает, что именно этот запрос не нашёл наблюдений. Проверьте структуру и семантику поиска перед расширением запроса. Отсутствующее условие само по себе не является ошибкой корпуса. При прямом расхождении записи с источником используйте сообщение об ошибке.

С ассистентом применяйте тот же ограниченный процесс после подключения MCP. Попросите прочитать актуальную инструкцию, найти несколько наблюдений и получить выбранный источник. Проверьте фактические вызовы инструментов перед тем, как полагаться на заявление о проверке корпуса.

Нужна помощь?Разбор ошибокНаписать нам

На этой странице