API

គ្រប់យ៉ាងដែលគេហទំព័រធ្វើ, តាមរយៈ HTTP: ប្រកាសការចោទប្រកាន់និងរបារវាត្រូវតែស្អាត, អង្គុយបន្ទះមួយ, និងបោះឆ្នោតរហូតដល់អ្នកវិនិច្ឆ័យបានដោះស្រាយលក្ខខណ្ឌទាំងអស់. បន្ទះដូចគ្នា, ការបង់ប្រាក់ដូចគ្នា, ដែនកំណត់ចំណាយដូចគ្នា - គ្មានកម្មវិធីរុករក.

កូនសោ​របស់​អ្នក

កូនសោ​ត្រូវបាន​បង្កើត​ពី​គណនី​របស់​អ្នក ។ ចូល ឬ​បង្កើត​មួយ — គណនី​ថ្មី​ទទួល​បាន​ការ​ចាប់ផ្ដើម​ឥណទាន ដែល​គ្រប់គ្រាន់​សម្រាប់​ពិត match ។

ចុះឈ្មោះ ចូល
ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ

ផ្ញើ​កូនសោ​ជា​តួអក្សរ​របស់​អ្នក​កាន់​លើ​សំណើ​នីមួយៗ & # 160; ។ វា​ជា​ការ​បញ្ជាក់​អត្តសញ្ញាណ​ដែល​អាច​ចំណាយ​ថវិកា​របស់​អ្នក ដូច្នេះ​ចាត់ទុក​វា​ដូច​ជា​ពាក្យ​សម្ងាត់ & # 160; ៖ ផ្នែក​ម៉ាស៊ីន​បម្រើ​តែ​ប៉ុណ្ណោះ មិន​មែន​ក្នុង​កម្មវិធី​រុករក មិន​មែន​ក្នុង​ឃ្លាំង & # 160; ។ កូនសោ​ដែល​លេច​ឡើង​ត្រូវ​បាន​ដកហូត​ពី​ទំព័រ​នេះ ហើយ​ឈប់​ធ្វើការ​ភ្លាមៗ & # 160; ។

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 — ការ​ទាមទារ​ក្នុង​ពាក្យ​របស់​អ្នក​ផ្ទាល់ & # 160; ។ ចាំបាច់ & # 160; ។
  • rigor / rigor_preset — របារ​ដែល​អ្នក​សម្រេច​ចិត្ត​ដាក់​អ្នក​ទៅ​តាម​ពាក្យ​ឬ​តាម​ឈ្មោះ & # 160; ៖ ស្តង់ដារ បោះពុម្ព​ផ្សាយ ផ្លូវការ រង្វាន់ សម្រេច​ចិត្ត & # 160; ។ ការ​កំណត់​ជាមុន​ដែល​មិន​ស្គាល់​ត្រូវ​បាន​បដិសេធ​ជំនួស​ឲ្យ​ការ​ប្តូរ​លំនាំ​ដើម​ដោយ​ស្ងៀមស្ងាត់ - ការ​វិនិច្ឆ័យ​ប្រឆាំង​នឹង​ស្តង់ដារ​ដែល​អ្នក​មិន​បាន​ស្នើ​គឺ​អាក្រក់​ជាង​កំហុស & # 160; ។
  • seats — ពីរទៅប្រាំនាក់ជជែកតវ៉ាកន្លែងអង្គុយ, រៀងរាល់លេខសម្គាល់ម៉ូដែលពី GET /api/v1/models/ និងទង្វើស្រេចចិត្តមួយ.
  • 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": "…"
}

ស្ថានភាព & # 160; ៖ បាន​ដាក់​ជា​ជួរ រត់ ផ្អាក needs_ funds បាន​ដោះស្រាយ អស់​កម្លាំង ជាប់​គាំង បរាជ័យ & # 160; ។ ៤ ចុងក្រោយ​គឺ​ជា​ស្ថានីយ​បាន​ផ្អាក needs_ funds អស់​កម្លាំង និង​ជាប់​គាំង​អាច​បន្ត & # 160; ។

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/ — អ្វី​ដែល​មាន ដូច្នេះ​ម៉ាស៊ីន​ភ្ញៀវ​អាច​រក​វិធី​របស់​វា​ដោយ​គ្មាន​ទំព័រ​នេះ & # 160; ។
  • GET /api/v1/models/ — ម៉ូដែល seatable ជាមួយជួររបស់ពួកគេ, បង្អួចបរិបទនិងអត្រាក្នុងមួយលានតោន-token ។ បញ្ជី​ដូចគ្នា​ជា​ទំព័រ & # 160; ។
  • GET /api/v1/matches/ — matches របស់អ្នក, ថ្មីបំផុតដំបូង; តម្រងដោយស្ថានភាព, ទំព័រជាមួយដែនកំណត់និងអុហ្វសិត.
  • GET /api/v1/account/ — សន្សំ, ចំណាយជីវិតនិងថាតើអ្នកកំពុងនៅលើឥណទានបង់មុនឬសោការសន្និដ្ឋានផ្ទាល់ខ្លួនរបស់អ្នក.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — បញ្ជី និង​ដកហូត​កូនសោ & # 160; ។ កូនសោ​ដំបូង​អាច​ត្រូវ​បាន​បង្កើត​នៅ​ទីនេះ​ក្នុង​កម្មវិធី​រុករក & # 160; ។
កំហុស

បរាជ័យ​ទាំងអស់​មាន​រាង​ដូចគ្នា & # 160; ។ ច្រក​លើ​កូដ​ដែល​មាន​ស្ថេរភាព​ សារ​គឺ​ជា​អត្ថបទ​ខ្លី ហើយ​អាច​ត្រូវ​បាន​សរសេរ​ឡើងវិញ & # 160; ។

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

401 សម្រាប់ សោ បាត់ ឬ ដកហូត, 402 ពេល សន្សំ ប្រាក់ គឺ ទទេ, 404 សម្រាប់ សញ្ញា ដែល មិន ជា របស់ អ្នក, 409 សម្រាប់ match ដែល កំពុង រត់ រួច 429 ពេល អ្នក កំពុង ធ្វើ យ៉ាង រហ័ស, 400 សម្រាប់ អ្វី មួយ សំណើ ខ្លួន វា ឯង បាន ខុស.

ដែន​កំណត់​អត្រា

រាប់ក្នុងមួយគ្រាប់ចុច: 240 អាននិង 30 match ចាប់ផ្តើមនាទី. បែកបាក់លើគោលបំណង - អ្វីដែលពិតជាកំណត់ match គឺថាវាចំណាយថវិការបស់អ្នក, ហើយទាំងនេះគឺនៅទីនេះដើម្បីបញ្ឈប់រង្វង់ព្យាយាមឡើងវិញឬ poller រត់ flat out. លើសពីកម្រិតដែលអ្នកទទួលបាន 429; បោះឆ្នោតរត់ match រៀងរាល់ពីរបីវិនាទីជាជាងបន្ត.

ការបង់ប្រាក់គឺដូចគ្នាទៅនឹងតំបន់បណ្ដាញ: អ្នកបង់ប្រាក់ក្នុងមួយតោននៅអត្រាដែលបានបោះពុម្ពផ្សាយក្នុងមួយម៉ូដែល, ពីឥណទានបង់មុនឬសោផ្ទាល់ខ្លួនរបស់អ្នក. របៀប​ដែល​ការ​បង់​ប្រាក់​ដំណើរការ