Используйте анализатор вывода Langchain, чтобы извлечь информацию из ответа на быстрое время CHATGPT
Этот ноутбук Jupyter демонстрирует, как использовать Langchain's StructuredOutputParser чтобы извлечь структурированную информацию из ответов на быстрое время CHATGPT.
Импортирует необходимые библиотеки, такие как OpenAI , LangChain , и определяет экземпляр ChatOpenAI .
Определяет пример -структуры вывода с такими полями, как "gift" , "delivery_days" , "price_value" .
Показывает образец обзора клиента, который будет проанализирован.
Конструирует объекты ResponseSchema для каждого поля вывода.
Создает StructuredOutputParser используя схемы отклика.
Определяет шаблон быстрого приглашения, который включает в себя инструкции формата анализатора.
Подсказывает CHATGPT анализировать текст обзора и вывод в структурированном формате.
Подготовка отвечает JSON для извлечения подарка, дней доставки и ценовой стоимости в словарь.
Таким образом, в ноутбуке показано, как можно использовать выходной синтаксический анализатор Langchain для получения структурированных данных из бесплатных ответов CHATGPT, что позволило бы быстрого извлечь информацию для извлечения информации.
Ссылка на ноутбук jupyter: langchain_output_parser_prompt_engineering.ipynb (эксперимент проводится в Google Colab)
Чтобы использовать модель GPT-3.5-Turbo от OpenAI с Langchain, требуется ключ API. Ключ API может быть получен отсюда.
Чтобы контролировать случайность и креативность сгенерированного текста с помощью LLM, мы использовали температуру = 0,0 при инициализации экземпляра ChatOpenAI . Температура - это числовое значение, установленное от 0 до 1. Температура 0 означает, что модель всегда будет выбирать наиболее вероятное слово для генерации, в то время как температура 1 означает, что модель с большей вероятностью выбирает менее вероятные слова, что приводит к более творческому и неожиданному выводу. В целом, оптимальная настройка температуры зависит от конкретной задачи. Для задач, которые требуют точности и фактических факторов, таких как ответ на вопрос или суммирование текста, обычно предпочтительнее более низкая температура. Для задач, которые требуют творчества и оригинальности, таких как написание стихов или создание идей истории, более высокая температура может быть более подходящей. Поскольку наша задача состоит в том, чтобы извлечь структурированную информацию из ответных ответов CHATGPT, мы устанавливаем температуру до 0,0.
Выходной анализатор: Языковые модели вывод текст. Но много раз вы хотите получить более структурированную информацию , чем просто текст. Вот где выходные анализаторы помогают структурировать ответы модели языка. Существует два основных метода, которые должен реализовать анализатор выходного анализатора:
Для нашего быстрого инженера мы анализируем отзывы клиентов, чтобы извлечь 3 информации:
Пример структуры вывода от обзора, который мы хотим проанализировать:
{
"gift" : true ,
"delivery_days" : 3 ,
"price_value" : " pretty affordable! "
}Шаблон приглашения:
For the following text, extract the following information:
gift: Was the item purchased as a gift for someone else?
Answer True if yes, False if not or unknown.
delivery_days: How many days did it take for the product
to arrive? If this information is not found, output -1.
price_value: Extract any sentences about the value or price,
and output them as a comma separated Python list.
text: {text}
{format_instructions}
Здесь текст относится к обзору клиента, а Format_instructions - это строка, содержащая инструкции для того, как следует отформатировать вывод языковой модели.
Затем ответ LLM можно легко принести в выходной сигнал, чтобы получить структурированные данные в нашем желаемом формате JSON/Dictionary.
В качестве примера мы использовали следующий обзор:
This leaf blower is pretty amazing. It has four settings:
candle blower, gentle breeze, windy city, and tornado.
It arrived in two days, just in time for my wife's
anniversary present.
I think my wife liked it so much she was speechless.
So far I've been the only one using it, and I've been
using it every other morning to clear the leaves on our lawn.
It's slightly more expensive than the other leaf blowers
out there, but I think it's worth it for the extra features.
У выходного анализатора есть выход:
{
'gift': False,
'delivery_days': '2',
'price_value': "It's slightly more expensive than the other leaf blowers out there, but I think it's worth it for the extra features."
}