Это базовый стартовый проект для построения со следующими инструментами и API:
Когда я начал погружаться во все это, я чувствовал, что, хотя я понял некоторые отдельные произведения, было трудно собрать все в сплоченный проект. Я надеюсь, что этот проект полезен для тех, кто хочет построить с этим стеком, и просто нужно что -то начать.
Мы строим приложение, которое принимает текст (текстовые файлы), встраивает их в векторы, хранит их в Pinecone и позволяет семантическое поиск данных.
Для тех, кто задается вопросом, что такое семантический поиск, вот обзор (взят непосредственно из CHATGPT4):
Семантический поиск относится к подходу поиска, который понимает намерение пользователя и контекстуальное значение поисковых запросов, вместо того, чтобы просто соответствовать ключевым словам.
Он использует обработку естественного языка и машинное обучение для интерпретации семантики или значения за запросами. Это приводит к более точным и соответствующим результатам поиска. Семантический поиск может учитывать намерения пользователя, контекст запроса, распознавание синонимов и понимание естественного языка. Его приложения варьируются от веб -поисковых систем до персонализированных систем рекомендаций.
В этом разделе я проведу вас, как развернуть и запустить это приложение.
Чтобы запустить это приложение, вам нужно следующее:
Чтобы запустить приложение локально, выполните следующие действия:
git clone [email protected]:dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt.gitПереодеться в каталог и установить зависимости, используя NPM или пряжу
Скопируйте .example.env.local к новому файлу с именем .env.local и обновление с вашим API -ключами и средой.
Убедитесь, что ваша среда-это реальная среда, предоставленная вам Pinecone, как us-west4-gcp-free
(Необязательно) - Добавьте свой собственный текст или файлы разметки в папку /documents .
Запустите приложение:
npm run dev При создании встроений и индекса, для полной инициализации индекса может занять до 2-4 минут. Существует функция Settimeout в 180 секунд в utils , которая ожидает создания индекса.
Если инициализация займет больше времени, то она пройдет выйдет из строя в первый раз, когда вы попытаетесь создать вставки. Если это произойдет, посетите консоль Pinecone, чтобы посмотреть, и подождите статус создания вашего индекса, чтобы закончить, затем запустите функцию снова.
Предварительно настроенные данные приложения касаются документации разработчика протокола объектива, поэтому он будет понимать только вопросы, если вы не замените его своими собственными данными. Вот несколько вопросов, которые вы можете задать с данными по умолчанию
База этого проекта руководствовалась этим учебником node.js, с некоторой реструктуризацией и перенесенной на next.js. Вы также можете подписаться на них здесь, в Твиттере!
Я рекомендую проверить погрузчик репозитория GPT, который позволяет проста в превращении любого репозитория GitHub в текстовый формат, сохраняя структуру файлов и содержимого файлов, что позволяет легко нарезать и сохранить в Pinecone, используя мою кодовую базу.