- есть каналы.< /li>
в каждом канале есть сообщения от самых разных пользователей. - каждое сообщение может иметь ответы, соответствующие его контексту.
Я прочитал документацию llama3, и похоже, что следует применить приведенный ниже шаблон (пример взят из: https://llama.meta.com/docs/model-cards ... a-llama-3/) :
system
You are a helpful AI assistant for travel tips and recommendationsuser
What can you help me with?assistant
Предполагая, что каждое отдельное сообщение/воспроизведение выглядит следующим образом:
- :
Как должен выглядеть конечный результат данных?
Это список слов? Если да, то как в нем следует размещать ответы?
Я осмелился спросить GPT4o, и он дал мне следующий пример:
prompt_example_1 = [
{"role": "system", "message": "Channel: general"},
{"role": "user", "message": "U12345678 [2023-06-01 12:00:00]: Main message in the channel"},
{"role": "assistant", "message": "U87654321 [2023-06-01 12:05:00]: Reply to the main message"},
{"role": "assistant", "message": "U23456789 [2023-06-01 12:10:00]: Another reply to the main message"},
{"role": "user", "message": "U23456789 [2023-06-01 12:15:00]: Another main message"},
{"role": "assistant", "message": "U34567890 [2023-06-01 12:20:00]: Reply to the second main message"}
]
Мне это кажется неправильным.
Что произойдет, если я перетасую набор данных? Все ответы потеряют связь с родительским сообщением.
Я нашел эту документацию на сайтеhuggingface: https://huggingface.co/docs/transformer ... templating
Это заставило меня задуматься, что я действительно могу использовать apply_chat_template следующим образом:
dataset = [
[
{"role": "system", "content": "Channel: general"},
{"role": "user", "content": "U12345678 [2023-06-01 12:00:00]: Main message in the channel"},
{"role": "assistant", "content": "U87654321 [2023-06-01 12:05:00]: Reply to the main message"},
{"role": "assistant", "content": "U23456789 [2023-06-01 12:10:00]: Another reply to the main message"}
],
[
{"role": "system", "content": "Channel: random"},
{"role": "user", "content": "U23456789 [2023-06-01 12:15:00]: Another main message"},
{"role": "assistant", "content": "U34567890 [2023-06-01 12:20:00]: Reply to the second main message"}
]
]
hf_dataset = Dataset.from_dict({"chat": dataset})
hf_dataset = hf_dataset.map(lambda x: {
"formatted_chat": tokenizer.apply_chat_template(
x["chat"],
tokenize=False,
add_generation_prompt=False
)
})
Подробнее здесь: https://stackoverflow.com/questions/786 ... aset-slack