Інтеграція Mistral AI API Mistral Large Small Codestral

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Інтеграція Mistral AI API Mistral Large Small Codestral
Простий
~1 день
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Інтеграція Mistral AI API: Mistral Large, Small, Codestral

Mistral AI — європейський провайдер LLM. Ключові переваги: відповідність GDPR (дані обробляються в ЄС), конкурентна вартість, open-source моделі для локального розгортання. Codestral — спеціалізована кодова модель з підтримкою Fill-in-the-Middle (FIM).

Інтеграція через офіційний SDK

from mistralai import Mistral

client = Mistral(api_key="MISTRAL_API_KEY")

# Базовий виклик
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Привіт"}],
    temperature=0.1,
)
print(response.choices[0].message.content)

# Асинхронність
import asyncio

async def async_chat(prompt: str) -> str:
    response = await client.chat.complete_async(
        model="mistral-small-latest",
        messages=[{"role": "user", "content": prompt}],
    )
    return response.choices[0].message.content

# Потокова передача
with client.chat.stream(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Довгий відповідь"}],
) as stream:
    for event in stream:
        print(event.data.choices[0].delta.content or "", end="")

Function Calling

tools = [{
    "type": "function",
    "function": {
        "name": "search_db",
        "description": "Пошук у корпоративній базі даних",
        "parameters": {
            "type": "object",
            "properties": {
                "query": {"type": "string"},
                "limit": {"type": "integer", "default": 10},
            },
            "required": ["query"]
        }
    }
}]

response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Знайди інформацію про клієнта Іванова"}],
    tools=tools,
    tool_choice="auto",
)

Codestral для коду (FIM)

# Fill-in-the-Middle — заповнення коду між префіксом та суфіксом
fim_response = client.fim.complete(
    model="codestral-latest",
    prompt="def calculate_discount(price: float,",
    suffix=") -> float:\n    return discounted_price",
    temperature=0,
    max_tokens=256,
)
print(fim_response.choices[0].message.content)

# Генерування коду
code_response = client.chat.complete(
    model="codestral-latest",
    messages=[{"role": "user", "content": "Напиши Python функцію для парсингу CSV з обробкою помилок"}],
)

Вбудовування

response = client.embeddings.create(
    model="mistral-embed",
    inputs=["Перший документ", "Другий документ"],
)
embeddings = [item.embedding for item in response.data]

Вартість Mistral (2025)

Модель Вхід (1M) Вихід (1M)
Mistral Large $2 $6
Mistral Small $0.20 $0.60
Codestral $0.20 $0.60
Mistral Embed $0.10

Локальне розгортання через Ollama

ollama pull mistral:7b
ollama pull codestral:22b
# Mistral через Ollama — OpenAI-сумісний API
from openai import OpenAI
local_client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
response = local_client.chat.completions.create(
    model="mistral:7b",
    messages=[{"role": "user", "content": "Привіт"}],
)

Терміни

  • Базова інтеграція: 0.5–1 день
  • Codestral для IDE-асистента: 2–3 дні
  • Локальне розгортання + оптимізація: 1 тиждень