Qwen2 7B Instruct
Qwen2-7B-Instruct è un modello testuale ottimizzato per seguire istruzioni, destinato a dialogo multilingue, programmazione, matematica e ragionamento. Il produttore documenta un contesto fino a 131.072 token quando la configurazione per contesti lunghi è abilitata.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen2-7b-instruct - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen2-7b-instruct
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Qwen2-7B-Instruct è l’edizione di dimensione 7B di Qwen2 ottimizzata per seguire istruzioni, destinata a conversazione e compiti espressi in linguaggio naturale. È un modello con input e output testuali: la risposta può essere una spiegazione, una traduzione, una bozza di documento o codice di programma. Il produttore identifica comprensione linguistica, generazione, lavoro multilingue, programmazione, matematica e ragionamento come principali ambiti d’uso.
Dettagli del modello
Qwen2 include versioni base e ottimizzate per seguire istruzioni separate. Questa scheda riguarda l’edizione Instruct, non il modello base Qwen2-7B o la versione mixture-of-experts della famiglia. La tabella informativa del produttore indica 7,07 miliardi di parametri per il modello di dimensione 7B. Il Transformer decoder usa SwiGLU, bias QKV dell’attenzione e attenzione a query raggruppate, con un tokenizzatore progettato per linguaggi naturali e codice. Sono scelte di architettura e rappresentazione, non modalità di input aggiuntive.
L’annuncio della versione descrive l’addestramento in inglese e cinese più altre 27 lingue. Comprendono russo, ceco e polacco; tedesco, francese e spagnolo; arabo, persiano e turco; giapponese e coreano; e altre lingue dell’Asia meridionale e sudorientale. Un assistente multilingue può quindi ricevere istruzioni e materiale sorgente in lingue diverse, ma è comunque opportuno specificare lingua, terminologia e pubblico del risultato finale.
Addestramento e distinzione di Instruct
Dopo il preaddestramento, il produttore usa fine-tuning supervisionato e ottimizzazione diretta delle preferenze. L’edizione ottimizzata per seguire istruzioni è destinata a rispondere a una richiesta in una conversazione, mentre l’edizione base ha un ruolo diverso come fondamento di un modello linguistico. Mantieni esplicito il nome dell’edizione quando scegli un modello o confronti il comportamento dei prompt. Addestrare un modello a seguire istruzioni e fornire un’istruzione precisa al momento dell’uso sono parti complementari di quel flusso.
Preparazione di un input conversazionale
L’avvio rapido della scheda separa un’istruzione di sistema dalla domanda dell’utente e applica il template di chat corrispondente prima della generazione. Per un compito applicativo, la stessa distinzione pratica è utile: definisci ruolo dell’assistente e regole della risposta separatamente dal passaggio o codice sorgente su cui deve lavorare. Un’etichetta testuale scritta in un documento non sostituisce ruoli conversazionali correttamente formattati nell’interfaccia circostante.
Un compito di spiegazione tecnica può fornire una funzione e un esempio di input, poi chiedere cosa fa ogni ramo e quali condizioni influenzano il risultato. Un compito di programmazione può specificare input accettato, valore restituito previsto e vincoli sulle modifiche al comportamento esistente. Chiedi l’implementazione seguita da esempi per un caso normale e uno limite. Sono applicazioni delle capacità linguistiche e di programmazione documentate; generare codice è un risultato testuale, mentre l’esecuzione appartiene all’ambiente applicativo.
Per una revisione multilingue, fornisci il passaggio originale, il pubblico di destinazione e un piccolo elenco terminologico. Chiedi una revisione che mantenga nomi e condizioni originali, poi una breve spiegazione delle modifiche. È più specifico di una richiesta di migliorare il testo: definisce quale significato deve sopravvivere e quale output utilizzabile va restituito.
Elaborazione di testi lunghi
Il produttore documenta un contesto fino a 131.072 token, ma le istruzioni per i contesti lunghi sono importanti. Input oltre 32.768 token richiedono la configurazione di estensione YaRN documentata. L’esempio pubblicato usa un fattore di scalatura di 4,0 con un’impostazione originale delle posizioni di 32.768. Il produttore osserva che l’estensione statica può influire sul comportamento con testi più brevi e consiglia di abilitarla quando serve effettivamente elaborare contesti lunghi.
Prepara un compito su un documento lungo con una domanda mirata, sezioni sorgente con un nome e una struttura di output esplicita. Per esempio, fornisci più parti di una specifica tecnica e chiedi i requisiti pertinenti a una determinata modifica, mantenendo la sezione sorgente accanto a ogni riscontro. Una grande finestra di input è utile per conservare insieme quelle parti; la risposta può comunque essere una tabella compatta anziché una ripetizione dell’intero documento.
Limiti importanti
La cifra di 131.072 token indica supporto per il contesto esteso, non il permesso di ignorarne la configurazione. I 512 token generati nell’esempio di avvio rapido sono un’impostazione di esempio, non una capacità massima di output pubblicata. Questa versione Instruct è un modello testuale e non deve ereditare capacità di immagine o video da Qwen-VL, o l’addestramento matematico specializzato con strumenti integrati di Qwen2.5-Math. Scegli l’edizione con il suo nome e prepara il testo per la specifica spiegazione, il codice o il documento necessario.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2-7b-instruct
qwen2-7b-instructIntroduzione
Qwen2-7B-Instruct è un modello testuale ottimizzato per seguire istruzioni, destinato a dialogo multilingue, programmazione, matematica e ragionamento. Il produttore documenta un contesto fino a 131.072 token quando la configurazione per contesti lunghi è abilitata.
- Input accettati
- Testo
- Risultati
- Testo
Disponibile in Ailoot · input e metodi
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Tipi di input
text- Tipi di output
text- Formato di output
- json o SSE
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti qwen2-7b-instruct | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori e limiti Dipende dal modello | Predefinito— |
Campomessages[].content | Tipostring | RequisitoFacoltativo | Valori e limiti Si applica quando: Conversazione testuale | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Combinazioni di materiali in input
Testo · Testo UTF8
messages[].content
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages |
Parametromaterial_types | Contrattotext |
Parametromessages | ContrattoArray di messaggi con struttura role/content |
Parametrofile_material | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
Parametrooptional_controls | Contrattostream |
Parametrocontrol_scope | ContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false. |
Parametrooutput_modalities | Contrattotext |
Parametrohosted_operations | Contrattofalse |
Parametromultimodal_input_binding | Contrattonull |
Alias del metodo: /chat/completions
Ciclo di vita: synchronous_or_streamed
Invia l’ID esatto del modello con messages.
La lunghezza del contesto non è un limite di uscita.
Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe Ailoot
Prezzi per configurazione
| Configurazione | Listino delle tariffe | Costo |
|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input $0.000286 / 1K token Output · Token in output $0.00058 / 1K token Input · Lettura dalla cache $0 / 1K token Input · Scrittura nella cache $0 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
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":"qwen2-7b-instruct","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="qwen2-7b-instruct", 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"))
Ricevi e salva i risultati
Ailoot Ultra · OpenAI Chat
json o SSE
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.
Se occorre verificare la risposta originale
Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.
Campi della risposta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra qwen2-7b-instruct
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2-7b-instruct
qwen2-7b-instructIntroduzione
Qwen2-7B-Instruct è un modello testuale ottimizzato per seguire istruzioni, destinato a dialogo multilingue, programmazione, matematica e ragionamento. Il produttore documenta un contesto fino a 131.072 token quando la configurazione per contesti lunghi è abilitata.
- Input accettati
- Testo
- Risultati
- json · sse
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Tipi di input
text- Tipi di output
json,sse- Formato di output
- JSON o SSE
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti qwen2-7b-instruct | Predefinito— |
Campomessages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomessages[].role | Tipostring | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
Campomessages[].content | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campomax_tokens | Tipointeger | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campostream | Tipoboolean | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |
Combinazioni di materiali in input
Testo · Testo UTF-8
Stringa messages[].content
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, messages, max_tokens |
Parametrooptional_controls | Contrattostream |
Parametromaterial_types | Contrattotext |
Parametrotext_file_material | ContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio. |
Ciclo di vita: synchronous_or_streamed
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe Ailoot
Prezzi per configurazione
| Configurazione | Listino delle tariffe | Costo |
|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input $0.000286 / 1K token Output · Token in output $0.00058 / 1K token Input · Lettura dalla cache $0 / 1K token Input · Scrittura nella cache $0 / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Anthropic Messages
{
"model": "qwen2-7b-instruct",
"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': 'qwen2-7b-instruct', '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': 'qwen2-7b-instruct', '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))
Ricevi e salva i risultati
Ailoot Ultra · Anthropic Messages
JSON o SSE
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.
Se occorre verificare la risposta originale
Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra qwen2-7b-instruct
Alias dei percorsi dei metodi
/chat/completions
ID di chiamata correlati
FAQ · Pro/Qwen/Qwen2-7B-Instruct
- Quali input e risultati sono disponibili?
POST /v1/chat/completions·qwen2-7b-instruct:text→textPOST /v1/messages·qwen2-7b-instruct:text→json,sse- Quali campi usa la richiesta?
POST /v1/chat/completions·qwen2-7b-instruct:model,messages,streamPOST /v1/messages·qwen2-7b-instruct:model,messages,max_tokens,stream- Quali limiti si applicano?
POST /v1/chat/completions·qwen2-7b-instruct:messages.min_items:1