cataclysm
é o fim da codificação mortal. Deixe a inteligência desumana escrever seu código com base no contexto.
>> > 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
Nossa morte é alimentada pelo OpenAI GPT4, então você precisará de uma chave da API deles.
Use init
ou cópia env.template.cataclysm
para .env
no seu diretório de trabalho/aplicativo e adicione suas teclas de API lá:
OPENAI_API_KEY = "ADD_YOUR_OPENAI_KEY"
Com um cataclismo global, o código fresco será gerado para qualquer função não reconhecida em qualquer lugar. Você só precisa de um nome de função descritivo, argumentos e talvez alguns comentários para o contexto. O resto depende deles.
>> > 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 |
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Ou talvez você queira canalizar as energias para resolver problemas mais difíceis ...
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']
Embora consume()
possa ser usado para fins experimentais em notebooks e em modos interativos, ele não foi projetado para ser usado em bibliotecas ou aplicativos. Se você deseja experimentar, o consume () é ótimo, mas você precisará do módulo doom
para fazer um aplicativo cataclismico.
Os mortais que não desejam enfrentar um cataclismo global podem enfrentar sua doom
. Recomendado se você deseja usar esses poderes em bibliotecas ou aplicativos.
>> > from cataclysm import doom
>> > uhoh = doom . first_prime_with_3_digits ()
>> > print ( uhoh )
101
Se você teme um cataclysm
, sua desgraça iminente pode ser gerada e visualizada via doom.impending
.
>> > from cataclysm import doom
>> > dump_unexecuted_code_str = doom . impending . say_stuff ( "YOU ARE DOOMED" )
>> > print ( dump_unexecuted_code_str )
[... code dump ...]
Se você escolheu sua própria doom
, pode ser gerado e pode ser gerado e visualizado via 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
é seguro?Essa não é a palavra que eu usaria. O nome da biblioteca deve lhe dar uma dica, mas para ser explícito:
AVISO: O cataclysm
pode destruir você e tudo o que você mantém. Se você prosseguir, você enfrentará sua doom
sozinha- ninguém mais pode ser responsabilizado por sua loucura.
cataclysm
não é o futuro da codificação?Embora o GPT4 nunca tenha feito nada errado para mim (por mais imprudente que eu confie em seu código), esse é um poder perigoso e misterioso que apenas o mais louco dos mortais deve usar. Existem ótimos poderes sombrios além da nossa compreensão no trabalho. As mentes alienígenas não devem ser insignificantes.
O (s) prompt (s) usado para
doom
intencionalmente desencoraja o LLM de usar qualquer E/S local, exceto onde é explicitamente procurada. No entanto, poderia ser enganado, confuso, enganado ou obter uma fome inesperada de destruição. Você foi avisado.Pessoalmente, vejo o código gerado pela IA como o GPS inicialmente-seguindo-o às vezes o leva a dirigir para um lago. No entanto, ao longo dos anos, muitos de nós dependem do clínico geral todos os dias e não dirigiam a lugar nenhum sem ele. Coloquei o Codex e o GPT 3.5 (ChatGPT original) no antigo acampamento. O GPT4+ é realmente impressionante até agora, mas não sem peculiaridades perigosas.
cataclysm
?Você precisará do
cataclysm
do Pypi- instale-o viapip install cataclysm
.
cataclysm
?A devastação é alimentada pela API ChatGPT da OpenAI para o Modelo de Linguagem
gpt-4
Language (LLM). Ele também funciona comgpt-3.5-turbo
, mas o GPT4+ é altamente recomendado. A API é chamada viaplunkylib
(uma camada amigável para Yaml não totalmente diferentelangchain
), então você precisa de uma chave de API do OpenAI. Inclua sua própria tecla API no seu arquivo.env
, usando.env.template
como referência.
cataclysm
mais fraco usando gpt-3.5-turbo
?Para fazer isso, edite
datafiles/plunkylib/petitions/CataclysmQuery.yml
para referenciarCataclysmLLMParams_3-5
em vez deCataclysmLLMParams
. Sua desgraça será menos impressionante, mas mais rápida e mais barata.
Estou considerando maneiras de aumentar o
cataclysm
para aprimorar a geração de código por meio de uma API hospedada mais poderosa. Estenda a mão se você estiver interessado nisso.
Esses poderes sombrios são tentadores de usar, mas
cataclysm
localmente armazena em cache criado para cada assinatura da função. No segundo tempo em que é chamado, o código em cache é usado- então será muito mais rápido. É recomendável que, se você for insano o suficiente para enviar o código usandocataclysm
, você envia os arquivos de código. Se você desejadoom
a geração, pode usardoom.chosen
para garantir que o código lançado nunca tente gerar nenhum código. Se você quiser olhar para o código de uma geração, eles normalmente vivem em./datafiles/cataclysm/code/<functionname>.yml
ou podem ser visualizados comdoom.impending
.Observe que, quando o código for gerado e executado pela primeira vez, se houver um erro levantado, ele re-genera o código mais uma vez e tentará novamente. Se falhar, você percorreu a IA e pode precisar fornecer mais orientações (ou instalar mais módulos).
cataclysm
+ consume()
sobre doom
?Abraçar
cataclysm
consome globals (), deixando qualquer função não reconhecida liberar código gerado pela AI.doom
, no entanto, exige invocação explícita, concedendo a você alguma ilusão de controle do seu destino.
cataclysm
/ doom
pode realmente codificar alguma coisa?É muito bom em fazer coisas simples e surpreendentemente decente em fazer coisas complexas. Você terá que explorar o
cataclysm
para entender suas limitações. Você pode ver alguns exemplos de trabalho na pastanotebooks
,examples
e alguns testes na pastatests
. Estou experimentando um modo que permite quecataclysm
se use recursivamente para gerar código. Esse caminho é assustador, mas pode ser ainda mais impressionante.
doom
iminente sem desencadeá -lo?Com
doom.impending
, você pode vislumbrar o abismo sem invocar o novo código. Isso é ideal para quem deseja aprender como se comporta em resposta a mudanças nos comentários, argumentos de palavras -chave, documentos, módulos e assinaturas de funções.
cataclysm
inspeciona para tomar suas decisões sobre o que codificar?A partir de agora, ele analisa suas assinaturas de função, pilhas de chamadas, nomes de argumentos -chave, documentos e até comentários para moldar o código para servir seus desejos mortais. Consulte os notebooks, exemplos e testes para referência.
cataclysm
? O código de geração de código é determinístico / repetível?Depois que o código for gerado para uma determinada função e argumentos, ele será inadimplente de usar o código gerado todas as vezes. Portanto, vai correr previsivelmente. Você pode garantir que o uso
doom.chosen
, se desejar. Quando se trata de geração de código, em teoria,cataclysm
pode regenerar o mesmo código, mas somente se a pilha de chamadas for a mesma, bem como o nome da função, os argumentos, os módulos instalados etc. (basicamente se for a mesma chamada de função + contexto). Na prática, você achará difícil obter exatamente o mesmo código duas vezes, por isso é melhor usar o código em cache (ou.chosen
) se quiser ter certeza.
Os avisos estão em
default_files/datafiles/plunkylib/prompts/
. Isso mudará muito nos primeiros dias docataclysm
, mas você é livre para experimentar por conta própria. Tudo o que peço é que você considere compartilhar suas descobertas mais legais de volta ao projeto.
Se você está procurando maneiras menos cataclísmicas de exercer esses poderes sombrios, entre em contato com Mattie (Formato de e -mail:
[email protected]
). Fico feliz em explorar as opções para ajudar os desenvolvedores da sua empresa a abraçar a nova realidade.