Как создать чат-бот службы поддержки клиентов с помощью LangChain и DeepInfra: пошаговое руководство
10 июня 2023 г.Возможно, вы сталкивались с чат-ботами в повседневном общении в Интернете, но задумывались ли вы когда-нибудь о технологии, на которой работают эти цифровые помощники? Чат-боты, особенно в сфере поддержки клиентов, стали одним из основных продуктов современного бизнеса, улучшая обслуживание клиентов и повышая эффективность. Сегодня мы рассмотрим, как LangChain и DeepInfra позволяют использовать эти чат-боты, делая их более отзывчивыми и эффективными.
Основные компоненты чат-бота
Давайте сначала перейдем к основам: каковы основные компоненты чат-бота? При разработке отзывчивого и эффективного чат-бота важны три элемента: модель, PromptTemplate и память.
Модель представляет мозг ИИ, стоящий за чат-ботом, который отвечает за понимание и реагирование на действия пользователя. Шаблон PromptTemplate направляет ответы чат-бота, гарантируя, что они останутся актуальными для разговора. Наконец, память сохраняет состояние при взаимодействии, позволяя чат-боту запоминать прошлые разговоры и использовать их для понимания контекста текущих.
Пошаговое руководство: создание чат-бота службы поддержки клиентов с помощью LangChain и DeepInfra
А теперь давайте запачкаем руки. Мы рассмотрим процесс создания чат-бота для поддержки клиентов с помощью LangChain и DeepInfra. Представим, что этот чат-бот «работает» в интернет-магазине одежды и может помочь покупателям выбрать для них одежду.
Получение ключа API DeepInfra
DeepInfra с его простым API и масштабируемой, готовой к эксплуатации инфраструктурой позволяет с легкостью запускать лучшие модели искусственного интеллекта. Прежде всего, вам необходимо использовать эту ссылку и получить ключ API DeepInfra для взаимодействия с их сервисом. Получив его, вы можете установить токен API в своей среде следующим образом:
from getpass import getpass
import os
# Set the DeepInfra API token
DEEPINFRA_API_TOKEN = getpass()
os.environ["DEEPINFRA_API_TOKEN"] = DEEPINFRA_API_TOKEN
Настройка сред LangChain и DeepInfra
Затем вам нужно настроить среды LangChain и DeepInfra. Импортируйте необходимые компоненты и создайте экземпляр модели DeepInfra. Например, вы можете использовать такую модель, как 'databricks/dolly-v2-12b':
from langchain import ConversationChain, LLMChain, PromptTemplate
from langchain.memory import ConversationBufferWindowMemory
from langchain.llms import DeepInfra
# Create the DeepInfra instance
llm = DeepInfra(model_id="databricks/dolly-v2-12b")
llm.model_kwargs = {'temperature': 0.7, 'repetition_penalty': 1.2, 'max_new_tokens': 250, 'top_p': 0.9}
Примечание: выбор и развертывание правильной модели чат-бота
Вы можете использовать множество различных моделей для линейки LLM. В примере показано, как использовать модель databricks/dolly-v2-12b, но на DeepInfra есть много других. Поскольку существует множество вариантов, вы можете использовать такой инструмент, как AIModels.fyi, чтобы найти подходящие LLM для использования с LangChain. У вас есть свобода поиска, фильтрации и сортировки моделей ИИ, чтобы найти ту, которая лучше всего подходит для вашего проекта. Посетите страницу DeepInfra, чтобы найти альтернативные модели для экспериментов.
Создание PromptTemplate для управления ответами чат-бота
Теперь пришло время определить PromptTemplate, чтобы направлять ответы вашего чат-бота. Это обеспечит соответствие ответов вашего чат-бота контексту и вводу пользователя. Я попробовал несколько разных шаблонов, и было нелегко найти тот, который работал бы идеально. Процесс создания правильной подсказки называется инжинирингом подсказок. В конце концов мне удалось повторно использовать шаблон, который я нашел на сайте Pinecone.
template = """Given the following user prompt and conversation log, formulate a question that would be the most relevant to provide the user with an answer from a knowledge base.
You should follow the following rules when generating and answer:
- Always prioritize the user prompt over the conversation log.
- Ignore any conversation log that is not directly related to the user prompt.
- Only attempt to answer if a question was posed.
- The question should be a single sentence.
- You should remove any punctuation from the question.
- You should remove any words that are not relevant to the question.
- If you are unable to formulate a question, respond with the same USER PROMPT you got.
Conversation log: {history}
USER PROMPT: {human_input}
Your response:
"""
prompt = PromptTemplate(
input_variables=["history", "human_input"],
template=template
)
Инициализация чат-бота и настройка памяти
Когда ваша модель и PromptTemplate готовы, следующим шагом будет инициализация чат-бота и настройка памяти для сохранения состояния при взаимодействии.
# Now using DeepInfra with the LLMChain
llm_chain = LLMChain(
llm=llm,
prompt=prompt,
verbose=True,
memory=ConversationBufferWindowMemory(k=2),
)
Запуск чат-бота и взаимодействие с ним
Наконец, теперь вы можете взаимодействовать со своим чат-ботом. Давайте посмотрим на пример:
output = llm_chain.predict(human_input="Hello! What clothes do you recommend I buy to rebuild my summer wardrobe")
print(output)
Полученный ответ рекомендует одежду:
In the context of summer wardrobe recommendations, you should buy your clothes from the following list:
- V-neck T-shirts
- Tank Tops
- Solid Color Swim Shorts
- Swim Shorts
- Skirts
- Cardigans
- Sandals
Концепция памяти в чат-ботах
Память играет решающую роль в чат-ботах. Это помогает поддерживать контекст и историю взаимодействия с чат-ботом, позволяя чат-боту вспоминать прошлые разговоры и понимать контекст текущих. Эта способность имеет основополагающее значение для создания взаимодействия, более похожего на человеческое, и повышает удобство работы пользователя. В теме памяти есть много интересного, и я рекомендую вам ознакомиться с этим руководство для получения дополнительной информации.
Дополнительные ресурсы и примеры
Для дальнейшего понимания я рекомендую ознакомиться с такими ресурсами, как блокнот ChatGPT Clone a> на сайте Langchain, память разговоров strong> блокнот и агент диалога блокнот. Эти ресурсы предлагают более глубокое понимание концепций памяти, а ключевые концепции памяти и примеры памяти предлагают практические руководства.
Вам также следует ознакомиться с другими руководствами по Langchain на AIModels.fyi.
DeepInfra также имеет надежную документацию для своей платформы и даже блог, который вы можете посетить, чтобы получить подробную информацию. публикации, руководства и статьи.
Заключение
Поначалу создание чат-бота для поддержки клиентов с использованием LangChain и DeepInfra может показаться сложным, но как только вы поймете основные компоненты и шаги, процесс станет намного проще. Использование этих технологий может значительно улучшить обслуживание клиентов, повысить эффективность бизнеса и повысить общую удовлетворенность клиентов. По мере того, как мы продвигаемся вперед, потенциал этих технологий поистине огромен, и я с нетерпением жду возможности увидеть, как они будут продолжать развиваться и влиять на сферу обслуживания клиентов. Спасибо за прочтение и удачной сборки!
:::информация Также опубликовано здесь а>.
:::
Оригинал