В области быстрого проектирования управление несколькими версиями подсказок может стать ошеломляющим. Люди и команды часто сталкиваются с проблемами в отслеживании и организации различных типов подсказок, что приводит к возможности упустить некоторые из лучших.
Экспериментальная попытка облегчить жизнь инженерам и разработчикам легкой жизни. Неорганизованный способ управления подсказками делает работу трудным, поэтому мы приносим структурированный подход, который поможет подсказывать инженеров и разработчиков отслеживать, обмениваться и легко обрабатывать подсказки со своей командой. Быстрый организатор .
Организация, основанная на задачах : Пользователи могут организовать подсказки в соответствии с различными задачами (суммирование, обнаружение тем, идентификация намерений и т. Д.), Учитывая четкое и категоризированное представление о каждой подсказке.
Управление версиями быстрого управления : В рамках каждой задачи пользователи могут создавать и управлять несколькими версиями подсказок, каждый из которых имеет уникальный набор параметров.
Визуализация различий . Пользователи могут использовать интегрированную функцию «Show Diff», чтобы легко визуализировать и сравнивать различия, дополнения или удаления между различными быстрыми версиями, выделенными для удобного определения.
Конфигурация параметров приглашения : пользователи могут легко настроить различные параметры, такие как температура, TOP_P, MAX -токены и порог для каждой версии подсказки.
Отслеживание состояния : приложение позволяет пользователям устанавливать и отслеживать состояние каждой подсказки, помогая в оценке и оптимизации.
Комментирование функции : каждая версия для подсказки имеет связанное поле для комментариев, позволяющее пользователям аннотировать важные заметки или информацию, связанную с подсказкой.
Управление системными приглашениями : наряду с пользовательскими подсказками, приложение также позволяет управлять системными подсказками, каждое из которых имеет свою функцию комментирования.
Сохранить и скачать : пользователи могут сохранить свой прогресс и загрузить организованные подсказки в формате YAML, облегчая простую обмен и хранение.
Интеграция YAML для конвейеров разработчиков : это приложение плавно облегчает разработчиков, позволяя прямому включению файлов YAML в свои трубопроводы разработки, что делает процесс разработки более интуитивным и менее подверженным ошибкам.
Приложение для одного пользователя : это приложение в настоящее время предназначено для индивидуального использования, с планами на будущие обновления для поддержки нескольких пользователей.
Перейдите в папку «Заглавный организатор» и запустите:
python app.py
Я использовал Python 3.8
Загрузите файл YAML из организатора rassde и загрузите его, используя этот метод:
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)
Внутри быстрого использования заполнителей и замените их на правое содержимое:
Пример подсказки:
Я даю вам отрывок, и вы должны найти самые важные намерения, которые имеют высокую ценность для обсуждения. Все намерения должны быть в формате строкового формата, а оценка релевантности должна быть в формате Floats. N nyour Ответ должен содержать выходы в формате словаря, ниже приведены некоторые примеры: [{intents: оценка намерения}, {}]. Ndo не добавить. Любые объяснения. n npassage: n n ## Placeholder_1 ##
Замените ## Placeholder_1 ## Динамически на входной проход.
passage_content = "Your passage data"
prompt_passage = get_prompt('Intent',1)
prompt_passage = prompt_passage.replace("##placeholder_1##", passage_content)
Используйте файл helper.py, чтобы использовать все эти методы.
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)
Придерживаясь изложенных шагов, вы можете принять структурированный и систематический подход. Бывший организатор дает вам возможность проектировать, тщательно изучать и реализовать ваши подсказки с уверенностью. Это приводит к разработке передовых и надежных приложений ИИ.
На данный момент я запускаю это приложение из своего проекта, чтобы не ходить туда -сюда с файлом YAML. Все мои модификации остаются на уровне проекта. Идея в ближайшем будущем сделать эту интеграцию беспроблемной.
И еще ...
Все с легкостью использования.
Счастливого подсказки: CLAP: оперативный организатор ?