Как создать чат-бот службы поддержки клиентов с помощью LangChain и DeepInfra: пошаговое руководство

Как создать чат-бот службы поддержки клиентов с помощью 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 на сайте Langchain, память разговоров блокнот и агент диалога блокнот. Эти ресурсы предлагают более глубокое понимание концепций памяти, а ключевые концепции памяти и примеры памяти предлагают практические руководства.

Вам также следует ознакомиться с другими руководствами по Langchain на AIModels.fyi.

DeepInfra также имеет надежную документацию для своей платформы и даже блог, который вы можете посетить, чтобы получить подробную информацию. публикации, руководства и статьи.

Заключение

Поначалу создание чат-бота для поддержки клиентов с использованием LangChain и DeepInfra может показаться сложным, но как только вы поймете основные компоненты и шаги, процесс станет намного проще. Использование этих технологий может значительно улучшить обслуживание клиентов, повысить эффективность бизнеса и повысить общую удовлетворенность клиентов. По мере того, как мы продвигаемся вперед, потенциал этих технологий поистине огромен, и я с нетерпением жду возможности увидеть, как они будут продолжать развиваться и влиять на сферу обслуживания клиентов. Спасибо за прочтение и удачной сборки!

:::информация Также опубликовано здесь.

:::


Оригинал