Это программа Python, которая автоматически генерирует «потрясающий список» для определенного ключевого слова в качестве файла разметки. «Удивительный список» - это список ресурсов, связанных с конкретной темой. В настоящее время ресурсы включают проекты Github, статьи Google Scholar, видео на YouTube, курсы, слайды и презентации, программное обеспечение и инструменты и подкасты. Удивительный список автоматически генерируется с использованием моделей GPT; Вы можете выбрать между различными моделями для создания списка, таких как GPT 3.5 или GPT 4.
poetry install OPENAI_API_KEY=<your_openai_api_key>
Учетная запись Google.
Посетите Google Cloud Console.
Если вы еще этого не сделали, создайте новый проект, нажав на раскрывающую очередь «Выберите проект» в верхнем правом углу, а затем нажмите «Новый проект».
После того, как ваш проект будет создан и выбран, перейдите в меню навигации (три горизонтальные линии в верхнем левом углу), а затем нажмите «API & Services»> «учетные данные».
Нажмите кнопку «Создать учетные данные» и выберите «Клавиша API». После создания будет отображаться ваш ключ API.
Скопируйте свой ключ API и безопасно сохраните его. Вы используете этот ключ в вашем приложении для аутентификации ваших запросов.
Зайдите в Google пользовательский поиск домашней страницы.
Нажмите «Создать пользовательскую поисковую систему».
В разделе «Сайты для поиска» вы можете указать веб -сайты, которые вы хотите найти или выбрать «Поиск всей сети», чтобы разрешить более широкие возможности поиска. Однако, если вы выберете «Поиск всей Интернета», обязательно переключите «поиск только в разделе« Search »в разделе« Сайты для поиска ».
Заполните другие необходимые поля, такие как название вашей поисковой системы.
Нажмите кнопку «Создать» внизу.
Как только ваша поисковая система будет создана, вы будете направлены на страницу настройки. Здесь найдите и скопируйте «Идентификатор поисковой системы» (также называемый «CX» в некоторых контекстах). Вы используете этот идентификатор в своем приложении, чтобы указать, какую пользовательскую поисковую систему использовать для запросов.
Наконец, добавьте следующие переменные среды в файл .env:
GOOGLE_CLOUD_API_KEY='<google cloud api key>'
CUSTOM_SEARCH_ENGINE_ID='<custom search engine id>'
We've provided a Streamlit interface for running this application. Чтобы использовать его:
Запустите приложение Streamlit, используя поэзию:
poetry run streamlit run streamlit_run.py Открыть http://localhost:8501
Вы можете легко ввести необходимые параметры (например, тип модели, ключевое слово и описание) через пользовательский интерфейс и генерировать свой потрясающий список!
Основным классом, используемым в этом проекте, является AwesomeListGenerator . Этот класс принимает следующие параметры:
keyword : строка, представляющая ключевое слово, для которого будет создан потрясающий список.description : строка, предоставляющая описание, связанное с ключевым словом.model : строка, представляющая модель OpenAI, которая будет использоваться для генерации разметки (по умолчанию «GPT-3.5-Turbo-16K»).data_extraction_batch_size : целое число, представляющее количество элементов данных для обработки в каждой партии (по умолчанию 10). Например, если размер партии составляет 10, то данные будут извлечены из источников данных в партиях 10 (например, 10 проектов GitHub за раз).number_of_results : целое число, представляющее количество результатов, полученных из каждого источника данных (по умолчанию 20). Количество результатов для извлечения из каждого источника данных (по умолчанию составляет 20). Например, Fetch 20 Github Projects затем обрабатывают их с моделью LLM в партиях на основе DATA_EXTRACTION_BATCH_SIZE. После инициализации класса с этими параметрами вызовите метод save_and_return_awesome_list , чтобы сгенерировать файл разметки. Вот пример:
# Initialize an instance of the AwesomeListGenerator
generator = AwesomeListGenerator ( keyword = "Your Keyword" ,
description = "Your Description" ,
model = "gpt-3.5-turbo-16k" ,
data_extraction_batch_size = 10 ,
number_of_results = 20 )
# Generate and save the markdown
markdown_content = generator . save_and_return_awesome_list () Программа будет генерировать файл разметки в каталоге output , названном в честь вашего ключевого слова (например, Your_Keyword.md ). Этот файл содержит «потрясающий список», сгенерированный программой.
Программа AwesomeListGenerator работает на двух основных этапах: очистка данных и обработка данных.
На этапе очистки данных программа получает ресурсы, связанные с предоставленным вашим ключевым словом из нескольких источников данных. В настоящее время ресурсы включают репозитории GitHub, статьи Google Scholar, видео на YouTube и подкасты. Программа использует специализированные скребки для каждого источника, каждый из которых предназначен для получения наиболее важных и высококачественных ресурсов.
Например, скребок Github приносит репозитории, которые соответствуют ключевому слову, отсортируемому по количеству звезд (общий индикатор релевантности и качества хранилища). Аналогичным образом, Google Scholar Scraper извлекает статьи, связанные с ключевым словом и отсортированным по количеству цитирования.
После того, как данные скрещены, они передаются на этап обработки данных. На этом этапе программа использует выбранную модель GPT для обработки извлекаемых ресурсов. Модель фильтрует и оценивает ресурсы на основе актуальности ключевого слова, качества контента и потенциальной полезности для пользователей. Модель GPT также форматирует данные в список разметки, добавляя необходимое форматирование, такое как ссылки и краткие описания.
Примечательно, что операции как соскоба, так и обработки выполняются в партиях. Эта пакетная операция позволяет программе поддерживать столько результатов, сколько необходимо, на основе настройки number_of_results и data_extraction_batch_size . Таким образом, вы контролируете степень обработки данных за раз, обеспечивая эффективное использование ресурсов.
Мы стремимся расширить количество источников данных в будущем. Вот некоторые идеи, которые мы имеем в виду:
Если вы заинтересованы в содействии, вы можете выбрать одну из вышеуказанных задач или предложить свои собственные идеи. Мы приветствуем всевозможные взносы и ценим ваш интерес к нашему проекту!
Нам нравится видеть невероятные удивительные списки, которые создает наше сообщество. Если вы использовали наш инструмент для создания потрясающего списка, не стесняйтесь сообщить нам об этом, и мы представим ваш проект здесь!
Вы нашли этот проект полезным? Если это принесло вам ценность, пожалуйста, дайте нам на GitHub. Этот жест не только подтверждает наши усилия, но и помогает этому проекту охватить больше людей и продолжать развитие.
Не стесняйтесь раскошелиться на репозиторий, внести свой вклад, отправив запросы на привлечение или открыть проблему. Ваши отзывы и вклад всегда приветствуются!