index-dir

command
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

README

index-dir — Индексация директории с файлами

Рекурсивно обходит директорию, читает .txt файлы, чанкирует их через BasicChunker и индексирует в in-memory store. После индексации отвечает на заданный вопрос и выводит источники.

Быстрый старт

EMBEDDER_API_KEY=sk-... \
LLM_API_KEY=sk-... \
go run ./examples/index-dir/ -dir ./docs -query "Как настроить авторизацию?"

Флаги

Флаг По умолчанию Описание
-dir . Директория с .txt файлами (рекурсивно)
-query Обязательно. Вопрос для RAG
-topk 5 Количество чанков для контекста
-chunk 500 Размер чанка в рунах
-overlap 60 Перекрытие между чанками в рунах

Переменные окружения

Переменная По умолчанию Описание
EMBEDDER_API_KEY Обязательно. Ключ API для embedder
EMBEDDER_BASE_URL https://api.openai.com Базовый URL embedder API
EMBEDDER_MODEL text-embedding-ada-002 Модель эмбеддингов
LLM_API_KEY Обязательно. Ключ API для LLM
LLM_BASE_URL https://api.openai.com Базовый URL LLM API
LLM_MODEL gpt-4o-mini Языковая модель

Пример: индексация документации проекта

# Сохраните несколько .txt файлов в папку docs/
mkdir -p docs
echo "Авторизация выполняется через Bearer-токен в заголовке Authorization." > docs/auth.txt
echo "Конфигурация хранится в файле config.yaml в корне проекта." > docs/config.txt

EMBEDDER_API_KEY=sk-... LLM_API_KEY=sk-... \
go run ./examples/index-dir/ \
  -dir ./docs \
  -query "Где хранится конфигурация?" \
  -topk 3 \
  -chunk 300

Пример вывода

Найдено 2 файлов в "docs"
Индексируем 2 документов...
Индексация завершена.

Вопрос: Где хранится конфигурация?
────────────────────────────────────────────────────────────

Конфигурация хранится в файле config.yaml в корне проекта.

Источники:
  [1] docs/config.txt (score=0.944)
      Конфигурация хранится в файле config.yaml в корне проекта.

Формат файлов

Читаются файлы с расширением .txt (без учёта регистра). Имя файла становится ID документа, путь к файлу — полем метаданных path. Пустые файлы пропускаются.

Documentation

Overview

Индексация директории с текстовыми файлами — пример использования draftRAG.

Рекурсивно обходит директорию, читает .txt файлы, чанкирует их и индексирует в in-memory store. После индексации отвечает на заданный вопрос.

Переменные окружения:

EMBEDDER_BASE_URL   — базовый URL embedder API (по умолчанию: https://api.openai.com)
EMBEDDER_API_KEY    — ключ API для embedder (обязательно)
EMBEDDER_MODEL      — модель embeddings (по умолчанию: text-embedding-ada-002)
LLM_BASE_URL        — базовый URL LLM API (по умолчанию: https://api.openai.com)
LLM_API_KEY         — ключ API для LLM (обязательно)
LLM_MODEL           — модель LLM (по умолчанию: gpt-4o-mini)

Флаги:

-dir    директория с .txt файлами (по умолчанию: .)
-query  вопрос для RAG (обязательно)
-topk   количество извлекаемых чанков (по умолчанию: 5)
-chunk  размер чанка в рунах (по умолчанию: 500)
-overlap перекрытие между чанками (по умолчанию: 60)

Запуск:

EMBEDDER_API_KEY=sk-... LLM_API_KEY=sk-... \
  go run ./examples/index-dir/ -dir ./docs -query "Как настроить авторизацию?"

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL