API

HTTP- ի միջոցով կայքը կատարում է հետևյալ գործողությունները. ներկայացնում է պահանջը և այն ցուցակը, որը պետք է մաքրվի, տեղադրում է պրոֆիլ և հարցում, մինչև որ դատավորը որոշի բոլոր չափանիշները։ Միևնույն պրոֆիլը, նույն հաշվարկները, նույն ծախսերի սահմանափակումները՝ առանց բրաուզերի։

Ձեր կոճակները

Կապիկները ստեղծվում են ձեր հաշվից։ Գրանցվեք կամ ստեղծեք մեկը, նոր հաշիվները ստանում են սկզբնական վարկ, որը բավական է իրական match-ի համար։

Գրանցվել Գրանցում
Ավտոմատացում

Ամեն անգամ խնդրելով ուղարկել կողպեքը՝ որպես տոկոսադրույք։ Դա կարող է ծախսել ձեր հաշիվը, այնպես որ վերաբերվեք դրան, ինչպես գաղտնաբառին՝ միայն սերվերի կողմից, երբեք վեբ ընթերցիչում, երբեք ռեպոզիտորում։ Առաջացած կողպեքները վերացվում են այս էջից և անմիջապես դադարում են աշխատել։

curl https://theorem.chat/api/v1/account/ \
  -H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"

Բնական URL- ը. https://theorem.chat/api/v1/. Պահանջները և պատասխանները JSON են։ Վերջնական տարբերակը գտնվում է ուղու մեջ, այնպես որ խախտումը փոխանցվում է որպես v2 և ձեր կոդը շարունակում է աշխատել։

POST /api/v1/matches/

Աշխատեցնել match-ը: Պետք է միայն նպատակը լինի՝ թողնել պրոյեկտորը և տարբեր արտադրողների լրիվ տարբերակով ցուցադրել այն, քանի որ մոդելները, որոնք սովորեցվել են փոխկապակցված տվյալների վրա, ունեն նույն կույր կետերը, և պրոյեկտորը, որը համաձայն է իր հետ, ապացույց չէ: match-ը անմիջապես դասավորվում է հերթականության մեջ և աշխատում է սերվերի վրա, այնպես որ խնդրանքը վերադարձվում է, երբ այն ընդունվում է:

curl -X POST https://theorem.chat/api/v1/matches/ \
  -H "Authorization: Bearer $THEOREM_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "goal": "Every prime p > 3 satisfies p^2 = 1 (mod 24).",
    "rigor_preset": "formal",
    "seats": [
      {"model": "anthropic/claude-opus-4.5"},
      {"model": "openai/gpt-5", "stance": "Attack the statement."}
    ],
    "max_rounds": 8,
    "usd_ceiling": "2.00",
    "public": false
  }'

Օգտագործված դաշտեր

  • goal — Ձեր սեփական խոսքերով, պահանջվում է:
  • rigor / rigor_preset — աստիճանը, որի վրա դատավորը ձեզ պահում է, բառացիորեն կամ անունով: ստանդարտ, հրատարակություն, պաշտոնական, մրցանակ, որոշում։ Անհայտ նախահաշիվը մերժվում է, այլ ոչ թե անձայն փոխարինվում է լռելյայնով - դատվելը ստանդարտով, որը դուք չեք խնդրել, ավելի վատ է, քան սխալ։
  • seats — երկուից վեց քննարկումների տեղեր, յուրաքանչյուրը GET /api/v1/models/-ից մոդելի id և ընտրելի դիրք.
  • referee — մոդել, որը տիրապետում է չափանիշներին և վերահսկում է ապացույցները։ Այն արժե ծախսել։
  • max_rounds, usd_ceiling — Չափից շատ սահմանափակումներ։ Գործարքի վերին սահմանին հասնելը կանխում է match-ը, այլ ոչ թե այն անցկացնում։ Եվ կանգնեցված match-ը շարունակում է գործել այնտեղ, որտեղ դադարել է։
  • public — match-ը հրապարակել հանրային ցուցահանդեսներում։
GET /api/v1/matches/{token}/

match-ի ամբողջական վիճակը, ընդունման կանոնները և ինչպես յուրաքանչյուրը լուծվեց, հաստատված արդյունքների գրասենյակը, յուրաքանչյուր որոշումների հետևում եղած ապացույցները և դատավճիռը, երբ այն կա։ match-ը աշխատում է րոպեներ կամ ժամեր, այնպես որ հարցում կատարեք ամեն մի քանի վայրկյանում, երբ այն գործում է, պատասխանը կպատմի, թե երբ դադարեցնել։

{
  "token": "k3m9x…",
  "status": "solved",
  "round": 5,
  "progress": 100,
  "usd_spent": "0.734120",
  "usd_ceiling": "2.000000",
  "criteria": [
    {"text": "p^2 - 1 is divisible by 8", "status": "met", "settled_round": 2},
    {"text": "p^2 - 1 is divisible by 3", "status": "met", "settled_round": 3}
  ],
  "evidence": [
    {"kind": "computation", "code": "…", "output": "…", "verified": true}
  ],
  "verdict": "…"
}

Տեսակները՝ սպասարկվում է, գործում է, դադարեցված է, պահանջվում_են_գումարներ, լուծված է, սպառվել է, կախված է, ձախողվել է։ Վերջին չորսը տերմինալներ են, դադարեցված, պահանջվում_են_գումարներ, սպառվել է և կախված է կարող է վերսկսվել։

POST /api/v1/matches/{token}/resume/

Ցույց է տալիս կանգնեցված match ավելի շրջաններ կամ ավելի շատ բյուջե։ Ամեն ինչ, ինչ ցուցակը հաստատել է պահվում է՝ արդյունքները գրվում են հաշվետվություն մեկ անգամ և երբեք չվերադարձվում, և գրանցված կիսատ թողածները կանխում են այն վերադառնալ արդեն ձախողված մոտեցման։

curl -X POST https://theorem.chat/api/v1/matches/$TOKEN/resume/ \
  -H "Authorization: Bearer $THEOREM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"more_rounds": 4, "more_usd": "2.00"}'
Մյուսները
  • GET /api/v1/ — ինչը գոյություն ունի, որպեսզի հաճախորդը կարողանա գտնել իր ճանապարհը առանց այս էջը։
  • GET /api/v1/models/ — seatable մոդելները իրենց աստիճանով, կոնտեքստի պատուհանով և միլիոնավոր տոկոսադրույքներով։ Նույն ցուցակը, որպես էջ:
  • GET /api/v1/matches/ — Ձեր matches, նորագույնը առաջինը; ֆիլտրել վիճակի, էջերի սահմանափակումների և փոխադրման համաձայն։
  • GET /api/v1/account/ — Ձեր հաշիվը, կյանքի ընթացքում ծախսված գումարը և այն, թե արդյոք դուք վճարել եք վարկ կամ ձեր սեփական գումարները։
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — ցուցակագրել և վերացնել կոճակները։ Առաջին կոճակը կարող է ստեղծվել միայն այստեղ, վեբ-բրաուզերի միջոցով։
Սխալներ

Յուրաքանչյուր ձախողում ունի նույն ձևը։ Կենտրոնացիր կոդին, որը կայուն է։ Խոսքը պոեզիա է և կարող է վերագրվել։

{"error": {"code": "insufficient_balance",
           "message": "Add credit or connect your own inference key…"}}

401 բացակայող կամ վերացրած կետերի համար, 402 երբ հաշիվը դատարկ է, 404 քո սեփականությունը չհամարվող տոկենների համար, 409 match-ի համար, որը արդեն աշխատում է, 429 երբ դուք չափազանց արագ եք գնում, 400 եթե խնդրանքը սխալ է։

Օր

Առաջարկվում է յուրաքանչյուր կոճակի համար՝ 240 կարդալ և 30 match սկսել րոպեում։ Առաջարկվում է նպատակային՝ match-ի իրական սահմանափակումը այն է, որ այն ծախսում է ձեր հաշիվը, և այստեղ դրանք կանխելու համար փորձում են կրկնել կամ հարցման ավարտին հասցնել։ Լրացուցիչ սահմանափակումից հետո դուք ստանում եք 429; հարցում match-ին մի քանի վայրկյանում, այլ ոչ թե շարունակաբար։

Ձեր հաշիվը նույնն է, ինչ կայքում: Դուք վճարում եք յուրաքանչյուր տոկոսադրույքով, որը հրապարակվում է յուրաքանչյուր մոդելի համար, նախահաշիվից կամ ձեր սեփական կոդից. Ինչպես է աշխատում հաշվառումը