ScaleDown: Extract
Extract mencari entiti yang dihuraikan oleh pemanggil dalam teks, imej dan fail dokumen. Takrifkan medan dalam bahasa Inggeris yang mudah, kemudian simpan rentang teks yang sepadan, skor keyakinan, ofset aksara dan konteks sekitarnya. OCR terbina dalam menyokong bahan imbasan dan PDF, dengan konteks 1,000,000 token yang diterbitkan untuk aliran kerja dokumen.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsscaledown/extract - Ailoot Ultra · Anthropic Messages
POST /v1/messagesscaledown/extract
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Extract ialah model pengekstrakan entiti ScaleDown yang dipandu oleh huraian. Daripada memilih daripada satu set jenis entiti yang tetap, pemanggil menghuraikan maklumat yang hendak dicari dalam bahasa Inggeris yang mudah. Model mengembalikan rentang teks yang sepadan bersama keyakinan, ofset aksara dan konteks sekitarnya, menjadikan hasil lebih mudah dihubungkan semula dengan bahan sumber.
Huraikan medan yang anda perlukan
Namakan setiap entiti yang diminta berdasarkan tujuan perniagaan yang konkrit. Aliran kerja invois boleh mencari pengecam dokumen, tarikh dan jumlah sebagaimana ditulis. Aliran kerja kontrak boleh mencari pihak yang dinamakan, tarikh akhir atau kewajipan yang ditetapkan. Aliran kerja e-mel boleh mencari butiran hubungan atau tindakan yang diminta.
Huraikan makna sesuatu medan, bukannya bergantung pada nama pendeknya sahaja. Bezakan tarikh dikeluarkan daripada tarikh akhir pembayaran, atau nama seseorang daripada nama organisasi. Apabila beberapa medan mempunyai ungkapan yang serupa, berikan takrif bagi setiap medan untuk membantu memastikan padanan yang dikembalikan tetap berasingan.
Simpan padanan dan buktinya
Hasil pengekstrakan yang berguna mengekalkan rentang teks sumber bersama ofsetnya dan teks di sekitarnya. Nilai tersebut membolehkan aplikasi mengenal pasti asal padanan dan membolehkan penyemak memeriksa bukti tanpa mencari semula seluruh dokumen. Simpan nilai keyakinan bersama padanan, bukannya menganggap setiap rentang teks yang dikembalikan sama pastinya.
Jika aliran kerja memerlukan tarikh yang dinormalkan, jumlah yang ditukar atau nilai terbitan lain, simpan teks asal bersama transformasi berikutnya. Pengekstrakan entiti mengenal pasti apa yang dinyatakan oleh dokumen; aplikasi menentukan penormalan dan peraturan pengesahan yang diterapkan pada bukti yang dikembalikan.
Bahan imbasan, dokumen dan input yang panjang
Julat input model yang diterbitkan merangkumi teks, imej dan fail seperti PDF, dengan OCR terbina dalam untuk dokumen yang diimbas. Gunakan bahan sumber yang boleh dibaca dan kekalkan identiti dokumen serta halaman apabila penting untuk semakan. Imbasan yang kurang jelas boleh menjadikan sesuatu medan samar, jadi periksa konteks yang dikembalikan sebelum menerima nilai yang kritikal.
Tetingkap konteks yang diterbitkan ialah 1,000,000 token. Untuk dokumen atau koleksi yang besar, kekalkan takrif entiti yang diminta secara konsisten dan kaitkan setiap hasil dengan bahan asalnya. Set takrif yang sama boleh membantu aplikasi membandingkan medan yang diekstrak merentas kontrak, invois, mesej atau transkrip.
Output teks dan pengesahan pada peringkat seterusnya
Modaliti output yang diterbitkan ialah teks. Gunakan aliran kerja pengekstrakan yang melingkunginya untuk mengesahkan sebarang susun atur rekod boleh baca mesin yang diperlukan. Simpan teks yang sepadan dan konteks sumber sebelum menyimpan atau mentransformasikan hasil.
Artifak akhir yang berguna mengandungi nama entiti yang diminta, teks sumber yang sepadan, kedudukan atau konteks yang berkaitan serta nilai keyakinan untuk semakan. Pastikan padanan yang belum diselesaikan atau yang bersaing tetap dapat dilihat, bukannya mereka-reka medan yang tiada. Ini menghasilkan rekod pengekstrakan berasaskan bukti untuk semakan dan transformasi seterusnya.
Keupayaan
- Jenis entiti yang dihuraikan dalam bahasa Inggeris yang mudah.
- Rentang teks yang sepadan dengan keyakinan, ofset aksara dan konteks sekitarnya.
- OCR terbina dalam untuk imej yang diimbas dan PDF.
- Input teks, imej dan fail dengan konteks 1,000,000 token yang diterbitkan.
- Hasil teks yang sesuai untuk pengekstrakan medan berasaskan bukti.
Kes penggunaan
- Pengekstrakan medan invois — Invois dan takrif pengecam, tarikh atau jumlah yang hendak dicari. Hasil: Medan sumber yang sepadan dengan buktinya dikekalkan.
- Persediaan semakan kontrak — Kontrak dan takrif tepat pihak, tarikh atau kewajipan. Hasil: Rentang teks yang diekstrak untuk semakan undang-undang atau operasi kemudian.
- Penerimaan e-mel — Mesej dan entiti yang diperlukan oleh aliran kerja. Hasil: Rekod hubungan atau permintaan yang dikaitkan dengan bukti.
- Pengambilan maklumat daripada dokumen yang diimbas — Bahan imbasan/PDF yang boleh dibaca dan takrif entiti yang stabil. Hasil: Padanan dengan konteks sumber dan keyakinan untuk pengesahan.
Had
- Konteks — Tetingkap konteks yang diterbitkan: 1,000,000 token.
- Bukti hasil — Simpan rentang teks, ofset dan konteks sekitarnya sebelum menerapkan penormalan kemudian.
- Kontrak output — Output yang diterbitkan ialah teks; JSON yang dikuatkuasakan mengikut skema dan panggilan fungsi tidak disenaraikan untuk model ini.
- Takrif medan — Pemilihan entiti dipandu oleh huraian yang dibekalkan, bukannya satu taksonomi tetap.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions scaledown/extract
scaledown/extractPengenalan
Extract mencari entiti yang dihuraikan oleh pemanggil dalam teks, imej dan fail dokumen. Takrifkan medan dalam bahasa Inggeris yang mudah, kemudian simpan rentang teks yang sepadan, skor keyakinan, ofset aksara dan konteks sekitarnya. OCR terbina dalam menyokong bahan imbasan dan PDF, dengan konteks 1,000,000 token yang diterbitkan untuk aliran kerja dokumen.
- Input yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Input
text- Output
text- Format output
- json atau SSE
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had scaledown/extract | Lalai— |
Medanmessages | Jenismessage[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanmessages[].role | Jenisstring | KeperluanDiperlukan | Nilai & had Bergantung pada model | Lalai— |
Medanmessages[].content | Jenisstring | KeperluanPilihan | Nilai & had Terpakai apabila: Perbualan teks | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
Gabungan bahan input
Teks · Teks UTF8
messages[].content
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages |
Parametermaterial_types | Kontraktext |
Parametermessages | Kontraktatasusunan mesej dengan struktur role/content |
Parameterfile_material | Kontrakdokumen UTF-8 sebenar dimasukkan sebagai teks literal; ID fail tidak diandaikan |
Parameteroptional_controls | Kontrakstream |
Parametercontrol_scope | KontrakPerbualan teks; stream ialah nilai boolean dengan false sebagai lalai. |
Parameteroutput_modalities | Kontraktext |
Parameterhosted_operations | Kontrakfalse |
Parametermultimodal_input_binding | Kontraknull |
Alias kaedah: /chat/completions
Kitar hayat: synchronous_or_streamed
Hantar ID model yang tepat bersama messages.
Panjang konteks bukan had output.
Fail teks boleh membekalkan teks literal; input imej/audio/objek fail memerlukan pengikatan tepat.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0001 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0001 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"scaledown/extract","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="scaledown/extract", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Terima dan simpan hasil
Ailoot Ultra · OpenAI Chat
json atau SSE
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Kekalkan setiap pilihan jawapan bersama kandungan, panggilan alat dan penaakulannya. Dalam SSE, gabungkan delta mengikut indeks pilihan jawapan/alat dan kekalkan sebab penamatan akhir serta data penggunaan.
Jika respons asal perlu disemak
Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanchoices[].index | Jenisinteger |
Medanchoices[].message.content | Jenisstring|null |
Medanchoices[].message.tool_calls | Jenistool_call[] |
Medanchoices[].message.reasoning_content | Jenisstring |
Medanchoices[].message.reasoning_details | Jenisobject|array |
Medanchoices[].finish_reason | Jenisstring|null |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra scaledown/extract
Alias laluan kaedah
/chat/completions
ID pemanggil berkaitan
Ailoot Ultra · Anthropic Messages POST /v1/messages scaledown/extract
scaledown/extractPengenalan
Extract mencari entiti yang dihuraikan oleh pemanggil dalam teks, imej dan fail dokumen. Takrifkan medan dalam bahasa Inggeris yang mudah, kemudian simpan rentang teks yang sepadan, skor keyakinan, ofset aksara dan konteks sekitarnya. OCR terbina dalam menyokong bahan imbasan dan PDF, dengan konteks 1,000,000 token yang diterbitkan untuk aliran kerja dokumen.
- Input yang diterima
- Teks
- Hasil
- json · sse
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Input
text- Output
json,sse- Format output
- JSON atau SSE
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had scaledown/extract | Lalai— |
Medanmessages | Jenismessage[] | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanmessages[].role | Jenisstring | KeperluanDiperlukan | Nilai & had user, assistant | Lalai— |
Medanmessages[].content | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanmax_tokens | Jenisinteger | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanstream | Jenisboolean | KeperluanPilihan | Nilai & had | Lalaifalse |
Gabungan bahan input
Teks · Teks UTF-8
rentetan messages[].content
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, messages, max_tokens |
Parameteroptional_controls | Kontrakstream |
Parametermaterial_types | Kontraktext |
Parametertext_file_material | KontrakBaca dokumen UTF-8 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan. |
Kitar hayat: synchronous_or_streamed
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0001 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.0001 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Anthropic Messages
{
"model": "scaledown/extract",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'scaledown/extract', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'scaledown/extract', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Terima dan simpan hasil
Ailoot Ultra · Anthropic Messages
JSON atau SSE
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Kekalkan semua blok kandungan, tandatangan penaakulan dan ID penggunaan alat sebenar. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan output.
Jika respons asal perlu disemak
Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanid | Jenisstring |
Medanmodel | Jenisstring |
Medancontent[] | Jenistext|thinking|tool_use|other content block |
Medanstop_reason | Jenisstring|null |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra scaledown/extract
Alias laluan kaedah
/chat/completions
ID pemanggil berkaitan
FAQ · ScaleDown: Extract
- Apakah input dan hasil yang tersedia?
POST /v1/chat/completions·scaledown/extract:text→textPOST /v1/messages·scaledown/extract:text→json,sse- Apakah medan yang digunakan oleh permintaan?
POST /v1/chat/completions·scaledown/extract:model,messages,streamPOST /v1/messages·scaledown/extract:model,messages,max_tokens,stream- Apakah had yang terpakai?
POST /v1/chat/completions·scaledown/extract:messages.min_items:1