Art 0.1.0
Built from art-dev 78fb10b.
This commit is contained in:
commit
7b2bb49e3c
49 changed files with 5284 additions and 0 deletions
68
config.yaml
Normal file
68
config.yaml
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Personal settings go in user/config.yaml, which is merged over this file
|
||||
# (nested keys override, lists replace). See data/examples/config.yaml.
|
||||
contact:
|
||||
email: null # sent to arXiv and Crossref (polite pool); set in user/config.yaml
|
||||
|
||||
llm:
|
||||
model: art-researcher # built from the Modelfile by art/llm.py
|
||||
modelfile: modelfiles/researcher.Modelfile
|
||||
num_ctx: 8192 # set on every call; Ollama's default silently truncates longer prompts
|
||||
think: false # gemma4 supports thinking; recorded on every call
|
||||
enforce_schema: true # structured calls pass the JSON schema as Ollama's `format`
|
||||
retries: 1 # extra attempts for a structured call that fails validation
|
||||
timeout_s: 300
|
||||
# Per-task options, sent explicitly on every call. Low temperature makes a
|
||||
# small model's summaries formulaic; labels stay low so they group.
|
||||
tasks:
|
||||
summarize: {temperature: 0.7}
|
||||
label: {temperature: 0.2}
|
||||
explain: {temperature: 0.3}
|
||||
llm_score: {temperature: 0.0}
|
||||
profile_draft: {temperature: 0.3} # bingham init; drafts for a person to edit
|
||||
max_results_per_feed: 30 # arXiv API backfill only
|
||||
feed_cache_ttl_hours: 6 # skip network fetch if raw feed data is fresher than this
|
||||
|
||||
digest:
|
||||
# Field-pulse labels whose bge embeddings average at least this cosine
|
||||
# similarity are grouped. Set 2026-09-28 from the first week: unrelated
|
||||
# labels median 0.52; same-topic pairs 0.8 and above.
|
||||
label_cluster_threshold: 0.8
|
||||
|
||||
paths: # relative to the repository root
|
||||
db: data/art.sqlite
|
||||
digests: digests
|
||||
models: models # HuggingFace cache (HF_HUB_CACHE)
|
||||
|
||||
arxiv:
|
||||
# Daily run reads rss.arxiv.org/rss/<category>. Every paper is screened
|
||||
# against every profile in data/profiles.yaml, whatever its category.
|
||||
# Override the list in user/config.yaml to follow other categories.
|
||||
categories:
|
||||
- cond-mat.soft
|
||||
- physics.flu-dyn
|
||||
include_cross_lists: true # papers whose primary category is elsewhere
|
||||
include_replacements: false # new versions of already-announced papers
|
||||
request_delay_s: 3 # between requests to any arXiv endpoint
|
||||
max_catchup_days: 14 # longer gaps in daily runs are filled as backfill
|
||||
|
||||
jor:
|
||||
issn: [0148-6055, 1520-8516] # print, online; Crossref filter
|
||||
backfill_from: 2025-01-01 # first-run reach for the J. Rheol. stream
|
||||
crossref_overlap_days: 7 # re-query this far before the last fetch
|
||||
|
||||
screen:
|
||||
embed_model: BAAI/bge-large-en-v1.5
|
||||
rerank_model: BAAI/bge-reranker-v2-m3
|
||||
max_embed_tokens: 512 # bge-large limit; longer abstracts are truncated and logged
|
||||
rerank_max_length: 1024 # tokens for a (profile description, paper) pair
|
||||
# Candidates per profile from each retriever (cosine, BM25): the larger of
|
||||
# top_k and top_frac of the batch. The union goes to the re-ranker.
|
||||
top_k: 30
|
||||
top_frac: 0.2
|
||||
# Re-ranker score (0-1) above which a paper is highlighted. Broad profile
|
||||
# descriptions score relevant papers lower, so set per-profile values in
|
||||
# user/config.yaml (keyed by profile id) once you have looked at the first
|
||||
# screen. The digest applies the current values; no re-screen is needed.
|
||||
thresholds:
|
||||
default: 0.2
|
||||
calibrated: null # date of the last calibration
|
||||
Loading…
Add table
Add a link
Reference in a new issue