cataclysm
是致命编码的终结。让不人道的智能基于上下文编写您的代码。
>> > 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
到您的工作/应用程序目录中的.env
并在此处添加API键:
OPENAI_API_KEY = "ADD_YOUR_OPENAI_KEY"
使用全局灾难,将为任何未识别的功能生成新的代码。您只需要一个描述性函数名称,参数以及上下文的一些评论即可。其余的取决于他们。
>> > 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()
可用于笔记本和交互式模式中的实验目的,但它并非被设计用于库或应用程序。如果您想实验,请使用()很棒,但是您需要doom
模块才能使App灾难性崩溃。
凡人不愿面对全球灾难的凡人可能会面临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
Inding生成和预览。
>> > 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从未对我做错任何事情(就像我信任其代码一样鲁ck),但这是一种危险而神秘的力量,只有最疯狂的凡人才能发挥作用。除了我们工作中的理解之外,还有伟大的黑暗力量。外星人的思想不会被束缚。
用于
doom
的提示会故意劝阻LLM使用任何本地I/O,除非明确寻求。然而,它可能会被欺骗,困惑,误导或获得意想不到的破坏饥饿。您已经被警告。我个人看到AI生成的代码很像GPS最初的方式 - 盲目之后有时会导致您开车进入湖泊。然而,多年来,我们中的许多人每天都依靠GP,没有它不会开车。我将Codex和GPT 3.5(原始CHATGPT)放在以前的营地。到目前为止,GPT4+确实令人印象深刻,但并非没有危险的怪癖。
cataclysm
?您需要PYPI中的
cataclysm
- 通过pip install cataclysm
安装它。
cataclysm
?破坏是由Openai的ChatGpt API提供的,用于
gpt-4
大型语言模型(LLM)。它还可以与gpt-3.5-turbo
一起使用,但强烈建议使用GPT4+。 API通过plunkylib
(对YAML友好的层与langchain
完全不同)调用,因此您需要一个OpenAI API键。使用.env.template
作为参考,将自己的API密钥包括在.env
文件中。
gpt-3.5-turbo
尝试较弱的cataclysm
吗?为此,编辑
datafiles/plunkylib/petitions/CataclysmQuery.yml
以参考CataclysmLLMParams_3-5
,而不是CataclysmLLMParams
。您的厄运将不那么令人印象深刻,但更快,更便宜。
我正在考虑通过更强大的托管API来增强代码生成的方法来增强
cataclysm
生成。如果您对此感兴趣,请伸出援手。
这些暗功能很容易使用,但是为每个功能签名创建的
cataclysm
局部caches代码。它被称为第二个+时间,使用了缓存的代码 - 因此它将更快。建议如果您疯狂地使用cataclysm
运送代码文件,则可以运送代码。如果您想生成doom
,则可以使用doom.chosen
选择以确保已发布的代码永远不会尝试生成任何代码。如果您想查看一代代码,它们通常生活在./datafiles/cataclysm/code/<functionname>.yml
yml中,或者可以使用doom.impending
. Invending预览。请注意,当第一次生成代码并执行代码时,如果提出了错误,它将再重新生成代码,然后重试。如果失败了,那么您已经使AI感到困惑,并且可能需要提供更多的指导(或安装更多模块)。
cataclysm
+ consume()
而不是doom
?拥抱
cataclysm
会消耗全球群体(),让任何未识别的功能释放AI生成的代码。但是,doom
需要明确的调用,使您对命运的控制有些幻想。
cataclysm
/ doom
能够真正编码任何东西吗?做简单的事情非常擅长,并且在做复杂的事情方面表现出色。您将必须探索
cataclysm
以了解其局限性。您可以在notebooks
文件夹中看到一些工作示例,examples
文件夹和tests
文件夹中的一些测试。我正在尝试一种模式,该模式允许cataclysm
递归地使用自身来生成代码。这条道路是一条可怕的道路,但可能会更令人印象深刻。
doom
?使用
doom.impending
,您可以瞥见深渊,而无需调用新代码。对于那些想了解其对评论,关键字参数,DocStrings,模块和功能签名的变化的行为的人来说,这是理想的选择。
cataclysm
检查以做出什么代码做出决定?到目前为止,它查看您的功能签名,调用堆栈,关键字参数名称,Docstrings,甚至注释以塑造代码以服务您的致命愿望。请参阅笔记本,示例和测试以获取参考。
cataclysm
吗?代码生成确定性 /可重复吗?一旦为给定函数和参数生成代码,每次使用生成的代码将默认情况下。因此,它将可以预见。您可以保证使用
doom.chosen
(如果需要)。从理论上讲,cataclysm
可以再生相同的代码,但前提是呼叫插场相同,以及功能名称,参数,安装模块等(基本上是相同的确切函数呼叫 +上下文)。在实践中,您会发现很难获得两次完全相同的代码,因此,如果您想确定,最好使用缓存的代码(或.chosen
)。
提示在
default_files/datafiles/plunkylib/prompts/
中。这些将在cataclysm
的早期发生很多变化,但是您可以自己自由进行试验。我要问的是,您考虑将最酷的发现与该项目分享。
如果您正在寻求较少的灾难性方式来挥舞这些黑暗力量,请与Mattie联系(电子邮件格式:
[email protected]
)。我很乐意探索帮助您公司开发人员接受新现实的选择。