Исследователь
Researcher экономит ваше время, используя Google и GPT-3, чтобы отвечать на вопросы кратко и точно. Он включает цитаты, чтобы вы могли искать источники.
Это другая парадигма поиска, чем использование только Google или GPT. В Google вам придется просмотреть несколько фрагментов SEO-спама, чтобы найти ответ. С GPT вы не можете быть уверены, что полученный вами ответ верен и откуда он взялся.
Исследователь решает эти проблемы, передавая соответствующие разделы из результатов поиска Google в GPT-3 для создания обзора.
Сравнение
Встраивая веб-контекст в большую языковую модель, вы можете повысить точность и проверить информацию. В этом примере у вас нет возможности проверить информацию из ChatGPT. Это также не очень конкретно. Исследователь предоставляет вам цитируемые источники и более конкретную информацию, опираясь на контекст Google.
ЧатGPT | Исследователь |
---|
| |
Скриншоты
Технические вопросы и ответы | Рекомендация |
---|
| |
Установка
- Клонируйте этот репозиторий с помощью git.
- Убедитесь, что у вас установлен Python 3.8+. По состоянию на 22 декабря Pytorch не поддерживает Python 3.11 на всех платформах, поэтому рекомендуется использовать Python 3.10.
- Запустите
cd researcher
, чтобы попасть в папку репозитория. - Запустите
pip install -r requirements.txt
чтобы установить необходимые пакеты. - Введите свой ключ API OpenAI в
settings.py
в переменной OPENAI_KEY
. - Запустите
python app.py
чтобы запустить приложение. По умолчанию он будет работать на порту 5000
. - [Необязательно] По умолчанию Researcher собирает результаты поиска Google. Это не всегда надежно. Если вы хотите большей надежности, зарегистрируйте систему пользовательского поиска в Google, а затем:
- Введите ключ API в
settings.py
в переменной SEARCH_KEY
. - Введите идентификатор системы пользовательского поиска в поле
SEARCH_ID
. - Измените
SEARCH_METHOD
на api
.
Использование
- Посетите
http://127.0.0.1:5000
чтобы увидеть интерфейс поиска. - Введите поисковый запрос и нажмите «Поиск». Вопросы работают лучше всего.
- Получение результатов может занять 10–20 секунд, в зависимости от запроса. Вы увидите резюме и источники, использованные для его создания.
Как это работает
- Первоначальные результаты поиска взяты из Google.
- Каждый из сайтов парсится с помощью запросов
- HTML-код сайта хранится в локальной базе данных sqlite.
- Результаты фильтруются для удаления сайтов со слишком большим количеством рекламы или трекеров.
- Фрагменты текста извлекаются с каждого сайта и ранжируются по поисковому запросу.
- Первые N текстовых фрагментов используются для создания сводки с использованием GPT-3.
- Сводка отображается вместе с источниками, использованными для ее создания.
Часто задаваемые вопросы
- Это стоит денег? При этом используется API OpenAI, который может стоить денег в зависимости от ваших кредитов. Каждый запрос должен стоить около 1/3 цента. Если вы используете режим API, это также может стоить денег в зависимости от ваших поисков в Google. Пользовательский поиск Google предлагает 100 бесплатных поисков в день, тогда это будет стоить 5 долларов за 1000 запросов.
- Почему получение результатов занимает так много времени? Исследователь запускает поиск, затем сканирует сайты, чтобы получить соответствующий контекст, а затем вызывает API для обобщения контекста. Эти операции занимают много времени. Изменение некоторых настроек может ускорить этот процесс. В частности, длина фрагмента и количество результатов.
- Почему я получаю ошибку 429? По умолчанию Researcher собирает результаты Google. Если вы делаете это слишком часто, вы можете получить ошибку 429. Чтобы избежать этого, переключитесь в режим API (описано выше).
- Почему я получаю сообщение об ошибке, что сводку невозможно создать? Иногда с OpenAI API возникают проблемы. Это приведет к тому, что сводка не будет отображаться. Просто запустите поиск еще раз, чтобы это исправить.
Будущие улучшения
- Ускорьте процесс поиска
- Улучшить алгоритм для поиска оптимальных фрагментов текста
- Попробуйте автономную модель вместо GPT-3 (возможно, PEGASUS для обобщения или доработанный вариант BLOOM или T5).
- Обобщить фрагменты текста перед передачей в GPT-3.