https://habr.com/ru/articles/722388/

В нашем современном мире создание онлайн-платформы для общения между клиентами и представителями компании - это необходимое требование для многих бизнесов. Онлайн-чат для сайта является одним из наиболее эффективных и удобных способов связи с потенциальными клиентами и удержания уже имеющихся из-за своей быстрой и простой обработки сообщений.

Я следил за различными видами использования chatGPT с момента его выхода. Описываемое далее решение я еще не встречал и поэтому думаю оно будет кому-то полезным.

Формулировка задачи

Необходимо создать онлайн-чата для сайта со следующими возможностями:

Итак, поехали!

Шаг №1: Выбор сервиса для онлайн-чата

Для реализации задачи нам нужна возможность ставить свой обработчик на событие отправки сообщения посетителя. При этом сам сервис должен быть бесплатным.

По итогу был выбрал сервис Tawk.to, у которого есть вот эти два обработчика:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2abacbd2-34b3-4dfe-9acb-00d55cbacd5c/ddf6980785a5b69755b693160ad26d9a.png

Шаг №2: Обучение chatGPT

Для формирования базы знаний компании мы будем использовать библиотеку:

🗂️ LlamaIndex 🦙 (GPT Index)

https://github.com/jerryjliu/llama_index

Вот пример использования библиотеки из официальной документации

!pip install llama-index

import os
os.environ["OPENAI_API_KEY"] = 'YOUR_OPENAI_API_KEY'

from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader('data').load_data()
index = GPTSimpleVectorIndex(documents)

# save to disk
index.save_to_disk('index.json')
# load from disk
index = GPTSimpleVectorIndex.load_from_disk('index.json')

index.query("<question_text>?")