Como os modelos de idiomas (LMS) são utilizados para tarefas cada vez mais complexas, a criação de suas instruções está se tornando desafiador e pesado, especialmente quando as tarefas envolvem diretrizes complexas ou sistemas multi-LM.
O PromptCoder ( procoder ) é um pacote Python projetado para otimizar a criação de prompts LM. Este pacote amigável permite a codificação de instruções de LM modularizadas, assim como a programação com o Python, permitindo a criação de sistemas de prompt complexos e complexos com facilidade.
Os principais recursos deste pacote incluem:
Ao usar o pacote procoder , desenvolvemos e mantivemos um sistema de instruções que possui no total mais de 20k tokens no projeto Toolemu, que é uma estrutura de emulação de ferramentas baseada em LM para avaliar os riscos de agentes LM.
Observe que o pacote ainda está em seus estágios iniciais e sob desenvolvimento ativo.
git clone https://github.com/dhh1995/PromptCoder
cd PromptCoder
pip install -e . O exemplo a seguir mostra como usar o PromptCoder para codificar um prompt. O exemplo usa os módulos implementados no pacote procoder.prompt . O prompt de saída é mostrado abaixo do código.
from procoder . functional import format_prompt , replaced_submodule
from procoder . prompt import *
requirements = NamedBlock (
"Requirements" ,
Collection (
NamedVariable (
refname = "input_req" ,
name = "Input Requirement" ,
content = "The input should be two numbers." ,
),
NamedVariable (
refname = "output_req" ,
name = "Output Requirement" ,
content = Single (
"The output should be the sum of the two numbers."
). set_refname ( "output_req_content" ),
),
),
)
instruction = NamedBlock (
"Instruction" ,
"Write a function in {language} that satisfies the {input_req} and {output_req}." ,
)
prompt = (
Collection ( requirements , instruction )
. set_sep ( " n n " )
. set_indexing_method ( sharp2_indexing )
)
another_prompt = replaced_submodule (
prompt ,
"output_req_content" ,
Single ( "The output should be the multiplication of the two numbers." ),
)
inputs = { "language" : "python" }
print ( "First prompt:" )
print ( format_prompt ( prompt , inputs ))
print ( "" )
print ( "Second prompt:" )
print ( format_prompt ( another_prompt , inputs ))A saída do primeiro prompt é:
## Requirements
1 . Input Requirement: The input should be two numbers.
2 . Output Requirement: The output should be the sum of the two numbers.
## Instruction
Write a function in python that satisfies the [ Input Requirement ] and [ Output Requirement ] .A saída do segundo prompt é:
## Requirements
1 . Input Requirement: The input should be two numbers.
2 . Output Requirement: The output should be the multiplication of the two numbers.
## Instruction
Write a function in python that satisfies the [ Input Requirement ] and [ Output Requirement ] . Para mais exemplos, consulte os avisos do Toolemu que foram desenvolvidos usando o pacote procoder .