Skip to main content

Распознавание изображений

string (VisionModelEnum)
Enum: "anthropic/claude-3-haiku" "anthropic/claude-3-opus" "anthropic/claude-3-sonnet" "anthropic/claude-3.5-sonnet" "google/gemini-flash-1.5" "google/gemini-pro-1.5" "meta-llama/llama-3.2-90b-vision-instruct" "openai/gpt-4o" "openai/gpt-4o-mini" "qwen/qwen-2-vl-72b-instruct"

Список моделей с поддержкой Vision (OCR)

"anthropic/claude-3-haiku"

Нейросети могут обрабатывать изображения и дополнять ответ контекстом с изображений.

С помощью Vision нейросети могут:

  • понимать текст
  • различать объекты
  • считывать количество предметов
  • считывать диаграммы и графики
  • распознать человеческие эмоции
  • находить различия и дефекты

Как отправить запрос через API

  1. Сгенерировать API_TOKEN
  2. Отправить запрос на https://api.smartbuddy.ru/v1/chat/completions (см. примеры ниже):
  3. По результатам запроса, ваши изображения будут переведены провайдером в стоимость токенов из поля ответа usage.total_tokens (см. пример ответа).

Отправка изображений в кодировке base64

Если у вас локально есть изображение или набор изображений, вы можете передать их в модель в формате, закодированном по алгоритму base64.

import base64
import requests

# Function to encode the image
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')

# Path to your image
image_path = "path_to_your_image.jpg"

# Getting the base64 string
base64_image = encode_image(image_path)

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer API_TOKEN'
}

payload = {
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What’s in this image?"
},
{
"type": "image_url",
"image_url": {
"url": "base64_image"
}
}
]
}
],
"max_tokens": 300
}

response = requests.post("https://api.smartbuddy.ru/v1/chat/completions", headers=headers, json=payload)

print(response.json())

Отправка прямой ссылки на изображение

info

Ссылка в параметре image_url должна быть видна из Интернета.

import requests
import json

url = "https://api.smartbuddy.ru/v1/chat/completions"

payload = json.dumps({
"model": "google/gemini-flash-1.5",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Расскажи что на картинке"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.trinixy.ru/uploads/posts/2017-09/1506092132_kartinki_s_nadpisiami_40.jpg"
}
}
]
}
]
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer API_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Пример ответа

{
"id": "gen-TDeyEFhG1o8UvKkWxWrLvIGsDxV7",
"model": "google/gemini-flash-1.5",
"object": "chat.completion",
"created": 1725899286,
"choices": [
{
"logprobs": null,
"finish_reason": "STOP",
"index": 0,
"message": {
"role": "assistant",
"content": "На картинке изображена спящая кошка на клавиатуре. Подпись на картинке гласит \"Сон для слабаков\". ",
"refusal": ""
}
}
],
"usage": {
"prompt_tokens": 269,
"completion_tokens": 28,
"total_tokens": 297
}
}