Atualizado para LiteLLM para conector compatível com openai, torna mais fácil adicionar suporte para uma variedade de modelos, agora estamos usando um arquivo json de modelo único para nossa configuração. Certifique-se de ter as chaves de API apropriadas para usar o Google Gemini AI Studio. GPT 4o, suporte para Soneto 3.5.
Suporte para novos modelos de Claude, com alguns ajustes.
Python atualizado para 3.11. Também adicionamos suporte para GPT-4 128k e Claude 2.1 + Claude Instant v1.2. Certifique-se de atualizar suas dependências de acordo.
Veja: Antrópico/ Claude 2
Também atualizei algumas dependências (Anthropic, OpenAI, PRAW, Streamlit)
Visão geral em vídeo das atualizações @YouTube
Novo artigo @ Better Programming/Medium: Transformando o resumo do Reddit com Claude 100k e GPT 16k
Expanda as configurações para usar modelos antrópicos; também adicionou suporte para modelos de instrução OpenAI mais antigos - a maioria produz resultados inúteis, mas úteis para testar, ou seja, o Text Davinci 003 produz subjetivamente alguns dos resultados da mais alta qualidade. Os novos modelos 100k muitas vezes podem consumir threads inteiros do Reddit sem recursão.
Não se esqueça de adicionar sua chave de API Anthropic ao seu arquivo .env. (ANTHROPIC_API_KEY)
https://www.anthropic.com/index/100k-context-windows
Se você tiver acesso à API, poderá usar janelas de contexto mais longas hoje. Veja os documentos. https://platform.openai.com/docs/models/gpt-4 Cadastre-se na lista de espera aqui: https://openai.com/waitlist/gpt-4
Artigo @ Melhor programação/meio Construindo um resumo de tópicos do Reddit com API ChatGPT
Este é um resumidor de threads do Reddit baseado em Python que usa GPT-3 para gerar resumos dos comentários do thread.
Este script é usado para gerar resumos de threads do Reddit usando a API OpenAI para completar pedaços de texto com base em um prompt com resumo recursivo. Ele começa fazendo uma solicitação a um tópico específico do Reddit, extraindo o título e o próprio texto e, em seguida, encontrando todos os comentários no tópico.
Esses comentários são então concatenados em grupos de um número especificado de tokens, e um resumo é gerado para cada grupo solicitando à API OpenAI o texto do grupo e o título e o próprio texto do tópico do Reddit. Os resumos são então salvos em um arquivo em uma pasta de outputs
no diretório de trabalho atual.
Para instalar as dependências, você pode usar poetry
:
poetry install
Você também precisará fornecer credenciais de API OpenAI/Reddit/Anthropic. Crie um arquivo .env
e adicione o seguinte:
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
Para instalar dependências de desenvolvimento, execute:
poetry install --extras dev
Este projeto usa pytest para teste e mypy para verificação de tipo.
Para executar testes e verificação de tipo, use os seguintes comandos:
poetry run pytest
poetry run mypy .
Este projeto também usa preto para formatação de código e pylint para linting.
Para formatar o código e verificar erros de linting, use os seguintes comandos:
poetry run black .
poetry run pylint .
Para executar o aplicativo, use o seguinte comando:
streamlit run app/main.py
Isso iniciará um aplicativo da web que permite inserir um URL de tópico do Reddit e gerar um resumo. O aplicativo irá gerar automaticamente prompts para GPT-3 com base no conteúdo do tópico e gerar um resumo com base nesses prompts.
Você pode personalizar o comportamento do aplicativo usando o arquivo config.py
. As seguintes opções de configuração estão disponíveis:
ATTACH_DEBUGGER
: se deseja anexar um depurador ao aplicativo.WAIT_FOR_CLIENT
: se deve aguardar a conexão de um cliente antes de iniciar o aplicativo.DEFAULT_DEBUG_PORT
: A porta padrão a ser usada para o depurador.DEBUGPY_HOST
: o host a ser usado para o depurador.DEFAULT_CHUNK_TOKEN_LENGTH
: O comprimento padrão de um bloco de comentários.DEFAULT_NUMBER_OF_SUMMARIES
: o número padrão de resumos a serem gerados.DEFAULT_MAX_TOKEN_LENGTH
: o comprimento máximo padrão de um resumo.LOG_FILE_PATH
: O caminho para o arquivo de log.LOG_COLORS
: Um dicionário de cores para o log.REDDIT_URL
: o URL do tópico do Reddit para resumir.TODAYS_DATE
: data de hoje.LOG_NAME
: O nome do arquivo de log.APP_TITLE
: O título do aplicativo.MAX_BODY_TOKEN_SIZE
: o número máximo de tokens para o corpo de um comentário.DEFAULT_QUERY_TEXT
: o texto padrão a ser usado para o prompt GPT-3.HELP_TEXT
: o texto a ser exibido quando o usuário passa o mouse sobre o ícone de ajuda. Se você quiser contribuir com este projeto, crie uma solicitação pull.
Este projeto está licenciado sob a Licença MIT.