cataclysm
- это конец смертного кодирования. Пусть Inhuman Intelligence напишите ваш код на основе контекста.
>> > from cataclysm import consume
>> > consume ( globals ())
>> > x = get_italicized_phrases_wikipedia ( page = "Global catastrophic risk" , only_lowercase_words = True , min_length = 6 )
>> > print ( x [: 5 ])
[ 'existential risks' , 'existential catastrophe[16]' , 'global' , 'terminal' , 'permanent,' ]
pip install cataclysm
# in your project directory, copy the default datafiles
cataclysm init
Наша кончинка оснащена OpenAI GPT4, поэтому вам понадобится ключ API от них.
Используйте init
или копировать env.template.cataclysm
to .env
в вашем каталоге работы/приложений и добавьте свои ключи API там:
OPENAI_API_KEY = "ADD_YOUR_OPENAI_KEY"
Благодаря глобальному Cataclysm, для любой нераспознанной функции будет создан свежий код. Вам просто нужно описательное имя функции, аргументы и, возможно, некоторые комментарии для контекста. Остальное зависит от них.
>> > from cataclysm import consume
>> > consume ( globals ())
>> > s = "May the gods have mercy on us all"
>> > corrupted = convert_some_words_to_disturbing_unicode_text ( s , "mercy on us" )
>> > print_surrounded_by_ascii_art_of_an_old_scroll ( corrupted , use_wcwidth_for_padding = True )
_________________________
| May the gods have m̜ͯ̂e͂ͦͥr̻̭͗c̳͖̍y̹̋̑ |
| o̵̰͒n̘͋͟ u̜͊ͤs̍͒͑ all |
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Или, может быть, вы хотите направить энергии, чтобы решить более сложные проблемы ...
graph = {
"A" : { "B" : 10 , "C" : 4 },
"B" : { "A" : 1 , "C" : 2 , "D" : 5 },
"C" : { "A" : 4 , "B" : 2 , "D" : 9 },
"D" : { "B" : 5 , "C" : 1 },
}
# Why google it when you can throw yourself headlong into eternity?
shortest_path = find_shortest_path_dijkstra ( graph , "A" , "D" )
print ( f"Shortest path: { shortest_path } " )
Shortest path: ['A', 'C', 'B', 'D']
В то время как consume()
может использоваться для экспериментальных целей в ноутбуках и в интерактивных режимах, он не предназначен для использования в библиотеках или приложениях. Если вы хотите поэкспериментировать, SUCEMOUME () - это здорово, но вам понадобится модуль doom
, чтобы сделать приложение катастрофическим.
Смертные, не желающие встретиться с глобальным катаклизмом, могут столкнуться с их doom
. Рекомендуется, если вы хотите использовать эти полномочия в библиотеках или приложениях.
>> > from cataclysm import doom
>> > uhoh = doom . first_prime_with_3_digits ()
>> > print ( uhoh )
101
Если вы боитесь cataclysm
, ваша надвигающаяся гибель может быть сгенерирована и предварительно просмотрена через doom.impending
.
>> > from cataclysm import doom
>> > dump_unexecuted_code_str = doom . impending . say_stuff ( "YOU ARE DOOMED" )
>> > print ( dump_unexecuted_code_str )
[... code dump ...]
Если вы выбрали свою собственную doom
, вы можете генерировать и предварительно просмотреть предстоящую гибель с помощью doom.impending
.
>> > from cataclysm import doom
>> > dump_unexecuted_code_str = doom . impending . say_stuff ( "YOU ARE DOOMED" )
>> > print ( dump_unexecuted_code_str )
[... code dump ...]
cataclysm
безопасен?Это не слово, которое я бы использовал. Имя библиотеки должно дать вам подсказку, но быть явным:
ПРЕДУПРЕЖДЕНИЕ: cataclysm
может уничтожить вас и все, что вам дороже. Если вы продолжите, вы столкнетесь с doom
в одиночку- никого больше не может быть обвинено в вашей глупости.
cataclysm
будущее кодирования?Хотя GPT4 никогда не делал ничего плохого для меня (так же безрассудно, как я доверяю его кодексу), это опасная и загадочная сила, которой должны обладать только самая безумная смертная. Есть отличные темные силы за пределами нашего понимания на работе. Чужое умы не должны триффировать.
Подсказка (ы), используемые для
doom
, намеренно отговаривает LLM от использования любого локального ввода -вывода, за исключением случаев, когда это явно ищет. И все же это может быть обмануто, смущено, введено в заблуждение или завоевать неожиданный голод за разрушение. Вас предупредили.Я лично вижу, что код, сгенерированный AI, очень похож на то, как GPS изначально был-следуя за ним, иногда приведет вас к въезду в озеро. Тем не менее, с годами многие из нас зависят от GPS каждый день и никуда не будут ездить без него. Я поместил Codex и GPT 3.5 (оригинальный CHATGPT) в бывший лагерь. GPT4+ действительно впечатляет, но не без опасных причуд.
cataclysm
?Вам понадобится
cataclysm
от PYPI- установите его черезpip install cataclysm
.
cataclysm
?Разрушение работает на API Openai CATGPT для большой языковой модели
gpt-4
(LLM). Он также работает сgpt-3.5-turbo
, но настоятельно рекомендуется GPT4+. API называется черезplunkylib
(удобный YAML слой, не совсем отличный отlangchain
), поэтому вам нужен ключ API OpenAI. Включите свой собственный ключ API в свой файл.env
, используя.env.template
в качестве ссылки.
cataclysm
, используя gpt-3.5-turbo
?Для этого отредактируйте
datafiles/plunkylib/petitions/CataclysmQuery.yml
для ссылкиCataclysmLLMParams_3-5
вместоCataclysmLLMParams
. Ваш гибель будет менее впечатляющей, но быстрее и менее дорогой.
Я рассматриваю способы развития
cataclysm
для улучшения генерации кода через более мощный API с более мощным. Обратитесь, если вы будете заинтересованы в этом.
Эти темные силы заманчивы в использовании, но
cataclysm
локально код кэша, созданный для каждой подписи функции. Второе время, которое он называется, используется кэшированный код, так что он будет намного быстрее. Рекомендуется, чтобы, если вы достаточно безумны, чтобы отправить код, используяcataclysm
, вы отправляете файлы кода. Если вы хотитеdoom
генерацию, вы можете использоватьdoom.chosen
, чтобы гарантировать, что выпущенный код никогда не пытается генерировать какой -либо код. Если вы хотите посмотреть на код для поколения, ониdoom.impending
живут в./datafiles/cataclysm/code/<functionname>.yml
Обратите внимание, что когда код впервые сгенерирован и exec'd, если будет вызвана ошибка, он снова развернет код еще раз и попробуйте еще раз. Если это не удастся, вы наткнулись на ИИ, и вам, возможно, потребуется предоставить больше рекомендаций (или установить больше модулей).
cataclysm
+ consume()
над doom
?Охватывание
cataclysm
потребляет Globals (), позволяя любой непризнанной функции развязать код, сгенерированный AI.doom
, однако, требует явного вызова, предоставляя вам иллюзию контроля над вашей судьбой.
cataclysm
/ doom
действительно кодировать что -нибудь?Это довольно хорошо делать простые вещи и удивительно прилично делать сложные вещи. Вам придется исследовать
cataclysm
, чтобы понять его ограничения. Вы можете увидеть несколько рабочих примеров в папкеnotebooks
, папкиexamples
и некоторых тестов в папкеtests
. Я экспериментирую с режимом, который позволяетcataclysm
рекурсивно использовать себя для генерации кода. Этот путь страшный, но может быть еще более впечатляющим.
doom
, не раскрывая ее?С помощью
doom.impending
вы можете увидеть пропасть, не вызывая новый код. Это идеально подходит для тех, кто хочет узнать, как он ведет себя в ответ на изменения в комментариях, аргументы ключевых слов, Docstrings, модули и функциональные подписи.
cataclysm
, чтобы принимать решения о том, что кодировать?На данный момент он рассматривает ваши подписи функции, стеки вызовов, имена аргументов ключевых слов, Docstrings и даже комментарии, чтобы сформировать код для выполнения ваших смертных желаний. См. Записные книжки, примеры и тесты для справки.
cataclysm
? Является ли генерация кода детерминированным / повторяемым?После того, как код был сгенерирован для данной функции и аргументов, он будет по умолчанию для использования сгенерированного кода каждый раз. Так что это будет работать предсказуемо. Вы можете гарантировать, что использование
doom.chosen
, если хотите. Когда дело доходит до генерации кода, теоретически,cataclysm
может регенерировать один и тот же код, но только в том случае, если CallStack одинаковый, а также имя функции, аргументы, установленные модули и т. Д. (В основном, если это то же самое контекст вызовов функции). На практике вам будет трудно получить один и тот же код дважды, поэтому лучше использовать кэшированный код (или.chosen
), если вы хотите быть уверенным.
Подсказки находятся в
default_files/datafiles/plunkylib/prompts/
. Они будут много меняться в первые дниcataclysm
, но вы можете экспериментировать самостоятельно. Все, что я спрашиваю, это то, что вы поделитесь своими самыми крутыми выводами обратно в проект.
Если вы ищете менее катастрофические способы владения этими темными способностями, обратитесь к Мэтти (формат электронной почты:
[email protected]
). Я рад изучить варианты помощи разработчикам вашей компании принять новую реальность.