ScaleDown: Summarize
Summarize herschrijft lange tekst en documenten tot een vloeiende, getrouwe verkorte versie. Stel focus, taal, lengte en formaat in via instructies en gebruik het resultaat voor documentbeoordeling, transcriptiesamenvattingen of kortere retrievalcontext. Het gepubliceerde venster is 1.000.000 tokens, met een completionlimiet van 4.000 tokens.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsscaledown/summarize - Ailoot Ultra · Anthropic Messages
POST /v1/messagesscaledown/summarize
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Summarize is het abstracterende samenvattingsmodel van ScaleDown. Het verkort aangeleverde tekst en documenten tot een vloeiende herschrijving in plaats van enkele oorspronkelijke zinnen letterlijk te selecteren. De gepubliceerde toepassingen omvatten documentbeoordeling, transcriptiesamenvattingen en het verkorten van opgehaald materiaal voordat een ander model het gebruikt.
Definieer wat de samenvatting moet behouden
Geef de taak een focus en een beoogde lezer. Een vergadersamenvatting kan beslissingen, verantwoordelijkheden en open vragen behouden. Een documentbeoordeling kan de belangrijkste beweringen en ondersteunend bewijs behouden. Een retrievalworkflow kan de feiten behouden die belangrijk zijn voor de vraag die het volgende model gaat beantwoorden.
Geef de gewenste taal, lengte en indeling op in de inhoudsinstructies. Het gepubliceerde model gebruikt systempromptinstructies voor die keuzes, terwijl de samplingconfiguratie vastligt voor getrouwe uitvoer. Een samenvatting voor een persoon en een compacte passage voor een ander model kunnen daardoor verschillende indelingen gebruiken, zonder samplingvariatie als de belangrijkste besturing te behandelen.
Een herschrijving met traceerbare feiten
Houd documentnamen en belangrijke sectiegrenzen bij de bron. Vraag de samenvatting namen, getallen, expliciete beslissingen en tegenstrijdigheden die de interpretatie beïnvloeden te behouden. Maak voor een transcriptie onderscheid tussen een voorstel en een beslissing en tussen een open vraag en een toegewezen actie.
Vergelijk na generatie de verkorte tekst met het oorspronkelijke materiaal. Controleer of een zin de zekerheid van een bewering verandert, een voorwaarde weglaat of uitspraken combineert die bij verschillende sprekers of secties horen. Het doel van een korter resultaat is het bewijs gemakkelijker te gebruiken te maken, met behoud van de betekenis.
Documenten, afbeeldingen en retrievalcontext
Het gepubliceerde invoerbereik omvat tekst, afbeeldingen en bestanden zoals pdf's en het model geeft tekst terug. Geef leesbaar materiaal en definieer of de taak het hele document of een geselecteerde sectie betreft. Een verzameling heeft baat bij consistente samenvattingsvragen en een documentidentificator die bij elk resultaat wordt bewaard.
Verkort voor retrievalvoorbewerking de inhoud rond de specifieke vraag die downstreamredenering moet beantwoorden. Bewaar de passages of feiten die een antwoord ondersteunen in plaats van een algemeen overzicht van de bron te maken. Houd het oorspronkelijke opgehaalde materiaal beschikbaar, zodat het latere resultaat er nog aan kan worden getoetst.
Plan de uitvoerlengte
Het gepubliceerde contextvenster is 1.000.000 tokens en de completionlimiet is 4.000 tokens. Stel een samenvattingslengte in die bij het beoogde resultaat past. Als een grote verzameling veel detail nodig heeft, organiseert u deze in geïdentificeerde documenten of secties en bewaart u voor elk een afzonderlijk resultaat voordat u een samenvatting op verzamelingsniveau maakt.
Het resultaat is een tekstsamenvatting. Valideer elke door machines gebruikte structuur in de applicatie en houd de geschreven samenvatting leesbaar voor de beoogde doelgroep. Bewaar de samenvatting met de bronidentiteit en de instructies die de focus, taal en lengte bepaalden.
Mogelijkheden
- Abstracterende samenvattingen die aangeleverd materiaal herschrijven en verkorten.
- Instructiegestuurde focus, taal, lengte en indeling.
- Vaste samplingconfiguratie afgestemd op getrouwe uitvoer.
- Tekst-, afbeeldings- en bestandsinvoer met tekstuitvoer.
- Gepubliceerde context van 1.000.000 tokens en completionlimiet van 4.000 tokens.
Toepassingen
- Samenvatting van documentbeoordeling — Een document en de bevindingen die de lezer moet behouden. Resultaat: Een beknopte, geïdentificeerde samenvatting met behoud van de belangrijkste feiten.
- Transcriptiesamenvatting — Een transcriptie met focus op beslissingen, verantwoordelijkheden of open vragen. Resultaat: Een kortere tekst die die categorieën scheidt.
- Retrievalvoorbewerking — Opgehaalde inhoud en de downstreamvraag. Resultaat: Een compacte bewijspassage voor latere redenering.
- Samenvattingen van verzamelingen — Benoemde documenten met gedeelde samenvattingsinstructies. Resultaat: Vergelijkbare samenvattingen per document.
Limieten
- Context — Gepubliceerd contextvenster: 1.000.000 tokens.
- Antwoord — Gepubliceerde completionlimiet: 4.000 tokens.
- Stijlbesturing — Stuur focus, taal, lengte en formaat via instructies; sampling ligt vast.
- Uitvoercontract — De gepubliceerde uitvoer is tekst; functieaanroepen en door een schema afgedwongen JSON worden niet vermeld.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions scaledown/summarize
scaledown/summarizeAan de slag
Summarize herschrijft lange tekst en documenten tot een vloeiende, getrouwe verkorte versie. Stel focus, taal, lengte en formaat in via instructies en gebruik het resultaat voor documentbeoordeling, transcriptiesamenvattingen of kortere retrievalcontext. Het gepubliceerde venster is 1.000.000 tokens, met een completionlimiet van 4.000 tokens.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Invoertypen
text- Uitvoertypen
text- Uitvoerformaat
- json of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten scaledown/summarize | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten Afhankelijk van het model | Standaard— |
Veldmessages[].content | Typestring | VereisteOptioneel | Waarden en limieten Geldt wanneer: Tekstgesprek | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Combinaties van invoermaterialen
Tekst · UTF8-tekst
messages[].content
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, messages |
Parametermaterial_types | Contracttext |
Parametermessages | Contractberichtenarray met de structuur role/content |
Parameterfile_material | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
Parameteroptional_controls | Contractstream |
Parametercontrol_scope | ContractTekstgesprek; stream is een booleaanse waarde en is standaard false. |
Parameteroutput_modalities | Contracttext |
Parameterhosted_operations | Contractfalse |
Parametermultimodal_input_binding | Contractnull |
Methodealiasnamen: /chat/completions
Levenscyclus: synchronous_or_streamed
Stuur het exacte model-ID mee met messages.
Contextlengte is geen uitvoerlimiet.
Een tekstbestand kan letterlijke tekst aanleveren; beeld-, audio- en bestandsobjectinvoer vereisen een exacte koppeling.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0001 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0001 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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/summarize","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/summarize", 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"))
Resultaten ophalen en opslaan
Ailoot Ultra · OpenAI Chat
json of SSE
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke keuze en de bijbehorende inhoud, toolaanroepen en redeneringen. Voeg in SSE delta’s samen per keuze-/toolindex en bewaar de uiteindelijke reden van beëindiging en de verbruiksgegevens.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldchoices[].index | Typeinteger |
Veldchoices[].message.content | Typestring|null |
Veldchoices[].message.tool_calls | Typetool_call[] |
Veldchoices[].message.reasoning_content | Typestring |
Veldchoices[].message.reasoning_details | Typeobject|array |
Veldchoices[].finish_reason | Typestring|null |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra scaledown/summarize
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
Ailoot Ultra · Anthropic Messages POST /v1/messages scaledown/summarize
scaledown/summarizeAan de slag
Summarize herschrijft lange tekst en documenten tot een vloeiende, getrouwe verkorte versie. Stel focus, taal, lengte en formaat in via instructies en gebruik het resultaat voor documentbeoordeling, transcriptiesamenvattingen of kortere retrievalcontext. Het gepubliceerde venster is 1.000.000 tokens, met een completionlimiet van 4.000 tokens.
- Toegestane invoer
- Tekst
- Resultaten
- json · sse
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Invoertypen
text- Uitvoertypen
json,sse- Uitvoerformaat
- JSON of SSE
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten scaledown/summarize | Standaard— |
Veldmessages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldmessages[].role | Typestring | VereisteVereist | Waarden en limieten user, assistant | Standaard— |
Veldmessages[].content | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldmax_tokens | Typeinteger | VereisteVereist | Waarden en limieten | Standaard— |
Veldstream | Typeboolean | VereisteOptioneel | Waarden en limieten | Standaardfalse |
Combinaties van invoermaterialen
Tekst · UTF-8-tekst
messages[].content als tekenreeks
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, messages, max_tokens |
Parameteroptional_controls | Contractstream |
Parametermaterial_types | Contracttext |
Parametertext_file_material | ContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht. |
Levenscyclus: synchronous_or_streamed
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0001 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0001 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Anthropic Messages
{
"model": "scaledown/summarize",
"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/summarize', '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/summarize', '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))
Resultaten ophalen en opslaan
Ailoot Ultra · Anthropic Messages
JSON of SSE
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldmodel | Typestring |
Veldcontent[] | Typetext|thinking|tool_use|other content block |
Veldstop_reason | Typestring|null |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra scaledown/summarize
Aliasnamen voor methodepaden
/chat/completions
Gerelateerde aanroeper-ID’s
FAQ · ScaleDown: Summarize
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/chat/completions·scaledown/summarize:text→textPOST /v1/messages·scaledown/summarize:text→json,sse- Welke velden gebruikt het verzoek?
POST /v1/chat/completions·scaledown/summarize:model,messages,streamPOST /v1/messages·scaledown/summarize:model,messages,max_tokens,stream- Welke limieten gelden?
POST /v1/chat/completions·scaledown/summarize:messages.min_items:1