Na área de engenharia imediata , o gerenciamento de várias versões de instruções pode se tornar esmagador. Indivíduos e equipes geralmente enfrentam desafios no rastreamento e organização de diferentes tipos de instruções, levando à possibilidade de perder alguns dos melhores.
Uma tentativa experimental de código aberto de facilitar a vida para engenheiros e desenvolvedores rápidos. A maneira desorganizada de gerenciar instruções dificulta o trabalho, por isso, trazemos uma abordagem estruturada para ajudar a levar os engenheiros e desenvolvedores a rastrear, compartilhar e lidar com instruções facilmente com sua equipe. O organizador imediato .
Organização baseada em tarefas : os usuários podem organizar instruções sob diferentes tarefas (resumo, descoberta de tópicos, identificação de intenções etc.), permitindo uma visão clara e categorizada de cada prompt.
Gerenciamento de versões imediatas : Dentro de cada tarefa, os usuários podem criar e gerenciar várias versões de prompts, cada uma com seu conjunto exclusivo de parâmetros.
Visualização de diferenças : os usuários podem aproveitar o recurso integrado 'Show Diff' para visualizar e comparar sem esforço diferenças, acréscimos ou exclusões entre várias versões rápidas, destacadas para facilitar o ponto.
Configuração de parâmetros de prompt : os usuários podem configurar facilmente vários parâmetros, como temperatura, top_p, tokens máximos e limiar para cada versão do prompt.
Rastreamento de status : o aplicativo permite que os usuários defina e rastreiam o status de cada prompt, ajudando na avaliação e otimização rápidas.
Recurso de comentar : Cada versão rápida possui uma caixa de comentários associada, permitindo que os usuários anotem notas ou informações importantes relacionadas ao prompt.
Gerenciamento de prompt do sistema : juntamente com os avisos do usuário, o aplicativo também permite o gerenciamento de avisos do sistema, cada um com seu recurso de comentar.
Salvar e download : os usuários podem salvar seu progresso e baixar os avisos organizados no formato YAML, facilitando o compartilhamento e o armazenamento fáceis.
Integração da YAML para pipelines de desenvolvedores : Este aplicativo facilita perfeitamente os desenvolvedores, permitindo a incorporação direta de arquivos YAML em seus pipelines de desenvolvimento, tornando o processo de desenvolvimento mais intuitivo e menos propenso a erros.
Aplicativo de usuário único : este aplicativo foi projetado atualmente para uso individual, com planos para atualizações futuras para oferecer suporte a vários usuários.
Vá para a pasta "Organizador rápido" e corra:
python app.py
Eu usei Python 3.8
Faça o download do arquivo YAML do organizador rápido e carregue -o usando este método:
import yaml
def read_template():
directory_path = "data.yaml"
yaml_content = ''
with open(directory_path, "r") as f:
try:
yaml_content = yaml.safe_load(f)
except yaml.YAMLError as e:
print(f"Error parsing {directory_path}: {e}")
return yaml_content
def get_prompt(task, version):
yaml_content = read_template()
version = "version"+"_"+str(version)
return yaml_content[task]['prompts']['version_1']["prompt"]
prompt = get_prompt("Intent",1)
def get_parameters(task, version):
yaml_content = read_template()
version = "version"+"_"+str(version)
temp = yaml_content[task]['prompts'][version]['temperature']
top_p = yaml_content[task]['prompts'][version]['top_p']
max_tokens = yaml_content[task]['prompts'][version]['max_tokens']
threshold = yaml_content[task]['prompts'][version]['threshold']
return {"temperature":temp, "top_p":top_p, "max_tokens":max_tokens, "threshold":threshold}
params = get_parameters('Intent',1)
Dentro do rápido, use espaço reservado e substitua -os por conteúdo certo:
Exemplo de prompt:
Estou lhe dando uma passagem e você precisa encontrar as intenções mais importantes que estão tendo alto valor de discussão. Todas as intenções devem estar no formato da string e a pontuação de relevância deve estar no formato de flutuantes. Quaisquer explicações .
Substitua o ## placeholder_1 ## dinamicamente pela passagem de entrada.
passage_content = "Your passage data"
prompt_passage = get_prompt('Intent',1)
prompt_passage = prompt_passage.replace("##placeholder_1##", passage_content)
Use o arquivo Helper.py para usar todos esses métodos.
openai.api_key = 'your-api-key-here'
passage_content = "Your data"
prompt_passage = get_prompt("Intent", 1) # This will provide you the prompt for the specified version and task.
system_prompt = get_sysprompt("Intent", 1) # This will provide you the system prompt for the specified version and task.
prompt_param = get_parameters("Intent", 1) # This will provide you the all parameters for the specified version and task.
prompt_passage = prompt_passage.replace("##placeholder_1##", passage_content)
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
temperature = prompt_param["temperature"],
top_p = prompt_param["top_p"],
max_tokens = prompt_param["max_tokens"],
messages=[
{"role": "system", "content": prompt_passage},
{"role": "user", "content": system_prompt},
]
)
# Extracting response
answer = response['choices'][0]['message']['content']
print(answer)
Ao aderir às etapas descritas, você pode adotar uma abordagem estruturada e sistemática. O organizador rápido o capacita a projetar, examinar meticulosamente e implementar seus avisos com garantia. Isso leva ao desenvolvimento de aplicativos de IA avançados e confiáveis.
Por enquanto, executo este aplicativo do meu projeto para evitar ir e voltar com o arquivo YAML. Todas as minhas modificações permanecem no nível do projeto. A idéia é, em um futuro próximo, tornar essa integração perfeita.
E mais ...
Tudo com facilidade de uso.
Feliz solicitação :