O Reddit AI Trend Reports é um projeto Python de código aberto. Ele foi desenvolvido para ajudar os usuários a rastrear e analisar automaticamente as tendências nas discussões sobre inteligência artificial (IA) na comunidade do Reddit. A ferramenta é capaz de obter publicações relevantes de subpainéis do Reddit especificados pelo usuário. Em seguida, ela resume o conteúdo, executa a análise de sentimentos e identifica palavras-chave populares para essas postagens. Por fim, gera uma variedade de gráficos de visualização de dados para oferecer aos usuários uma compreensão visual do que está em alta e do sentimento da comunidade em IA. Ideal para pesquisadores de IA, analistas de mercado e qualquer pessoa interessada no tópico de IA no Reddit, essa ferramenta melhora efetivamente a eficiência da aquisição e análise de informações.
Lista de funções
- Captura de publicações do Redditde um subpainel do Reddit especificado pelo usuário (por exemplo
r/MachineLearning
,r/StableDiffusion
,r/ChatGPT
etc.) para obter as postagens mais recentes ou populares. - Filtragem de palavras-chaveFiltra as postagens rastreadas de acordo com uma lista de palavras-chave definidas pelo usuário, mantendo apenas o conteúdo relevante.
- Análise de sentimentoAnálise de sentimento automatizada de títulos e conteúdo de postagens para determinar a atitude positiva, negativa ou neutra da comunidade em relação a tópicos específicos de IA.
- Resumo do conteúdo da postagemResumir o conteúdo de uma postagem usando um Modelo de Linguagem Ampla (LLM) para destilar rapidamente as principais ideias e mensagens da postagem.
- Oferece suporte à API OpenAI como back-end de compactação, permitindo o uso de modelos como o GPT-3.5.
- Suporte para modelos Hugging Face como backend de resumo, permitindo o uso de mais modelos de código aberto.
- Identificação de palavras-chave importantesAnálise de conteúdo de postagens para descobrir e identificar automaticamente palavras-chave e tendências atuais em IA no Reddit.
- Visualização de dados:: Utilização
LIDA
A biblioteca gera automaticamente vários gráficos de visualização de dados. Esses gráficos incluem, entre outros, gráficos de barras, gráficos de linhas, gráficos de dispersão e nuvens de palavras para ajudar os usuários a entender os dados de forma mais intuitiva. - Saída de resultadosSalvar os resultados da análise (incluindo dados brutos, resumos e pontuações de sentimento) como um arquivo no formato CSV ou JSON. Os gráficos gerados são então salvos como arquivos de imagem.
Usando a Ajuda
A Reddit AI Trend Analysis Tool é uma ferramenta de linha de comando baseada em Python. Os usuários precisam de algum conhecimento básico de operações Python e linha de comando para usá-la. Abaixo estão as etapas detalhadas de instalação e uso, bem como o fluxo das principais funções.
Etapa 1: Preparação do ambiente e instalação
Antes de usar essa ferramenta, você precisa preparar seu ambiente Python e instalar todas as dependências.
- Repositório de código clone:
Primeiro, abra seu terminal ou ferramenta de linha de comando. Em seguida, execute o seguinte comando para clonar o código do projeto do GitHub para seu computador local.git clone https://github.com/liyedanpdx/reddit-ai-trends.git
Quando a clonagem estiver concluída, vá para o diretório em que o projeto está localizado.
cd reddit-ai-trends
- Criar e ativar um ambiente virtual:
Para evitar conflitos com outros projetos Python em seu sistema, é recomendável criar um ambiente virtual Python separado para essa ferramenta.
Crie um ambiente virtual:python -m venv venv
Ativar o ambiente virtual:
- em sistemas macOS ou Linux:
source venv/bin/activate
- No Windows:
.\venv\Scripts\activate
Após a ativação do ambiente virtual, o prompt da linha de comando será precedido pela mensagem
(venv)
indicando que você entrou no ambiente virtual. - em sistemas macOS ou Linux:
- Instalar as dependências do projeto:
Todas as bibliotecas de dependência do projeto estão listadas na seçãorequirements.txt
arquivo. Depois de ativar o ambiente virtual, execute o seguinte comando para instalá-los:pip install -r requirements.txt
Esse processo pode levar algum tempo, dependendo da velocidade de sua Internet.
- Obter credenciais de API:
Essa ferramenta requer acesso à API do Reddit para dados de postagens e à API do Large Language Model (LLM) para resumir o conteúdo das postagens. Portanto, você precisa acessar as seguintes credenciais:- Credenciais da API do Reddit (PRAW):
- Visite a página do desenvolvedor do Reddit.
- Clique em "
are you a developer? create an app...
"(Você é um desenvolvedor? Crie um aplicativo...). - Selecione "
script
"Tipo. - Preencha o nome do aplicativo (por exemplo
RedditAITrendsTracker
), description. - Em "
redirect uri
"Preencha ohttp://localhost:8080
(Esse URL não precisa ser real, mas deve ser preenchido). - Clique em "
create app
". - Após a criação bem-sucedida, você verá
client_id
(Abaixo do nome do aplicativo, algo comoxxxxxxxxxxxxxx
) eclient_secret
(emsecret
ao lado das palavras). - Você também precisará de um
user_agent
. Normalmente, esse é o seu nome de usuário do Reddit ou uma string que descreve seu aplicativo (por exemploRedditAITrendsTracker by u/YourRedditUsername
).
- Credenciais da API do LLM:
Essa ferramenta é compatível com OpenAI e Hugging Face como backends LLM.- Chave da API da OpenAISe você quiser usar o modelo GPT para compactação, precisará de uma chave de API da OpenAI. Visite o site da OpenAI para obter uma.
- Token de API de rosto de abraçoSe você quiser usar o modelo Hugging Face, precisará de um token da API Hugging Face. Visite o site da Hugging Face para obter um.
- Credenciais da API do Reddit (PRAW):
- Configuração de variáveis de ambiente:
Crie um arquivo no diretório raiz do projeto chamado.env
file. Nesse arquivo, preencha as credenciais de API que você acabou de obter. Certifique-se de manter essas informações apenas localmente e não as torne públicas.# Reddit API 凭证 REDDIT_CLIENT_ID='你的Reddit Client ID' REDDIT_CLIENT_SECRET='你的Reddit Client Secret' REDDIT_USER_AGENT='你的Reddit User Agent' REDDIT_USERNAME='你的Reddit 用户名' REDDIT_PASSWORD='你的Reddit 密码' # 注意:出于安全考虑,如果不需要发帖等操作,可以不提供密码,只使用匿名访问。 # LLM API 凭证 (选择其中一个或都配置) OPENAI_API_KEY='你的OpenAI API Key' HUGGINGFACE_API_TOKEN='你的Hugging Face API Token'
Etapa 2: Execute e use
Depois de configurar seu ambiente e suas credenciais, você pode começar a executar o main.py
para executar a tarefa de análise agora. Os scripts controlam seu comportamento por meio de argumentos de linha de comando.
- Comandos básicos de execução:
A maneira mais fácil de executar isso é especificar o subpainel do Reddit a ser rastreado.python main.py --subreddits MachineLearning
Esse comando obtém os dados do
r/MachineLearning
A subseção pega um número padrão de postagens, mas não as resume, analisa o sentimento nem as visualiza. - Função principal Fluxo de operações:
- Obtenção e filtragem de postagens:
fazer uso de--subreddits
especifica um ou mais subpainéis Reddit, com vários painéis separados por vírgulas e sem espaços.
fazer uso de--keywords
O parâmetro permite filtrar posts com base em palavras-chave. Somente as postagens com títulos ou conteúdo que contenham essas palavras-chave serão processadas. Várias palavras-chave também são separadas por vírgulas.
fazer uso de--limit
pode limitar o número de postagens a serem rastreadas.python main.py --subreddits MachineLearning,StableDiffusion --keywords "LLM,GPT-4,Diffusion" --limit 50
Esse comando obtém os dados do
r/MachineLearning
responder cantandor/StableDiffusion
Rastreie até 50 postagens que contenham as palavras-chave "LLM", "GPT-4" ou "Diffusion". - Realização de análise de sentimentos:
Para realizar a análise de sentimento em uma postagem, basta adicionar o comando--sentiment_analysis
Parâmetros.python main.py --subreddits ChatGPT --limit 20 --sentiment_analysis
Isso terá um impacto sobre a
r/ChatGPT
de 20 publicações foram analisadas quanto ao sentimento e as pontuações de sentimento foram incluídas nos resultados. - Resumo do conteúdo da postagem:
Para ativar o recurso de resumo de postagem, você precisa adicionar--summarize_posts
parâmetros. Além disso, você precisa passar o parâmetro--llm_backend
Especifique o backend do LLM a ser usado (openai
talvezhuggingface
), e por meio de--model_name
Especifique o modelo específico.- Resumindo com o OpenAI:
python main.py --subreddits MachineLearning --limit 10 --summarize_posts --llm_backend openai --model_name gpt-3.5-turbo --summary_length 50
Esse comando usará a função
gpt-3.5-turbo
que resume o conteúdo de cada publicação em cerca de 50 palavras. - Resumindo com o Hugging Face:
python main.py --subreddits StableDiffusion --limit 10 --summarize_posts --llm_backend huggingface --model_name facebook/bart-large-cnn --summary_length 100
Esse comando usará a função
facebook/bart-large-cnn
modelo que resume o conteúdo de cada postagem em aproximadamente 100 palavras. Certifique-se de que o modelo escolhido seja um modelo de resumo.
- Resumindo com o OpenAI:
- Gerar visualizações de dados:
Para gerar gráficos automaticamente, adicione a opção--visualize_data
parâmetros. Essa ferramenta usará oLIDA
A biblioteca gera automaticamente uma variedade de gráficos com base nos dados capturados.python main.py --subreddits ChatGPT,MachineLearning --limit 100 --visualize_data --output_dir my_results ``` 这个命令不仅会抓取数据,还会生成图表并保存到 `my_results` 文件夹中。
- Especifique o diretório de saída:
fazer uso de--output_dir
para especificar o diretório em que os resultados da análise (arquivos CSV, JSON e imagens geradas) são salvos. Se o diretório não existir, o script o criará automaticamente.python main.py --subreddits AITech --limit 30 --output_dir AI_Reports --summarize_posts --visualize_data
Todos os arquivos gerados serão salvos no diretório
AI_Reports
pasta.
- Obtenção e filtragem de postagens:
Lista de parâmetros da linha de comando
Esta é uma lista completa dos parâmetros suportados pelo script:
--subreddits
Obrigatório. Lista separada por vírgulas de nomes de subplacas do Reddit.--keywords
Opcional. Lista de palavras-chave separadas por vírgula para filtrar postagens.--limit
Opcional. O número máximo de posts a serem capturados, o padrão é 50.--llm_backend
Opcional. Selecione o backend do LLM.openai
talvezhuggingface
Se você ativarsummarize_posts
Então precisa ser.--model_name
Opcional. o nome do modelo LLM, comogpt-3.5-turbo
talvezfacebook/bart-large-cnn
.--summary_length
Opcional. O tamanho (número de palavras) do resumo da postagem, o padrão é 100.--output_dir
Opcional. O diretório em que os resultados e os gráficos são salvos; o padrão éresults
.--sentiment_analysis
Opcional. Realiza análise de sentimento se estiver presente.--summarize_posts
: Opcional. Resume a postagem, caso ela exista.--visualize_data
Opcional. Se presente, gera um gráfico de visualização de dados.
Ao combinar esses parâmetros, você tem a flexibilidade de configurar e executar a ferramenta Reddit AI Trend Analysis de acordo com suas necessidades.
cenário do aplicativo
- Pesquisadores de IA rastreiam pontos de acesso à tecnologia
Ao analisarr/MachineLearning
talvezr/ArtificialIntelligence
Com as postagens nesses quadros, os pesquisadores podem se informar rapidamente sobre os últimos resultados de pesquisa, algoritmos populares e tendências do setor, para que possam ajustar a direção de suas pesquisas. - Analistas de mercado obtêm insights sobre o sentimento dos usuários de produtos de IA
Os analistas de mercado podem monitorarr/ChatGPT
ou uma comunidade específica de produtos de IA, com recursos de análise de sentimentos para entender as reações e emoções dos usuários a novos recursos, atualizações ou produtos concorrentes, fornecendo dados para apoiar a estratégia do produto. - Criadores de conteúdo que buscam tópicos importantes relacionados à IA
Autores ou blogueiros autopublicados podem usar essa ferramenta para identificar tópicos de tendências e palavras-chave sobre IA no Reddit para criar conteúdo mais popular entre os leitores e aumentar o número de leitores e a interação com seus artigos. - Ferramenta de monitoramento de desenvolvedores de IA ou feedback da comunidade da estrutura
Os desenvolvedores podem rastrear subpainéis relacionados a estruturas de IA específicas (por exemplo, TensorFlow, PyTorch) ou ferramentas (por exemplo, Stable Diffusion) para coletar problemas, solicitações de recursos e experiências de uso encontradas pelos usuários a fim de aprimorar o produto.
QA
- P: Como faço para obter as credenciais da API do Reddit?
R: Você precisa visitar a página do desenvolvedor do Reddithttps://www.reddit.com/prefs/apps/
. Criar um "script
" e preencha as informações necessárias sobre o aplicativo. Após a criação bem-sucedida, a página exibirá seuclient_id
responder cantandoclient_secret
. Ao mesmo tempo, você precisa configurar o aplicativo com umuser_agent
. - P: Por que preciso de uma chave de API do LLM?
R: A chave da API do LLM é usada para chamar o serviço de modelagem de linguagem grande. Essa ferramenta usa o LLM para resumir automaticamente o conteúdo das publicações do Reddit. Se precisar resumir usando o modelo GPT da OpenAI ou outros modelos no Hugging Face, você deverá fornecer a chave de API ou o token apropriado. - P: Quais modelos de LLM são compatíveis com a pós-compactação?
R: Se você escolher o OpenAI como seu backend, poderá usar ogpt-3.5-turbo
e outros vários modelos suportados pela OpenAI. Se você escolher o Hugging Face como backend, poderá usar qualquer modelo da biblioteca de modelos do Hugging Face que seja adequado para tarefas de resumo de texto, comofacebook/bart-large-cnn
. Você precisa especificar isso na linha de comando com base no nome do modelo. - P: Como faço para especificar várias subseções ou palavras-chave do Reddit?
R: Na linha de comando, use--subreddits
talvez--keywords
basta colocar vários subpainéis ou palavras-chave com vírgulas,
A separação é suficiente. Exemplo:--subreddits MachineLearning,ChatGPT
talvez--keywords "LLM,Diffusion"
. Observe que não deve haver espaços antes ou depois da vírgula. - P: Não tenho conhecimento básico de Python, posso usar essa ferramenta?
R: Essa ferramenta é um script de linha de comando baseado em Python que exige que o usuário a execute no terminal ou na linha de comando. Portanto, você precisará entender a configuração básica do ambiente Python, as operações do ambiente virtual e o uso de argumentos de linha de comando. Se não tiver nenhuma experiência com Python ou linha de comando, talvez seja necessário aprender algumas noções básicas antes de poder usá-la sem problemas.