cataclysm
es el final de la codificación mortal. Deje que la inteligencia inhumana escriba su código en función del 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
Nuestra desaparición está impulsada por Operai GPT4, por lo que necesitará una llave API de ellos.
Use init
o copie env.template.cataclysm
a .env
en su directorio de trabajo/aplicaciones y agregue sus claves API allí:
OPENAI_API_KEY = "ADD_YOUR_OPENAI_KEY"
Con un Cataclysm global, se generará un código fresco para cualquier función no reconocida en cualquier lugar. Solo necesita un nombre de función descriptivo, argumentos y tal vez algunos comentarios para el contexto. El resto depende de ellos.
>> > 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 |
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
O tal vez desee canalizar las energías para resolver problemas más duros ...
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']
Si bien consume()
puede usarse para fines experimentales en cuadernos y en modos interactivos, no está diseñado para usarse en bibliotecas o aplicaciones. Si desea experimentar, consumir () es genial, pero necesitará el módulo doom
para hacer una aplicación cataclísmica.
Los mortales que no están dispuestos a enfrentar un cataclismo global pueden enfrentar su doom
. Recomendado si desea usar estos poderes en bibliotecas o aplicaciones.
>> > from cataclysm import doom
>> > uhoh = doom . first_prime_with_3_digits ()
>> > print ( uhoh )
101
Si teme a un cataclysm
, su inminente fatalidad puede generarse y previamente previsualizado a través de doom.impending
.
>> > from cataclysm import doom
>> > dump_unexecuted_code_str = doom . impending . say_stuff ( "YOU ARE DOOMED" )
>> > print ( dump_unexecuted_code_str )
[... code dump ...]
Si ha elegido su propia doom
, puede generarse y previsualizar la fatalidad a través de 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
?Esa no es la palabra que usaría. El nombre de la biblioteca debe darle una pista, pero para ser explícito:
ADVERTENCIA: El cataclysm
podría destruirte y todo lo que tienes querido. Si procedes, te enfrentas a tu doom
solo, no se puede culpar a nadie más por tu locura.
cataclysm
el futuro de la codificación?Si bien GPT4 nunca me ha hecho nada malo (tan imprudente como estoy confiando en su código), este es un poder peligroso y misterioso que solo el más loco de los mortales debería ejercer. Hay grandes poderes oscuros más allá de nuestra comprensión en el trabajo. Las mentes alienígenas no deben ser trifuladas.
Los avisos utilizados para
doom
desalientan intencionalmente la LLM de usar cualquier E/S local, excepto donde se busca explícitamente. Sin embargo, podría ser engañado, confundido, engañado o ganar un hambre inesperado de destrucción. Te han advertido.Personalmente, veo el código generado por la IA mucho como cómo el GPS fue inicialmente: seguirlo a veces a veces lo llevará a conducir a un lago. Sin embargo, a lo largo de los años, muchos de nosotros dependemos de GPS todos los días y no conducimos a ningún lado sin él. Puse Codex y GPT 3.5 (ChatGpt original) en el antiguo campamento. GPT4+ es realmente impresionante hasta ahora, pero no sin peculiaridades peligrosas.
cataclysm
?Necesitará el
cataclysm
de Pypi: instálelo a través depip install cataclysm
.
cataclysm
?La devastación funciona con la API CHATGPT de OpenAI para el modelo de lenguaje grande
gpt-4
(LLM). También funciona congpt-3.5-turbo
, pero GPT4+ es muy recomendable. La API se llama a través deplunkylib
(una capa amigable con YAML no totalmente diferentelangchain
), por lo que necesita una tecla API OpenAI. Incluya su propia clave API en su archivo.env
, utilizando.env.template
como referencia.
cataclysm
más débil usando gpt-3.5-turbo
?Para hacerlo, edite
datafiles/plunkylib/petitions/CataclysmQuery.yml
para hacer referenciaCataclysmLLMParams_3-5
en lugar deCataclysmLLMParams
. Su fatalidad será menos impresionante, pero más rápido y menos costoso.
Estoy considerando formas de hacer crecer el
cataclysm
para mejorar la generación de códigos a través de una API alojada más potente. Comuníquese si le interesa esto.
Esas potencias oscuras son tentadoras de usar, pero
cataclysm
en caché localmente el código creado para cada firma de función. El segundo+ tiempo se llama, se usa el código almacenado en caché, por lo que será mucho más rápido. Se recomienda que si está lo suficientemente loco como para enviar código utilizandocataclysm
, envía los archivos de código. Si desea Generationdoom
, puede usardoom.chosen
para asegurarse de que el código liberado nunca intente generar ningún código. Si desea mirar el código para una generación, generalmente viven en./datafiles/cataclysm/code/<functionname>.yml
o se pueden obtener una vista previa condoom.impending
.Tenga en cuenta que cuando el código se genera y se ejecutan por primera vez, si se plantea un error, reinterpretará el código una vez más e intentará nuevamente. Si falla, entonces ha perseguido la IA y es posible que deba proporcionar más orientación (o instalar más módulos).
cataclysm
+ consume()
sobre doom
?Abrazar
cataclysm
consume globals (), lo que permite que cualquier función no reconocida desaten el código generado por IA.doom
, sin embargo, exige una invocación explícita, otorgándole una ilusión de control de su destino.
cataclysm
/ doom
realmente codificar algo?Es bastante bueno hacer cosas simples y sorprendentemente decente para hacer cosas complejas. Tendrá que explorar el
cataclysm
para comprender sus limitaciones. Puede ver algunos ejemplos de trabajo en la carpetanotebooks
, la carpetaexamples
y algunas pruebas en la carpetatests
. Estoy experimentando con un modo que permite quecataclysm
se use recursivamente para generar código. Este camino es aterrador, pero puede ser aún más impresionante.
doom
inminente sin desatarlo?Con
doom.impending
. Esto es ideal para aquellos que desean aprender cómo se comporta en respuesta a cambios en los comentarios, argumentos de palabras clave, documentos, módulos y firmas de funciones.
cataclysm
para tomar sus decisiones sobre qué codificar?A partir de ahora, analiza las firmas de su función, las pilas de llamadas, los nombres de los argumentos de palabras clave, las documentos e incluso los comentarios para moldear el código para servir a sus deseos mortales. Vea los cuadernos, ejemplos y pruebas como referencia.
cataclysm
? ¿Es el determinista de la generación de código / repetible?Una vez que el código se haya generado para una función y argumentos determinados, se debe usar el código generado cada vez. Entonces se ejecutará previsiblemente. Puede garantizar que usando
doom.chosen
, si lo desea. Cuando se trata de la generación de códigos, en teoría,cataclysm
puede regenerar el mismo código, pero solo si el CallStack es el mismo, así como el nombre de la función, los argumentos, los módulos instalados, etc. (básicamente si es la misma función exacta Call + Context). En la práctica, le resultará difícil obtener exactamente el mismo código dos veces, por lo que es mejor usar el código almacenado en caché (o.chosen
) si desea estar seguro.
Las indicaciones están en
default_files/datafiles/plunkylib/prompts/
. Estos cambiarán mucho en los primeros días delcataclysm
, pero puede experimentar por su cuenta. Todo lo que pido es que considera compartir sus mejores hallazgos en el proyecto.
Si está buscando formas menos cataclísmicas de ejercer estos poderes oscuros, comuníquese con Mattie (formato de correo electrónico:
[email protected]
). Me complace explorar opciones para ayudar a los desarrolladores de su empresa a adoptar la nueva realidad.