📧 ⚙️ 💌 Переделай промпт в темплэйт!
Есть вот такой промпт:
prompt = '''
Ответь на вопрос, исходя из контекста ниже
в стиле Rap. Если на вопрос невозможно ответить,
используя предоставленную информацию ответь «Я не знаю».
Context: Большие языковые модели (LLM) — это новейшие модели, используемые в NLP.
Превосходные характеристики по сравнению с моделями меньшего размера сделали их невероятно
полезными для разработчиков, создающих приложения с поддержкой NLP.
Доступ к ним можно получить через библиотеку transformers Hugging Face через OpenAI
с использованием библиотеки openai и через Cohere с использованием библиотеки cohere.
Question: Какие библиотеки и поставщики моделей предлагают LLM?
Answer:
'''
Переделай его в шаблон так, чтобы можно было менять:
- стиль ответа
- вариант ответа, если модель не знает (вместо "Я не знаю")
- контекст
- вопрос
И чтобы он подходил под приведённый ниже шаблон.
prompt_template = PromptTemplate(
input_variables=["style", "no_answer", "context", "query"],
template=template
)
Примечание: переменные вставляйте на то же место, где были слова, которые хотите заменить!
from langchain.prompts import PromptTemplate
template = """Ответь на вопрос, исходя из {context} в стиле {style}. Если на {query} невозможно ответить, используя предоставленную информацию, ответь {no_answer}.
Style: {style}
No_answer: {no_answer}
Context: {context}
Query: {query}
"""
prompt_template = PromptTemplate(
input_variables=["style", "no_answer", "context", "query"],
template=template
)
style = "в стиле Rap"
no_answer = "Я не знаю"
context = """Большие языковые модели (LLM) — это новейшие модели, используемые в NLP.
Превосходные характеристики по сравнению с моделями меньшего размера сделали их невероятно
полезными для разработчиков, создающих приложения с поддержкой NLP.
Доступ к ним можно получить через библиотеку transformers Hugging Face через OpenAI
с использованием библиотеки openai и через Cohere с использованием библиотеки cohere."""
query = "Какие библиотеки и поставщики моделей предлагают LLM?"
# формируем промпт из шаблона с помощью метода format
prompt = prompt_template.format(
style=style,
no_answer=no_answer,
context=context,
query=query
)
print(prompt)
print('-'*30)
answer = llm.invoke(prompt)
print(answer)
в ноутбуке все работает , тут нет !
@Денис_Титлов, Зачем по 2 раза используются no_answer, style, context в шаблоне? Вместо переменных туда 2 раза подставится один и тот же текст. Может оно и работает, но будет перерасход токенов и модель может запутаться.
@Денис_Титлов, в это задании нужно отправить только template.