10,3 тыс подписчиков
🟥 Как автоматизировать создание контента для YouTube и блога с помощью LangChain и OpenAI
Часть 1. Базовые настройки
Шаг 1. Настройка среды
Прежде чем начать, нужно убедиться, что у нас установлены все необходимые пакеты.
🔴LangChain: фреймворк, упрощающий использование больших языковых моделей.
🔴OpenAI: большая языковая модель, которую мы будем использовать.
🔴Streamlit: фреймворк для создания веб-приложений на Python.
🔴Python-dotenv: пакет для управления переменными окружения.
Чтобы установить эти пакеты, откройте терминал и запустите:
pip install langchain openai streamlit python-dotenv
Шаг 2. Получение API-ключа OpenAI
Далее вам необходимо получить API-ключ OpenAI. Это уникальный ключ, открывающий доступ к модели GPT-3 (GPT-3.5/ChatGPT, GPT-4). После регистрации учетной записи в OpenAI вы найдете API-ключ на дашборде.
Полученный ключ нужно надежно сохранить в файле .env. В каталоге проекта создайте файл .env и добавьте в него следующую строку:
OPENAI_API_KEY=ваш_ключ_openai
Замените ваш_ключ_openai на свой действительный ключ OpenAI. Этот файл будет использоваться для безопасного хранения API-ключа.
Начнем с импорта необходимых библиотек и загрузки переменных среды:
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain, SimpleSequentialChain, SequentialChain
import os
from dotenv import load_dotenv
load_dotenv()
В этих строках кода импортируется класс OpenAI из модуля langchain.llms, который позволяет взаимодействовать с моделью GPT. Кроме того, импортируются классы PromptTemplate и LLMChain, которые будут использоваться для создания промптов и цепочек.
Функция load_dotenv() загружает переменные среды OPENAI_API_KEY из файла .env.
Часть 2. Компоновочные блоки LangChain
Шаг 4. Обзор основных компонентов
Прежде чем приступить к написанию кода, сделаем краткий обзор компонентов, которые будем использовать.
🔵Большая языковая модель (LLM): экземпляр модели GPT-3.
🔵Шаблон промптов (Prompt Template): простая инструкция для LLM. Она принимает входные переменные и использует их в шаблоне.
🔵Цепочка (Chain): комбинация LLM и шаблона промптов. Она является самой малой рабочей единицей в LangChain.
Эти три компонента будут использованы для разработки генератора публикаций в блоге.
Шаг 5. Создание первой LLMChain
Чтобы создать первую цепочку, нужно инициализировать LLM, разработать шаблон промптов, а затем объединить их в цепочку.
Настройте LLM и первый шаблон промптов:
# Пример LLMChain
# Модель
llm = OpenAI(temperature=0.9)
# Промпт
blog_prompt_template = PromptTemplate(
input_variables = ['product_description'],
template = 'Write a blog post on {product_description}'
)
# Цепочка
blog_chain = LLMChain(llm=llm, prompt=blog_prompt_template, verbose=True)
# Запуск
product_description = 'best eco-friendly coffee'
blog_chain.run(product_description)
СОВЕТ: ПАРАМЕТР TEMPERATURE УПРАВЛЯЕТ РАНДОМНОСТЬЮ ВЫХОДНЫХ ДАННЫХ МОДЕЛИ. ОН ПРИНИМАЕТ ЗНАЧЕНИЯ ОТ 0 ДО 1, ГДЕ МЫ УСТАНОВИЛИ ЗНАЧЕНИЕ 0,9, ПОСКОЛЬКУ ХОТИМ ПОЛУЧИТЬ МНОГО НОВЫХ ИДЕЙ, В ТО ВРЕМЯ КАК МЕНЬШЕЕ ЗНАЧЕНИЕ, НАПРИМЕР 0, ДЕЛАЕТ МОДЕЛЬ БОЛЕЕ ДЕТЕРМИНИРОВАННОЙ.
В приведенном выше коде настраивается LLM и создается шаблон промптов, который принимает описание продукта и генерирует в блоге публикацию о нем. Затем эти два шаблона объединяются, чтобы сформировать цепочку. Потом запускается LLMChain с product_description.
Часть 3. Освоение основ цепочек в LangChain
Шаг 6. Создание SimpleSequentialChain
2 минуты
18 сентября 2023