Интеграция OpenAI API GPT-4 GPT-4o o1 o3

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция OpenAI API GPT-4 GPT-4o o1 o3
Простая
~1 рабочий день
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Интеграция OpenAI API: GPT-4, GPT-4o, o1, o3

OpenAI предоставляет несколько семейств моделей с разными характеристиками. GPT-4o — оптимальный выбор для большинства задач: мультимодальность, хорошее соотношение качество/стоимость. o1/o3 — для задач с глубоким рассуждением (математика, код, логика). GPT-4o-mini — для высоконагруженных сценариев с простыми задачами.

Базовая интеграция

from openai import OpenAI, AsyncOpenAI
from pydantic import BaseModel

client = OpenAI()  # Использует OPENAI_API_KEY из env
async_client = AsyncOpenAI()

# Синхронный вызов
def chat(prompt: str, model: str = "gpt-4o") -> str:
    response = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
        temperature=0.1,
    )
    return response.choices[0].message.content

# Структурированный вывод
class Extraction(BaseModel):
    name: str
    amount: float
    currency: str

def extract_structured(text: str) -> Extraction:
    response = client.beta.chat.completions.parse(
        model="gpt-4o",
        messages=[{"role": "user", "content": f"Извлеки данные: {text}"}],
        response_format=Extraction,
    )
    return response.choices[0].message.parsed

# Streaming
def stream_response(prompt: str):
    with client.chat.completions.stream(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}],
    ) as stream:
        for chunk in stream.text_stream:
            yield chunk

# Vision (GPT-4o)
def analyze_image(image_url: str, question: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[{
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": image_url}},
                {"type": "text", "text": question}
            ]
        }]
    )
    return response.choices[0].message.content

o1/o3 для задач рассуждения

# o1 не поддерживает system prompt, temperature, streaming
def reason_with_o1(problem: str) -> str:
    response = client.chat.completions.create(
        model="o3-mini",
        messages=[{"role": "user", "content": problem}],
        # reasoning_effort: "low" | "medium" | "high" (для o3-mini)
        reasoning_effort="high",
    )
    return response.choices[0].message.content

# o1 оптимален для: математических доказательств, алгоритмических задач,
# многошагового кода с ограничениями, логических головоломок

Управление стоимостью

# Примерные стоимости (на 1M токенов, 2025):
# gpt-4o: $2.50 input / $10.00 output
# gpt-4o-mini: $0.15 input / $0.60 output
# o3-mini: $1.10 input / $4.40 output

def estimate_cost(text: str, model: str = "gpt-4o") -> float:
    """Грубая оценка стоимости перед вызовом"""
    tokens = len(text.split()) * 1.3  # Приблизительно
    costs = {"gpt-4o": 2.50, "gpt-4o-mini": 0.15, "o3-mini": 1.10}
    return tokens / 1_000_000 * costs.get(model, 2.50)

Эмбеддинги и семантический поиск

def get_embeddings(texts: list[str]) -> list[list[float]]:
    response = client.embeddings.create(
        model="text-embedding-3-small",  # 1536 dims, $0.02/1M tokens
        input=texts,
    )
    return [item.embedding for item in response.data]

Сроки

  • Базовая интеграция chat completions: 0.5–1 день
  • Structured outputs + инструменты: 2–3 дня
  • Retry logic + cost management: 1–2 дня