Search
Write a publication
Pull to refresh

ChatGPT + компьютерное зрение

Level of difficultyEasy

Я занимаюсь разработкой своего ChatGPT Telegram бота на Python. Мне пришла идея использовать компьютерное зрение для поиска текста на изображение, для составления запроса в ChatGPT.

В этой статье мы рассмотрим реализацию и примеры работы ChatGPT с компьютерным зрением.

Реализация

Tesseract — это популярный движок OCR с открытым исходным кодом, который был предварительно обучен для поддержки более 100 языков. В этой статье мы используем Python-tesseract (pytesseract), оболочку Python для Tesseract, которая позволяет использовать Tesseract с Python.

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

Скачать здесь - https://digi.bib.uni-mannheim.de/tesseract/

pip install pytesseract

import pytesseract


pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
print(pytesseract.image_to_string('test.jpg'))

Вместе с ChatGPT получится что то такое

pip install openai

import pytesseract
import openai


pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
openai.api_key = 'key'

image_to_string = pytesseract.image_to_string('test.jpg', lang='rus+eng')
caption = input()
prompt = caption + image_to_string
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=messages)
print(response["choices"][0]["message"]["content"])

Примеры

Для более наглядного тестирования я добавил эту функцию в своего ChatGPT Telegram бота.

Telegram бот может обрабатывать фотографию в двух режимах:

  • Получение текста с изображения без запроса в ChatGPT. Для этого нужно написать команду /text в подписи к изображению или оставить это поле пустым.

  • Обработка текста с использованием инструкции для ChatGPT. Инструкция (запрос) пишется в подписи к изображению.

Попробуем распознать текст с этой фотографии документа, сделанной на телефон.

Есть неточности, но в целом не плохо.
Есть неточности, но в целом не плохо.

Попробуем решить тестовое задание с применением ChatGPT.

Проверять правильность ответа я конечно же не буду.
Проверять правильность ответа я конечно же не буду.

Как насчет рукописного текста

Рукописный текст печатными буквами распознает раз через раз, пропись нет смысла даже тестировать.
Рукописный текст печатными буквами распознает раз через раз, пропись нет смысла даже тестировать.

Что то из очень смешного

Обработка текста

Как по мне, вполне себе применимая штука получилась. Может пригодится. Все примеры вы можете опробовать сами, воспользовавшись моим Telegram ботом.

Такому боту зрение не поможет))
Такому боту зрение не поможет))

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.