# Химическая база знаний — руководство

**Адрес:** https://chemistry.sklyarfamily.ru
**Состояние на 12.09.2026:** 7590 документов · 374,448 страниц · 1,386,101 фрагментов в поисковом индексе · 39 готовых досье
**Языки источников:** en — 4181, ru — 2650, zh — 625, es — 51, fr — 26, de — 21, pt — 8, uk — 7, ro — 6, ja — 6, ar — 4, id — 2, nl — 1, tr — 1, sw — 1

Это не цифровая библиотека, а **слой проверяемой экспертизы**. Ключевое свойство: любой ответ
привязан к книге и странице, и эту страницу можно открыть и увидеть скан. Ничего не выдумывается
«по памяти» — либо есть источник, либо честно сказано, что источника нет.

---

## 1. Как устроен поиск

Запрос проходит три ступени, и это принципиально:

1. **Расширение запроса.** Вопрос разворачивается в 9–15 поисковых формулировок **на русском,
   английском и китайском** — независимо от языка вопроса. Плюс подтягиваются прекурсоры и сырьё:
   спросив про глифосат, вы автоматически ищете ещё и жёлтый фосфор, PCl₃, ИДА, глицин.
2. **Гибридный отбор.** Параллельно работают семантический поиск (векторы bge-m3) и точный
   полнотекстовый (BM25). Первый находит смысл, второй — конкретные термины, формулы и марки.
3. **Переранжирование.** Кандидаты пересортировываются cross-encoder'ом относительно исходного
   вопроса. Именно этот шаг отсекает «похожее по теме, но не по сути».

### Поиск по формулам
Работает и по названиям, и по формулам — на любой раскладке:
`H2SO4`, `Н₂SO₄` (кириллическая Н и подстрочные индексы), `P4`, `C3H8NO5P`.
Формула сначала опознаётся как вещество, затем ищется по всем его названиям на трёх языках.
Ходовые вещества берутся из справочника мгновенно, незнакомые формулы распознаются моделью и кэшируются.

---

## 2. Разделы сайта

| Раздел | Что делает |
|---|---|
| **Обзор** | Дашборд: статистика, соединение дня, случайные факты, быстрый поиск с автодополнением. Плитки разделов кликабельны и ведут в отфильтрованную библиотеку. |
| **Библиотека** | Все документы с карточками (название, аннотация, темы, ключевые соединения). Фильтры по разделу, коллекции и тегам. Поиск внутри библиотеки показывает, **где именно** в каждой книге встретился запрос. |
| **Чат** | Вопрос-ответ по базе. Ответ даётся в двух частях: строго по источникам и отдельно — общие знания модели. Ссылки в квадратных скобках кликабельны и открывают скан страницы. |
| **Досье** | Полное досье на вещество: свойства, синтез, сырьё, применение, рынок. Экспорт в PDF. Раздел готовых досье пересобирается ежемесячно. |
| **Загрузить** | Приём новых документов (PDF, DjVu, DOCX, XLSX, ZIP, EML, картинки). Сканы распознаются OCR, карточка генерируется автоматически. |
| **Q&A** | Этот документ и подключение внешних ИИ. |

---

## 3. Подключение внешних ИИ

База отвечает по HTTP без авторизации — подключить можно что угодно.

### 3.1. Claude Desktop / Claude Code (MCP)

В `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "chem-kb": {
      "command": "python",
      "args": ["C:\chem-mcp\server.py"],
      "env": { "CHEM_SITE": "https://chemistry.sklyarfamily.ru" }
    }
  }
}
```

Даёт инструменты `chem_search` (цитаты) и `chem_expertise` (готовый ответ со ссылками).

### 3.2. Custom GPT / любой агент с Actions

Скормите схему — больше ничего не нужно:

```
https://chemistry.sklyarfamily.ru/api/v1/openapi.json
```

Появятся операции `searchLibrary`, `askLibrary`, `lookupFormula`, `getDocument`.

### 3.3. Любой чат — просто дайте ему это в системный промпт

```
У тебя есть доступ к химической базе знаний (7590 технических документов, RU/EN/ZH),
где каждый факт привязан к книге и странице.

Перед ответом на вопрос по химии, технологии, свойствам веществ или промышленным
процессам — обратись к базе:

  https://chemistry.sklyarfamily.ru/api/v1/search?q=ЗАПРОС&k=8

Вернётся JSON с дословными фрагментами: title (книга), page (страница), text (цитата),
page_image (скан страницы). Отвечай ТОЛЬКО по этим фрагментам и ставь ссылку
[книга, с.N] после каждого утверждения. Если в базе ответа нет — скажи об этом прямо,
не заменяй его общими знаниями молча.

Формулы можно искать напрямую: https://chemistry.sklyarfamily.ru/api/v1/formula/H2SO4
```

### 3.4. Командная строка

```bash
curl "https://chemistry.sklyarfamily.ru/api/v1/search?q=получение+жёлтого+фосфора&k=5"
curl "https://chemistry.sklyarfamily.ru/api/v1/ask?q=Какие+прекурсоры+нужны+для+глифосата"
curl "https://chemistry.sklyarfamily.ru/api/v1/formula/P4"
```

---

## 4. Справочник API

| Метод | Назначение | Стоимость |
|---|---|---|
| `GET /api/v1/search?q=&k=` | Поиск. Дословные фрагменты со ссылками на страницы. | бесплатно, без модели |
| `GET /api/v1/ask?q=&k=` | Готовый ответ, обоснованный источниками. | вызывает модель, лимит запросов |
| `GET /api/v1/formula/{f}` | Формула → вещество → поиск по всем его названиям. | обычно бесплатно (справочник) |
| `GET /api/v1/document/{book_id}` | Карточка документа: аннотация, темы, соединения. | бесплатно |
| `GET /api/pageimg/{book_id}/{n}` | Скан страницы (PNG) — доказательство факта. | бесплатно |
| `GET /api/v1/openapi.json` | Схема для Custom GPT Actions. | бесплатно |

**Формат ответа поиска:**
```json
{
  "query": "жёлтый фосфор",
  "results": [
    { "title": "Технология фосфора",
      "book_id": "2_tehnologiya_fosfora",
      "page": 143,
      "score": 0.94,
      "text": "Электротермическое восстановление фосфата кальция коксом…",
      "page_image": "https://chemistry.sklyarfamily.ru/api/pageimg/2_tehnologiya_fosfora/143" }
  ]
}
```

**Лимиты.** Поиск (`/search`, `/formula`, `/document`) не ограничен — он локальный и ничего не стоит.
Генеративные вызовы (`/ask`, чат, досье) ограничены 20 запросами за 10 минут с одного адреса.

---

## 5. Что важно понимать про качество ответов

- **Ответ ровно настолько хорош, насколько полна библиотека.** Если по теме нет книг, база
  честно скажет «нет источников», а не сочинит правдоподобное.
- **Проверяйте по скану.** Ссылка `page_image` — это не украшение, это способ убедиться,
  что цитата настоящая. OCR не идеален, особенно на старых сканах.
- **Рыночные цифры устаревают.** Технология и свойства веществ — нет. Досье помечает
  рыночные блоки отдельно; относитесь к ним как к историческому срезу, а не к текущей котировке.
- **Библиотека растёт.** Новые документы попадают в индекс автоматически, в течение часа
  после загрузки.
