Обновлен до LiteLLM для соединителя, совместимого с openai, что упрощает добавление поддержки различных моделей. Теперь мы используем один json-файл моделей для нашей конфигурации. Убедитесь, что у вас есть соответствующие ключи API для использования Google Gemini AI Studio. Поддержка GPT 4o, Sonnet 3.5.
Поддержка новых моделей Claude, некоторые изменения.
Python обновлен до версии 3.11. Мы также добавили поддержку GPT-4 128k и Claude 2.1 + Claude Instant v1.2. Обязательно обновите свои зависимости соответствующим образом.
См.: Антропный/Клод 2.
Также обновлены некоторые зависимости (Anthropic, OpenAI, PRAW, Streamlit).
Видеообзор обновлений @YouTube
Новая статья @ Better Programming/Medium: преобразование суммирования Reddit с помощью Claude 100k и GPT 16k
Расширьте настройки, чтобы использовать антропные модели; также добавлена поддержка старых моделей инструкций OpenAI - большинство из них выдают мусор, но полезны для тестирования, при этом Text Davinci 003 субъективно выдает одни из самых качественных результатов. Новые 100-тысячные модели часто могут использовать целые потоки Reddit без рекурсии.
Не забудьте добавить ключ Anthropic API в свой .env-файл. (АНТРОПИК_API_KEY)
https://www.anthropic.com/index/100k-context-windows
Если у вас есть доступ к API, вы можете использовать более длинные контекстные окна уже сегодня. См. документы. https://platform.openai.com/docs/models/gpt-4 Зарегистрируйтесь в список ожидания здесь: https://openai.com/waitlist/gpt-4
Статья @ Лучшее программирование/Medium Создание сумматора тем Reddit с помощью ChatGPT API
Это сумматор веток Reddit на основе Python, который использует GPT-3 для создания сводок комментариев ветки.
Этот скрипт используется для создания сводок тем Reddit с использованием API OpenAI для заполнения фрагментов текста на основе приглашения с рекурсивным суммированием. Он начинается с запроса к указанной ветке Reddit, извлечения заголовка и собственного текста, а затем поиска всех комментариев в ветке.
Эти комментарии затем объединяются в группы по заданному количеству токенов, и для каждой группы генерируется сводка путем запроса API OpenAI с текстом группы, а также заголовком и собственным текстом ветки Reddit. Затем сводки сохраняются в файл в папке outputs
в текущем рабочем каталоге.
Чтобы установить зависимости, вы можете использовать poetry
:
poetry install
Вам также потребуется предоставить учетные данные OpenAI/Reddit/Anthropic API. Создайте файл .env
и добавьте следующее:
OPENAI_ORG_ID = YOUR_ORG_ID
OPENAI_API_KEY = YOUR_API_KEY
REDDIT_CLIENT_ID = YOUR_CLIENT_ID
REDDIT_CLIENT_SECRET = YOUR_CLIENT_SECRET
REDDIT_USERNAME = YOUR_USERNAME
REDDIT_PASSWORD = YOUR_PASSWORD
REDDIT_USER_AGENT = linux:com.youragent.reddit-gpt-summarizer:v1.0.0 (by /u/yourusername)
ANTHROPIC_API_KEY = YOUR_ANTHROPIC_KEY
Чтобы установить зависимости разработки, запустите:
poetry install --extras dev
В этом проекте используется pytest для тестирования и mypy для проверки типов.
Для запуска тестов и проверки типов используйте следующие команды:
poetry run pytest
poetry run mypy .
В этом проекте также используется черный цвет для форматирования кода и pylint для проверки.
Чтобы отформатировать код и проверить наличие ошибок линтинга, используйте следующие команды:
poetry run black .
poetry run pylint .
Чтобы запустить приложение, используйте следующую команду:
streamlit run app/main.py
Запустится веб-приложение, которое позволит вам ввести URL-адрес темы Reddit и создать сводку. Приложение автоматически создаст подсказки для GPT-3 на основе содержимого цепочки и сформирует сводку на основе этих подсказок.
Вы можете настроить поведение приложения с помощью файла config.py
. Доступны следующие варианты конфигурации:
ATTACH_DEBUGGER
: следует ли подключать отладчик к приложению.WAIT_FOR_CLIENT
: ждать ли подключения клиента перед запуском приложения.DEFAULT_DEBUG_PORT
: порт по умолчанию, используемый отладчиком.DEBUGPY_HOST
: хост, используемый отладчиком.DEFAULT_CHUNK_TOKEN_LENGTH
: длина фрагмента комментариев по умолчанию.DEFAULT_NUMBER_OF_SUMMARIES
: количество создаваемых сводок по умолчанию.DEFAULT_MAX_TOKEN_LENGTH
: максимальная длина сводки по умолчанию.LOG_FILE_PATH
: путь к файлу журнала.LOG_COLORS
: словарь цветов журнала.REDDIT_URL
: URL-адрес ветки Reddit для подведения итогов.TODAYS_DATE
: сегодняшняя дата.LOG_NAME
: имя файла журнала.APP_TITLE
: название приложения.MAX_BODY_TOKEN_SIZE
: максимальное количество токенов для тела комментария.DEFAULT_QUERY_TEXT
: текст по умолчанию, используемый для приглашения GPT-3.HELP_TEXT
: текст, отображаемый при наведении курсора мыши на значок справки. Если вы хотите внести свой вклад в этот проект, создайте запрос на включение.
Этот проект лицензируется по лицензии MIT.