Tencent: Hy-MT2-30B-A3B
Tencents Hy-MT2-30B-A3B är MoE-utgåvan av dess snabbtänkande översättningsfamilj. Den hanterar instruktionsstyrd översättning, terminologi och strukturerade data, med en konfiguration på 262 144 positioner och samplingsrekommendationer som skiljer sig från de täta utgåvorna.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionstencent/hy-mt2-30b-a3b - Ailoot Ultra · Anthropic Messages
POST /v1/messagestencent/hy-mt2-30b-a3b
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Hy-MT2-30B-A3B är Tencent Hys mixture-of-experts-utgåva i översättningsfamiljen Hy-MT2. Tillverkaren positionerar familjen för komplexa skriftliga översättningsuppgifter och flerspråkiga instruktioner, inklusive krav på terminologi, stil och strukturerade data. Utgåvan 30B-A3B hålls åtskild från de täta modellerna 1.8B och 7B. Tillverkarens språktabell innehåller kinesiska, traditionell kinesiska, engelska, japanska, koreanska, ryska, arabiska, franska och spanska, liksom kantonesiska, tibetanska, kazakiska, mongoliska och uiguriska.
Dess publicerade konfiguration har 48 lager, 32 frågehuvuden för attention och fyra nyckel/värde-huvuden. Varje expertlager använder 128 experter, varav åtta väljs per token, och det högsta antalet positioner är 262 144. Detta är egenskaper hos just denna konfiguration. Den bredare familjebeteckningen identifierar ingen av de separat publicerade kvantiserade artefakterna.
Börja en översättningsuppgift med att ange målspråkets fullständiga namn och definiera svarets önskade form. Tillverkarens grundmall efterfrågar bara det översatta resultatet. Om källan är en del av ett större dokument lägger du till bakgrunden som behövs för att tolka den, samtidigt som kontexten hålls åtskild från texten som ska översättas.
För terminologikänsligt arbete tillhandahåller du en ordlista med källtermer och önskade översättningar. För stil anger du målgrupp och ton uttryckligen. En anpassad översättning kan lista flera krav, till exempel hur namn ska behandlas eller önskad röst, innan källavsnittet anges. Dessa promptmönster från tillverkaren gör översättningsbegränsningarna till en del av uppgiften.
För strukturerat material låser du originalets format, hierarki och indrag. Översätt bara den synliga användartexten och bevara nycklar, kodbeteckningar, egenskaper och variabelplatshållare. Om avgränsare delar upp en grupp textavsnitt behåller du deras antal och placering. Ett användbart resultat förblir användbart för samma applikation som tar emot originalstrukturen.
Denna MoE-utgåvas rekommenderade sampling skiljer sig från de täta modellerna: temperature 0.7, top-p 1.0, ingen top-k-filtrering och repetition penalty 1.0. Tillverkaren anger ingen systemprompt som standard. Exemplets genereringstilldelning på 4 096 token är ett förfrågningsexempel, inget påstående om att modellens maximala svarslängd är låst till det värdet.
Granska resultatet mot uppgiftens båda delar: språklig betydelse och bevarad struktur. För ett dokumentflöde bekräftar du att ordlistan används konsekvent genom avsnitten. För en språkfil till en applikation jämför du identifierare och platshållare med källan innan de översatta värdena skickas vidare. Dessa kontroller bedömer resultatet i stället för att anta att en begärd bevaranderegel följdes.
Praktisk uppgift
Praktisk uppgift
Tekniskt exempel på engelska
Translate an interface file safely
Translate only the user-visible YAML values into Russian. Preserve keys, indentation and the {count} placeholder. Use the glossary Retry = Повторить. Return only translated YAML.
buttons:
retry: "Retry"
cancel: "Cancel"
status:
pending: "{count} files pending"Förväntat resultat
YAML with the same mapping hierarchy and keys, translated visible values and the unchanged {count} placeholder.Kontrollera resultatet
Parse the YAML and compare the key tree and placeholder multiset with the source; check the Retry glossary term.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions tencent/hy-mt2-30b-a3b
tencent/hy-mt2-30b-a3bStart
Tencents Hy-MT2-30B-A3B är MoE-utgåvan av dess snabbtänkande översättningsfamilj. Den hanterar instruktionsstyrd översättning, terminologi och strukturerade data, med en konfiguration på 262 144 positioner och samplingsrekommendationer som skiljer sig från de täta utgåvorna.
- Godkända indata
- Text
- Resultat
- Text
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Indatatyper
text- Utdatatyper
text- Utdataformat
- json eller SSE
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser tencent/hy-mt2-30b-a3b | Standard— |
Fältmessages | Typmessage[] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 | Standard— |
Fältmessages[].role | Typstring | KravObligatoriskt | Värden & gränser Exempel: system, user, assistant, tool, function Villkor: Dessa roller representeras uttryckligen av källkodens kompatibilitetstyper; den exakta rolluppsättningen är fortfarande modellspecifik. Beror på modellen | Standard— |
Fältmessages[].content | Typstring|content_part[]|null | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].tool_calls | Typtool_call[] | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].tool_call_id | Typstring | KravValfritt | Värden & gränser Gäller när: role=tool; använd det faktiska returnerade ID:t | Standard— |
Fältmessages[].name | Typstring | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].reasoning_content | Typstring | KravValfritt | Värden & gränser Gäller när: Skicka tillbaka det faktiska returnerade resonemanget när modellen använder det | Standard— |
Fältmessages[].reasoning_details | Typobject|array | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältmax_tokens | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
Fältmax_completion_tokens | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
Fältstream | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Fältstream_options.include_usage | Typboolean | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttemperature | Typnumber | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttop_p | Typnumber | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältstop | Typstring|string[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttools | Typfunction_tool[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttools[].type | Typstring | KravValfritt | Värden & gränser function Beror på modellen | Standard— |
Fälttools[].function.name | Typstring | KravObligatoriskt | Värden & gränser Gäller när: verktyg av typen funktion har tillhandahållits | Standard— |
Fälttools[].function.description | Typstring | KravValfritt | Värden & gränser | Standard— |
Fälttools[].function.parameters | TypJSON_schema | KravValfritt | Värden & gränser | Standard— |
Fälttool_choice | Typstring|object | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältparallel_tool_calls | Typboolean | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältresponse_format | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältreasoning_effort | Typstring | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältreasoning | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältservice_tier | Typstring | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältinstructions | Typstring | KravValfritt | Värden & gränser Kompatibilitetsfält | Standard— |
Fältfunctions | Typfunction[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältfunction_call | Typstring|object | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältprompt_cache_options | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältmodalities | Typstring[] | KravValfritt | Värden & gränser text | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser Villkor: provider.options avvisas på denna Ultra-textrutt | Standard— |
Fältcache_control.ttl | Typstring | KravValfritt | Värden & gränser Villkor: 1h avvisas på de faktiska platserna för promptcache | Standard— |
Kombinationer av indatamaterial
Text · UTF8-text
messages[].content
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, messages |
Parametermaterial_types | Avtaltext |
Parametermessages | Avtalmeddelandearray med strukturen role/content |
Parameterfile_material | Avtaldet faktiska UTF-8-dokumentet infogat som bokstavlig text; inget fil-ID härleds |
Parameteroptional_controls | Avtalstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Avtalmodellspecifikt; användarens funktionsverktyg skiljer sig från värdbaserade verktyg |
Parameteroutput_modalities | Avtaltext |
Parameterhosted_operations | Avtalfalse |
Parametermultimodal_input_binding | Avtalnull |
Livscykel: synchronous_or_streamed
Skicka det exakta modell-ID:t tillsammans med messages.
Kontextlängden är inte en utdatagräns.
En textfil kan tillhandahålla bokstavlig text; bild-/ljud-/filobjektsindata kräver exakt bindning.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Standardpris När snabbt läge är valt
- Flex-läge
- Standardpris När läget flex är valt
- Högsta resonemangsnivå
- Standardpris När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Kontexttoken, fler än | Kontexttoken, upp till och med | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Kontexttoken, fler än— | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.000148 / 1K token Utdata · Utdatatoken $0.00059 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
| KonfigurationNivå 1 för förfrågans längd | Prislista— | Kontexttoken, fler än0 | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.000148 / 1K token Utdata · Utdatatoken $0.00059 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
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": "tencent/hy-mt2-30b-a3b", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
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='tencent/hy-mt2-30b-a3b',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
from openai import OpenAI
import os
from pathlib import Path
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)
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))
with client.chat.completions.stream(model='tencent/hy-mt2-30b-a3b',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Ta emot och spara resultat
Ailoot Ultra · OpenAI Chat
json eller SSE
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll varje svarsalternativ och dess innehåll/verktygsanrop/resonemang. Sätt i SSE samman deltauppdateringar efter svarsalternativets/verktygets index och behåll den slutliga avslutsorsaken och användningsuppgifterna.
Om det ursprungliga svaret behöver kontrolleras
Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.
Svarsfält
| Fält | Typ |
|---|---|
Fältchoices[].index | Typinteger |
Fältchoices[].message.content | Typstring|null |
Fältchoices[].message.tool_calls | Typtool_call[] |
Fältchoices[].message.reasoning_content | Typstring |
Fältchoices[].message.reasoning_details | Typobject|array |
Fältchoices[].finish_reason | Typstring|null |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra tencent/hy-mt2-30b-a3b
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
Ailoot Ultra · Anthropic Messages POST /v1/messages tencent/hy-mt2-30b-a3b
tencent/hy-mt2-30b-a3bStart
Tencents Hy-MT2-30B-A3B är MoE-utgåvan av dess snabbtänkande översättningsfamilj. Den hanterar instruktionsstyrd översättning, terminologi och strukturerade data, med en konfiguration på 262 144 positioner och samplingsrekommendationer som skiljer sig från de täta utgåvorna.
- Godkända indata
- Text
- Resultat
- json · sse
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Indatatyper
text- Utdatatyper
json,sse- Utdataformat
- JSON eller SSE
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser tencent/hy-mt2-30b-a3b | Standard— |
Fältmessages | Typmessage[] | KravObligatoriskt | Värden & gränser | Standard— |
Fältmessages[].role | Typstring | KravObligatoriskt | Värden & gränser user, assistant | Standard— |
Fältmessages[].content | Typstring | KravObligatoriskt | Värden & gränser | Standard— |
Fältmax_tokens | Typinteger | KravObligatoriskt | Värden & gränser | Standard— |
Fältstream | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Kombinationer av indatamaterial
Text · UTF-8-text
sträng i messages[].content
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, messages, max_tokens |
Parameteroptional_controls | Avtalstream |
Parametermaterial_types | Avtaltext |
Parametertext_file_material | AvtalLäs det faktiska UTF-8-dokumentet och placera texten i det angivna input-fältet eller i strängen för meddelandets innehåll. |
Livscykel: synchronous_or_streamed
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Standardpris När snabbt läge är valt
- Flex-läge
- Standardpris När läget flex är valt
- Högsta resonemangsnivå
- Standardpris När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Kontexttoken, fler än | Kontexttoken, upp till och med | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Kontexttoken, fler än— | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.000148 / 1K token Utdata · Utdatatoken $0.00059 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
| KonfigurationNivå 1 för förfrågans längd | Prislista— | Kontexttoken, fler än0 | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.000148 / 1K token Utdata · Utdatatoken $0.00059 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Anthropic Messages
{
"model": "tencent/hy-mt2-30b-a3b",
"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': 'tencent/hy-mt2-30b-a3b', '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': 'tencent/hy-mt2-30b-a3b', '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))
Ta emot och spara resultat
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll alla innehållsblock, resonemangssignaturer och faktiska ID:n för verktygsanvändning. Sätt samman alla SSE-deltauppdateringar för blocken; ett första textblock är inte hela utdata.
Om det ursprungliga svaret behöver kontrolleras
Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältmodel | Typstring |
Fältcontent[] | Typtext|thinking|tool_use|other content block |
Fältstop_reason | Typstring|null |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra tencent/hy-mt2-30b-a3b
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Tencent: Hy-MT2-30B-A3B
- Vilka indata och resultat finns?
POST /v1/chat/completions·tencent/hy-mt2-30b-a3b:text→textPOST /v1/messages·tencent/hy-mt2-30b-a3b:text→json,sse- Vilka fält använder begäran?
POST /v1/chat/completions·tencent/hy-mt2-30b-a3b:model,messages,stream,modalities,providerPOST /v1/messages·tencent/hy-mt2-30b-a3b:model,messages,max_tokens,stream- Vilka gränser gäller?
POST /v1/chat/completions·tencent/hy-mt2-30b-a3b:messages.min_items:1