modellar

Mistral: Mistral Small 4 (batch)

Markdown · JSON

Mistral: Mistral Small 4 (batch)

Mistral Small 4 — ko‘rsatma, mulohaza va dasturlash imkoniyatlariga ega gibrid matn va tasvir modeli. Uning 119B ekspertlar aralashmasi relizi har bir token uchun 6,5B parametrni faollashtiradi hamda ishlab chiqaruvchi ko‘rsatgan 256k kontekst, tanlanadigan mulohaza darajasi, JSON va funksiya chaqiruvlarini qo‘llaydi.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

Mistral Small 4 umumiy ko‘rsatmalarni bajarish, mulohaza yuritish va dasturlashni bitta multimodal modelda birlashtiradi. Ishlab chiqaruvchi uni Instruct, Magistral mulohaza va Devstral dasturlash oilalarini birlashtiruvchi model sifatida ta’riflaydi. U matn va tasvirlarni qabul qilib, matn qaytaradi; vositalar yordamidagi ilovalar uchun funksiya chaqiruvlari va JSON natija mavjud.

Arxitektura va asosiy imkoniyatlar

Reliz jami 119 milliard parametrga ega va har bir token uchun 6,5 milliardini faollashtiradi. Uning ekspertlar aralashmasi arxitekturasida 128 ekspert bor, ulardan 4 tasi faol; ishlab chiqaruvchi 256k kontekst oynasini hujjatlashtiradi. Faol parametrlar va ekspertlar soni model qanday tuzilganini ta’riflaydi; ular bitta vazifaga kiritilgan matn yoki tasvir mazmuni hajmidan farq qiladi.

Model ayni saqlangan holatda ko‘rsatma va mulohaza imkoniyatlarini beradi. Ishlab chiqaruvchi vizual tushunish, tizim promptiga rioya qilish va ingliz, fransuz, ispan, nemis, italyan, portugal, niderland, xitoy, yapon, koreys va arab tillarini ham o‘z ichiga olgan o‘nlab tillar qo‘llab-quvvatlanishini ham ko‘rsatadi. Shunday qilib, matnli ko‘rsatma tasvir haqida so‘rashi yoki yozma talabni ko‘rinadigan dalil bilan birlashtirishi mumkin; javob matn sifatida qaytariladi.

Vizual vazifa hujjat sahifasini berib, nomlangan shartga tegishli qiymatlarni so‘rashi mumkin. Belgilar va birliklarni o‘qiladigan saqlang hamda natija asl ifodani saqlashi, umumlashtirishi yoki boshqa manba bilan taqqoslashi kerakligini ayting. Interfeys vazifasi skrinshotni foydalanuvchi maqsadi bilan birlashtirib, tegishli ko‘rinadigan boshqaruv va taklif etilgan keyingi qadamni asoslaydigan dalilni so‘rashi mumkin.

Ko‘rsatma yoki mulohaza rejimini tanlash

Chiqarilgan karta darhol ko‘rsatma uslubidagi javob uchun reasoning effort none, mulohaza uchun esa high qiymatini hujjatlashtiradi; high murakkab promptlar uchun tavsiya qilinadi. Tanlov ayni Small 4 modeli ichida har bir so‘rov uchun qilinadi. Oddiy tasniflash yoki qisqa qayta yozish natijasining talablari kengaytirilgan tushuntirishga muhtoj matematik, vizual yoki kod masalasidan farq qilishi mumkin.

Ishlab chiqaruvchi yuqori mulohaza darajasi uchun temperature 0.7 ni tavsiya qiladi. none uchun vazifaga qarab 0.0 dan 0.7 gacha temperature ko‘rsatilgan. Bu sozlamalar hujjatlashtirilgan rejimlarni ta’riflaydi va mulohaza darajasini to‘g‘ri natija kafolatiga aylantirmaydi. Vazifaga qancha mulohaza kerakligini tanlashdan oldin taxminlar, natija shakli va tegishli manba materialini belgilang.

Yechimi ko‘rsatiladigan masala uchun to‘liq shartni bering va muhim asoslangan qadamlar, keyin yakuniy ifodani so‘rang. Kod vazifasi uchun talab, ta’sirlangan funksiya va aniq kirishni bering; taklif etilgan yechimni izoh va misollardan alohida so‘rang. Ishlab chiqaruvchining foydalanish namoyishlari ko‘rsatmalarga rioya qilish, tasvirga qo‘llangan hisoblash vositasi va vizual mulohazani o‘z ichiga olib, matn va vizual dalillar ushbu turli vazifalarga qanday kirishini ko‘rsatadi.

Dasturlash, hujjatlar va vositalar

Model kod bazasini o‘rganish va dasturiy muhandislik agentlari, umumiy yordamchilar, hujjatni tushunish va tadqiqot uchun tavsiya qilinadi. Dasturlash agenti so‘rovi o‘zgartiriladigan modul, saqlanadigan interfeys va hosil bo‘lishi kerak bo‘lgan xatti-harakatni nomlashi mumkin. Tegishli manba va xato dalillarini bering. Model keyingi amal yoki kod o‘zgarishini taklif qilishi mumkin, ilova esa repozitoriyga kirish, bajarish va qayta aloqa bilan ta’minlaydi.

Hujjatdan ma’lumot ajratish uchun kerakli maydonlar va yetishmayotgan ma’lumotni qanday ifodalashni belgilang. Foydali yozuv hujjat identifikatori, manba bayonoti, talqin qilingan talab va ochiq savolni ajratishi mumkin. Ishlab chiqaruvchi xizmat kartasida maxsus tuzilmali natija va hujjat bo‘yicha savol-javobni sanaydi; ikkinchisi til modeli tahlilidan oldin matn va tuzilmani tayyorlash uchun hujjatga ishlov berish va OCRdan foydalanadi. Bevosita tasvir savoli va OCR yordamidagi hujjat jarayoni o‘z kirish tayyorlash tartibini saqlashi kerak.

Funksiya chaqirish aniq tavsiflangan vositalarni talab qiladi. Model funksiyani tanlab argumentlarni yaratadi; ilova amalni bajarib, natijani keyingi javob uchun qaytaradi. Vazifa qidiruv, hisoblash yoki kod amali bo‘lishidan qat’i nazar, ayni mantiq qo‘llanadi. JSON formatlash javobni tartiblaydi, vosita chaqiruvi esa tashqi harakatni so‘raydi; ikkalasini o‘zaro almashtiriladigan natijalar deb qabul qilmaslik kerak.

Xizmat kartasida oldindan ma’lum natijalar, javob prefikslari, paketli ishlov va agent suhbatlari ham sanalgan. Oldindan ma’lum natijalar hujjat yoki kod fayli faqat cheklangan o‘zgarish bilan qayta yaratilishi kerak va qolgan mazmun ma’lum bo‘lganda foydali. Tahrir va saqlanadigan materialni ko‘rsating. Prefiksdan davom ettirish javobning ma’lum boshlanishidan foydalanadi, paketli ishlov esa qo‘shimcha mulohaza rejimiga emas, ishni topshirishga tegishli.

Kontekst va nashr chegaralari

Yozma vazifa, vizual material, suhbat va kerakli javobni hujjatlashtirilgan 256k kontekstga mos rejalashtiring. Chiqarilgan foydalanish misolida 262 144 tokenli kontekst sozlangan, undagi 1 024 tokenli yaratish misoli esa alohida maksimal chiqish sig‘imi emas. O‘qilgan manbalar tanlangan vazifa uzunligi o‘rniga qo‘yiladigan mustaqil qat’iy javob uzunligi limitini bermaydi.

Small 4 o‘zining 119B ekspertlar aralashmasi arxitekturasi va gibrid rejimlariga ega. U Medium 3.5ning 128B zich arxitekturasini yoki Ministral 3ning alohida Instruct va Reasoning nashrlarini meros qilib olmasligi kerak. Ishlab chiqaruvchi alohida kvantlangan va spekulyativ dekodlash materiallarini ham chiqaradi; ular boshqa mazmun modallari emas, alohida joylashtirish materiallaridir. Nomlangan Small 4 relizi va haqiqiy tushuntirish, tuzilmali yozuv yoki kod natijasi uchun so‘ralgan rejimni saqlang.

Ailoot Ultra · Paketli ishlov berish POST /v1/batches mistralai/mistral-small-2603:batch

mistralai/mistral-small-2603:batch

Mistral /mistralai/mistral-small-2603:batch

Boshlash

Mistral Small 4 — ko‘rsatma, mulohaza va dasturlash imkoniyatlariga ega gibrid matn va tasvir modeli. Uning 119B ekspertlar aralashmasi relizi har bir token uchun 6,5B parametrni faollashtiradi hamda ishlab chiqaruvchi ko‘rsatgan 256k kontekst, tanlanadigan mulohaza darajasi, JSON va funksiya chaqiruvlarini qo‘llaydi.

Qabul qilinadigan kirish ma’lumotlari
Matn
Natijalar
Matn

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot Ultra · Paketli ishlov berish POST /v1/batches
Kirish
text
Chiqish
text
Chiqish formati
Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonendpointTurstringTalabMajburiyQiymatlar va cheklovlar
/v1/chat/completions
Standart—
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
mistralai/mistral-small-2603:batch
Standart—
MaydonrequestsTurbatch_item[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Standart—
Maydonrequests[].custom_idTurstringTalabMajburiyQiymatlar va cheklovlarStandart—
Maydonrequests[].body.messagesTurmessage[]TalabMajburiyQiymatlar va cheklovlarStandart—
Maydoncompletion_windowTurstringTalabIxtiyoriyQiymatlar va cheklovlar
24h
Standart—
MaydonproviderTurobject|nullTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonrequests[].body.modelTurstringTalabIxtiyoriyQiymatlar va cheklovlar
mistralai/mistral-small-2603:batch, mistralai/mistral-small-2603
Standart—
Maydonprovider.onlyTurstring[]TalabIxtiyoriyQiymatlar va cheklovlar
mistral
Standart—
Maydonprovider.allow_fallbacksTurboolean|nullTalabIxtiyoriyQiymatlar va cheklovlar
false, null
Standart—
Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablariendpoint, model, requests
Parametrmaterial_typesParametr talablaritext
ParametrrepresentationParametr talablariSo‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud.
Parametrrequest_endpoint_profileParametr talablari/v1/chat/completions
Parametrfile_materialParametr talablariChaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi.
Parametrserialization_orderParametr talablariendpoint, model, provider (agar berilgan bo‘lsa), completion_window (agar berilgan bo‘lsa), requests eng oxirida
Parametroptional_controlsParametr talablariprovider.only, provider.allow_fallbacks, completion_window
Parametrschema_scopeParametr talablariHujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari.

Hayot sikli: asynchronous

GET /v1/batches/{operation_id} · Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh

Tariflar

Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.

Tezkor rejim
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
Ochiq ko‘rsatilgan keshlash narxlari
Yoqilmagan Ochiq ko‘rsatilgan keshlash so‘ralganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.

SozlamaTariflar jadvaliKontekst tokenlari soni bundan ko‘pKontekst tokenlari soni bundan oshmaydi, chegara kiradiTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifKontekst tokenlari soni bundan ko‘p—Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘qTo‘lov
Kirish · Kirish tokenlari $0.00015 / 1K token
Chiqish · Chiqish tokenlari $0.0006 / 1K token
Kirish · Keshdan o‘qish $0.000015 / 1K token
Kirish · Keshga yozish — / 1K token
Kirish · Keshga yozish, 1 soat — / 1K token
SozlamaSo‘rov uzunligi bo‘yicha 1-darajaTariflar jadvali—Kontekst tokenlari soni bundan ko‘p0Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘qTo‘lov
Kirish · Kirish tokenlari $0.00015 / 1K token
Chiqish · Chiqish tokenlari $0.0006 / 1K token
Kirish · Keshdan o‘qish $0.000015 / 1K token
Kirish · Keshga yozish — / 1K token
Kirish · Keshga yozish, 1 soat — / 1K token

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

So‘rov namunalari

Ailoot Ultra · Paketli ishlov berish

curl · Saqlangan sinov namunasiPython HTTP · Mijozning haqiqiy JSONL ma’lumotlariPython · Har bir yakunlangan natijani saqlang
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/mistral-small-2603:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['mistralai/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-small-2603:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

Natijalarni olish va saqlash

Ailoot Ultra · Paketli ishlov berish

Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari

  • GET /v1/batches/{operation_id}
Vazifa holatini tekshirish
curl · asl operatsiya holati
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Barcha tayyor natijalarni saqlash

Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.

Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.

Asl javobni tekshirish kerak bo‘lsa

Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni hech qachon qayta yubormang.

Javob maydonlari
MaydonTur
Maydonresults[].custom_idTurstring
Maydonresults[].response.body.choices[].message.contentTurstring|null
Maydonresults[].errorTurobject|null
MaydonusageTurobject|null
MaydonidTurstring
MaydonmodelTurstring
MaydonendpointTurstring
MaydonstatusTurstring
Maydonrequest_countsTurobject
Maydonresults[].idTurstring
Maydonresults[].response.status_codeTurinteger
Maydonresults[].response.request_idTurstring
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartHujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid.Keyingi qadamHar qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating.
Javob401 · authentication_errorShartAPI kaliti yaroqsiz.Keyingi qadamFoydalanishga ruxsat berilgan Ailoot kalitidan foydalaning.
Javob403 · permission_errorShartPaketli ishlov berish guruhi mavjud emas.Keyingi qadamKalit/guruhning foydalanish huquqini tekshiring.
Javob422 · invalid_request_errorShartPaketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi.Keyingi qadamFoydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning.
Javob422 · price_unavailableShartPaket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi.Keyingi qadamJavobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan foydalaning.
Javob402 · billing_errorShartPaketli ishlov berish uchun zaxira mavjud emas.Keyingi qadamYangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling.
Javob503 · price_unavailableShartPaketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas.Keyingi qadamJavobni saqlang; narxlarni almashtirmang.
Javob503 · api_errorShartTa’minotchining aynan shu yo‘nalishi mavjud emas.Keyingi qadamYo‘nalishni tuzatish uchun javobni saqlang.
Javob503 · result_pending_checkShartDastlabki natijani tekshirish kerak; X-Should-Retry:false.Keyingi qadamDastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang.
Javob404 · not_foundShartPaket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli.Keyingi qadamAynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning.

Taxalluslar

Model taxalluslari

Ailoot Ultra mistralai/mistral-small-2603:batch

Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

Chaqirish uchun tegishli ID lar

mistralai/mistral-small-2603:batch

FAQ · Mistral: Mistral Small 4 (batch)
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/batches · mistralai/mistral-small-2603:batch: text → text

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/batches · mistralai/mistral-small-2603:batch: endpoint, model, requests, completion_window, provider

Qanday cheklovlar amal qiladi?

POST /v1/batches · mistralai/mistral-small-2603:batch: requests.min_items: 1

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi