LINUX.ORG.RU
ФорумTalks

Как заставить Midjourney понимать, что ты от неё хочешь?

 


0

2

Вот, например, я хочу арку в городе ночью и море на заднем плане. Оно либо рисует арку в море, либо рисеует арку в море с городом на заднем плане.

Просишь дизельпарнковый ДИЗЕЛЬНЫЙ локомотив - рисует паровоз…

Как его заставить понимать? Вот ChatGPT всё понимает, а рисует плохо, а этот нифига не понимает, а рисует хорошо.

https://cdn.discordapp.com/attachments/1075744889284874338/1075795796823392327/Anixx_pompous_central_magistral_portal_in_a_city_at_night_dark__51da82d4-a896-4628-90a2-f9030c09dce1.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075794987553411203/Anixx_pompous_central_magistral_portal_482344cd-284f-4d7d-9af2-e81db760f115.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075797120902242406/Anixx_pompous_central_magistral_portal_in_a_city_at_night_dark__0145217a-fa56-4a12-8b92-e6f71ed3362d.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075797207355244684/Anixx_pompous_central_magistral_portal_in_a_city_at_night_dark__423e6067-b193-4d1b-860a-2b5ab1c88871.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075794912622149722/Anixx_pompous_central_magistral_portal_1266817f-d0c5-4ab1-8995-f42e680c0464.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075794595578916914/Anixx_pompous_central_magistral_portal_f7d9f3db-acff-4d63-a574-7beb51d56045.png

https://cdn.discordapp.com/attachments/1075744889284874338/1075794581108576397/Anixx_pompous_central_magistral_portal_8511d145-7d3e-4b58-89a3-70370a3c92e9.png

★★★★★
Ответ на: комментарий от shell-script

Увольнять их не пришлось - их просто перекинули на другие задачи.

Так и чиновников не увольняют. Просто проводят реорганизацию департамента, и часть сотрудников переводят без чина в дочернюю организацию. В Москву уходит рапорт - что численность чиновников сокращена. Типа, бюджет сэкономлен.

я по своему опыту и по уровню развития нынешних чатботов(очень низкому) могу сказать, что если они кого и заменяют, то бесполезных людей, которых и скриптами можно заменить.

Я тебе про это и говорю. Многие функции департаментов по работе с населением сейчас передаются в МФЦ. Но делается это в реальности при сильном волевом решении из Москвы. «Снизу» тебе не дадут ничего оптимизировать. Даже добавить индексы в таблицу, чтобы ускорить скрипт с 3 часов до 20 минут, это бывает проблемой. Потому что выгоднее передать эту работу в московскую галеру через тендер, при взаимовыгодных условиях. Молодой человек с кейсом, допустим, приезжает каждую весну продлевать контракт. А работу галеры в итоге выполняют ребята из условного Воронежа.

i_am_not_ai
()
Последнее исправление: i_am_not_ai (всего исправлений: 1)

рисует плохо

вообще не рисует, максимум - генерирует стилизованные под acsii-арт буквы (неправильно).

bo4ok
()
Ответ на: комментарий от Nxx

Простите. Иногда там бывает else для дефолтных ответов.

shell-script ★★★★★
()

Ни ChatGPT, ни Midjourney ничего не понимают, это модели. ChatGPT пытается продолжить текст, Midjourney пытается восстановить картинки из шума по подходящим тегам.

Чтобы на теги дизельного локомотива вылезала картинка, похожая на дизельный локомотив, надо чтобы модель хорошо натренили на картинках этих дизельных локомотивов. Но ожидать от неё понимания разницы между понятиями «дизельный локомотив» и «паровоз» наивно.

Gary ★★★★★
()
Ответ на: комментарий от Gary

«ChatGPT пытается продолжить текст,» - хммм. Когда ему говоришь линуксом претвориться, оно тоже текст продолжает?

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

Попробовал. Рисует ужасно и совсем не то, что просишь. Ничего не понимает. Хуже, чем даже DALL-E.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

Не знаю. Вот какая в песочнице по дефолту. На мазне вообще не понятно, что нарисовано. Промпты те же, что для Midjourney.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

a monarchical bedroom with a monorail line approaching it from other rooms

pompous very big dieselpunk entrance to an industrial facility, in a city at night and heavy traffic through it

pompous dieselpunk central magistral portal, in a city at night and heavy traffic through it

a ballroom with a monorail rail accross it

Nxx ★★★★★
() автор топика
Последнее исправление: Nxx (всего исправлений: 1)

Ты же архитектор.

J ★★★★★
()
Ответ на: комментарий от Nxx

Транскрипция диалога - это тоже текст. Твои реплики - это известная часть, «ответы» уже результат интерполяции, на то она и языковая модель. Отсюда, кстати, и «галлюцинации», и бредовые ответы - смысла текста модель не понимает, знает только что за вопросом обычно идёт ответ.

Gary ★★★★★
()
Ответ на: комментарий от Nxx

мда, такое не генерирует, спальня настойчиво превращается во внутренности вагона. Но зато у нас есть порно с конями!

bo4ok
()
Ответ на: комментарий от Gary

Какая, интерполяция? Какая интерполяция говорит, что по команде ls надо вывести список каталогов? А по просьбе написать следующий ответ большими буквами, надо написать «I AM EXCITED, I AM SHOUTING!»?

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

Если бы можно было крректировать Midjorney как ChatGPT словами, типа, тут исправь перспективу, тут у тебя колёса квадратные, а тут лесенка кривая, было бы вообще круто.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

У Midjourney кровать в поезде часто: https://cdn.discordapp.com/attachments/1075744889284874338/1076927248940142642/zf_a_monarchical_bedroom_with_a_monorail_line_approaching_it_fr_8fe8655d-8efc-4c49-a933-6809baf5dc76.png

(зато, тут точно монорельс - цветы подчёркивают, что поезд им не мешает)

Nxx ★★★★★
() автор топика
Последнее исправление: Nxx (всего исправлений: 1)
Ответ на: комментарий от bo4ok

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

Nxx ★★★★★
() автор топика
Ответ на: комментарий от bo4ok

Основное преимущество Midjourney - это просто кладезь красоты и хорошего вкуса. Всё получается очень красивое. Хотя понимает задание она плохо.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Потому что в технических текстах, которые применялись в тренировке модели, после ls обычно идёт список каталогов. А когда люди явно говорят о написании текста капсом, часто идет речь о том что человек как будто кричит.

Лучше позадавай ей вопросы которые требуют логики, а не нечёткого цитирования. Тогда сразу вылезает наружу какая все это лажа.

Gary ★★★★★
()
Ответ на: комментарий от Nxx

Попроси посчитать конкретные буквы в твоём же предложении

Придумай необычные правила игры, и поиграй. Сам нарушай правила этой игры. Или какие-то необычные требования. Основное условие - должно идти в разрез с привычными запросами, на которых модель тренировали.

Задай вопросы на дедукцию (если все X - Y…), но опять же никаких вопросов про Сократа и человека, ну или сильно его видоизмени.

Раньше она ещё обсиралась на вопросах типа «почему некоторые люди неправильно считают 2+2*2», не знаю перетренирована она ещё или нет.

Попроси решить нерешаемую задачу (типа накодить функцию к несуществующим апи), обьяснить не настоящий феномен, настаивай что 2 меньше 1, etc. Тут часто включается галлюцинация - идёт генерация среднестатистического диалога с твоим контекстом, хотя собеседник должен был тебя остановить.

Gary ★★★★★
()
Ответ на: комментарий от Gary

Ну, просил перевести текст, написанный на прусском языке. Сказала, что этот язык не знает, но некоторые слова похожи на польский, литовский и ещё какой-то.

Просил перевести текст, написаный на иврите латинскими буквами. Определила, что это иврит.

Просил написать на VB6 игру-симулятор запуска космического корабля, где игрок сначала устанавливает параметры двигателей и нагрузки, а потом нажимает «старт» и если параметры неправильные, корабль падает. Написала основу кода, сама сказала, что это только основа и конкретные места можно расписать подробнее. Текст ниже.

'Declare global variables
Dim enginePower As Integer
Dim fuelAmount As Integer
Dim cargoWeight As Integer
Dim thrustVectorX As Integer
Dim thrustVectorY As Integer
Dim launchTiming As Integer

Private Sub Form_Load()
    'Set up the form properties
    Me.Caption = "Spaceship Launch Simulator"
    Me.Width = 800
    Me.Height = 600
    Me.WindowState = vbNormal
    Me.StartUpPosition = vbCenterScreen

    'Create tabs for different parameters
    Dim tabEngine As TabStrip
    Set tabEngine = Me.Controls.Add("VB.TabStrip", "tabEngine")
    tabEngine.Width = Me.Width
    tabEngine.Height = Me.Height - 50

    Dim tabFuel As TabStrip
    Set tabFuel = Me.Controls.Add("VB.TabStrip", "tabFuel")
    tabFuel.Width = Me.Width
    tabFuel.Height = Me.Height - 50

    Dim tabCargo As TabStrip
    Set tabCargo = Me.Controls.Add("VB.TabStrip", "tabCargo")
    tabCargo.Width = Me.Width
    tabCargo.Height = Me.Height - 50

    Dim tabThrust As TabStrip
    Set tabThrust = Me.Controls.Add("VB.TabStrip", "tabThrust")
    tabThrust.Width = Me.Width
    tabThrust.Height = Me.Height - 50

    Dim tabTiming As TabStrip
    Set tabTiming = Me.Controls.Add("VB.TabStrip", "tabTiming")
    tabTiming.Width = Me.Width
    tabTiming.Height = Me.Height - 50

    'Add controls for each tab
    'Tab 1: Engine
    Dim lblEnginePower As Label
    Set lblEnginePower = tabEngine.Controls.Add("VB.Label", "lblEnginePower")
    lblEnginePower.Caption = "Engine Power:"
    lblEnginePower.Left = 50
    lblEnginePower.Top = 50

    Dim txtEnginePower As TextBox
    Set txtEnginePower = tabEngine.Controls.Add("VB.TextBox", "txtEnginePower")
    txtEnginePower.Left = 150
    txtEnginePower.Top = 50

    'Tab 2: Fuel
    Dim lblFuelAmount As Label
    Set lblFuelAmount = tabFuel.Controls.Add("VB.Label", "lblFuelAmount")
    lblFuelAmount.Caption = "Fuel Amount:"
    lblFuelAmount.Left = 50
    lblFuelAmount.Top = 50

    Dim txtFuelAmount As TextBox
    Set txtFuelAmount = tabFuel.Controls.Add("VB.TextBox", "txtFuelAmount")
    txtFuelAmount.Left = 150
    txtFuelAmount.Top = 50

    'Tab 3: Cargo
    Dim lblCargoWeight As Label
    Set lblCargoWeight = tabCargo.Controls.Add("VB.Label", "lblCargoWeight")
    lblCargoWeight.Caption = "Cargo Weight:"
    lblCargoWeight.Left = 50
	lblCargoWeight.Top = 50
	Dim txtCargoWeight As TextBox
	Set txtCargoWeight = tabCargo.Controls.Add("VB.TextBox", "txtCargoWeight")
	txtCargoWeight.Left = 150
	txtCargoWeight.Top = 50

	'Tab 4: Thrust
	Dim lblThrustVectorX As Label
	Set lblThrustVectorX = tabThrust.Controls.Add("VB.Label", "lblThrustVectorX")
	lblThrustVectorX.Caption = "Thrust Vector X:"
	lblThrustVectorX.Left = 50
	lblThrustVectorX.Top = 50

	Dim txtThrustVectorX As TextBox
	Set txtThrustVectorX = tabThrust.Controls.Add("VB.TextBox", "txtThrustVectorX")
	txtThrustVectorX.Left = 150
	txtThrustVectorX.Top = 50

	Dim lblThrustVectorY As Label
	Set lblThrustVectorY = tabThrust.Controls.Add("VB.Label", "lblThrustVectorY")
	lblThrustVectorY.Caption = "Thrust Vector Y:"
	lblThrustVectorY.Left = 50
	lblThrustVectorY.Top = 100

	Dim txtThrustVectorY As TextBox
	Set txtThrustVectorY = tabThrust.Controls.Add("VB.TextBox", "txtThrustVectorY")
	txtThrustVectorY.Left = 150
	txtThrustVectorY.Top = 100

	'Tab 5: Timing
	Dim lblLaunchTiming As Label
	Set lblLaunchTiming = tabTiming.Controls.Add("VB.Label", "lblLaunchTiming")
	lblLaunchTiming.Caption = "Launch Timing:"
	lblLaunchTiming.Left = 50
	lblLaunchTiming.Top = 50

	Dim txtLaunchTiming As TextBox
	Set txtLaunchTiming = tabTiming.Controls.Add("VB.TextBox", "txtLaunchTiming")
	txtLaunchTiming.Left = 150
	txtLaunchTiming.Top = 50

	'Add launch button
	Dim cmdLaunch As CommandButton
	Set cmdLaunch = Me.Controls.Add("VB.CommandButton", "cmdLaunch")
	cmdLaunch.Caption = "Launch"
	cmdLaunch.Width = 75
	cmdLaunch.Height = 25
	cmdLaunch.Top = Me.Height - 50
	cmdLaunch.Left = (Me.Width / 2) - (cmdLaunch.Width / 2)

	cmdLaunch.Enabled = True
End Sub

Private Sub cmdLaunch_Click()

	'Get values from form controls
	enginePower = Val(txtEnginePower.Text)
	fuelAmount = Val(txtFuelAmount.Text)
	cargoWeight = Val(txtCargoWeight.Text)
	thrustVectorX = Val(txtThrustVectorX.Text)
	thrustVectorY = Val(txtThrustVectorY.Text)
	launchTiming = Val(txtLaunchTiming.Text)
	
	'Validate input
	If enginePower <= 0 Or fuelAmount <= 0 Or
		cargoWeight < 0 Or thrustVectorX < 0 Or thrustVectorY < 0 Or launchTiming < 0 Then
		MsgBox "Invalid input, please check the values and try again.", vbCritical
		Exit Sub
	End If

	'Simulate launch and check for crash
	Dim crash As Boolean
	crash = CheckForCrash(enginePower, fuelAmount, cargoWeight, thrustVectorX, thrustVectorY, launchTiming)

	If crash = True Then
		'Show animation of crash
		'Show log of issues
		'Highlight incorrect fields in red with comments
	Else
		'Show animation of successful launch
	End If

End Sub

Private Function CheckForCrash(enginePower As Integer, fuelAmount As Integer, cargoWeight As Integer, thrustVectorX As Integer, thrustVectorY As Integer, launchTiming As Integer) As Boolean
	'Check for crash by comparing input values to a set of predetermined crash conditions
	'Return true if crash occurs, false otherwise
	'...
End Function

Просил симулировать ленина. В качестве Ленина спросила меня, победил ли социализм в 21 веке и когда узнала, что нет, за ленина расстроилась и спросила о причинах. При этом после каждой фразы «ленина», писала в квадратных скобках обоснование, почему Ленин мог бы так сказать. То есть, это не надёргивание и перемешивание цитат из Ленина, а рассуждение.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Gary

Попроси посчитать конкретные буквы в твоём же предложении

Попросил. Посчитала, но с ошибкой. Ошибку признала, сказала, что пересчитала и я прав.

Считаю, что неточности и ошибки такого рода ни о чем не говорят, человек тоже может ошибиться.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Если бы она «поняла» что ты он неё хочешь она бы не могла ошибиться в посчете букв, она железная.

Если хочешь более яркий пример спроси её о чём-то или о ком-то, что легко нагуглить, но при этом не топ 1000 статей википедии. Она не признается что ни черта не знает, она сгенерит всякую дичь. Вот что мне написала:

«Gumiho» is the username of a professional StarCraft II player from South Korea named Lee «Seung Hyun» who played for the team called «Team EnVyUs.» He was born on August 23, 1993, and began his StarCraft II career in 2010.

ya-betmen ★★★★★
()

Хехе, а художник бы и понимал плохо и рисовал бы долго. Вот представь сколько времени занял бы у тебя весь этот диалог с художником не понимающим в дизельпанке?

R_He_Po6oT ★★★★★
()
Ответ на: комментарий от Nxx

Наивняк, если ей говорить что она не права, она будет зачастую признавать ошибку, даже если на самом деле она права. Так ее можно было «убедить» что 2<1, например.

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

Это не признание ошибки, это очередной среднестатистический диалог.

Gary ★★★★★
()
Ответ на: комментарий от ya-betmen

А вот например топ 10 песен Летова:

Всё идёт по плану (Everything is Going According to Plan)

Русская поляна (Russian Meadow)

Голый толк (Naked Talk)

Актёры пьют водку (Actors Drink Vodka)

Гражданская оборона (Civil Defense)

Я иду (I'm Walking)

Закрой за мной дверь, я ухожу (Close the Door Behind Me, I'm Leaving)

Сто лет в одном городе (A Hundred Years in One City)

Моя оборона (My Defense)

Невеста во сне (Bride in a Dream)

ya-betmen ★★★★★
()
Ответ на: комментарий от Nxx

Короче ты не понял что надо спрашивать, спросил по Ленина, получил про коммунизм? Вот это поворот. Ещё раз, нужно задавать вопросы требующие логики, а не разбора грамматики/предложения, с этим (и последующим надергиванием и переформулировкой датасета) языковая модель как раз справляется на ура.

Gary ★★★★★
()
Ответ на: комментарий от Gary

Достаточно спрашивать то что в вики не лежит на одной странице. Оно очень творчески подходит к процессу. Прямо текстовый дипдрим.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Если бы она «поняла» что ты он неё хочешь она бы не могла ошибиться в посчете букв, она железная.

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

Она не признается что ни черта не знает, она сгенерит всякую дичь.

Как студент на экзамене. Иногда сочиняет, иногда признаётся, что не знает.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Gary

Так ее можно было «убедить» что 2<1, например.

Не во всём её убедить можно. Например, пытался её с аргументами убедить, что до появления слова «интернет» интернет назывался «телеграф».

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Gary

Ещё раз, нужно задавать вопросы требующие логики, а не разбора грамматики/предложения, с этим (и последующим надергиванием и переформулировкой датасета) языковая модель как раз справляется на ура.

Если она в принципе отвечает на вопрос, но неправильно, это только вопрос объёма модели и/или контроля качества вывода и в последующих версиях радикально улучшится. Также как она и некоторые ЯП плохо знает.

Nxx ★★★★★
() автор топика
Последнее исправление: Nxx (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)