Quick start¶
- Create a project.
sci-etl init hot-jupiterswrites a working example that collects hot Jupiter measurements:config.yaml, a relevance prompt, an extraction prompt, and.env.example. - Add your API key. Copy
.env.exampleto.envbeside the config and setLLM_API_KEY. The key is read from the environment or that file, never printed, and never written to the config. - Check the project.
sci-etl validate hot-jupiters/config.yamlchecks the config, the prompts, the key, and the installed packages. Add--onlineto also send one arXiv request and one LLM request. - Tune the query.
sci-etl search hot-jupiters/config.yamllists a page of matching papers without calling the LLM. - Run it.
sci-etl run hot-jupiters/config.yamlexports entities toout/planets.csvand records progress understate/. Run the same command again to continue; add--rescanto pick up papers submitted since.
Adapting it to your subject¶
To use the CLI for another subject, change pipeline.search_query, both
prompts, and the export columns in the config file. The
extraction prompt has to ask for JSON containing result_key, key_column,
and every value column; validate checks this.
Rules that don't fit in a config file, such as which names refer to the same entity, plug in as Python code.