Este é um programa Python que gera automaticamente uma "lista incrível" para uma palavra -chave específica como um arquivo de marcação. Uma "lista incrível" é uma lista de recursos relacionados a um tópico específico. Atualmente, os recursos incluem projetos do GitHub, artigos do Google Scholar, vídeos do YouTube, cursos, slides e apresentações, software e ferramentas e podcasts. A lista incrível é gerada automaticamente usando modelos GPT; Você pode escolher entre diferentes modelos para gerar a lista, como GPT 3.5 ou GPT 4.
poetry install OPENAI_API_KEY=<your_openai_api_key>
Uma conta do Google.
Visite o Google Cloud Console.
Se você ainda não o fez, crie um novo projeto clicando no suspensão "Selecione um projeto" no canto superior direito e clique em "Novo Projeto".
Depois que seu projeto for criado e selecionado, navegue até o menu de navegação (três linhas horizontais no canto superior esquerdo) e clique em "APIs & Services"> "Credenciais".
Clique no botão "Criar credenciais" e selecione "Tecla da API". Uma vez criado, sua chave da API será exibida.
Copie sua chave da API e salve -a com segurança. Você usará essa chave em seu aplicativo para autenticar suas solicitações.
Vá para a página inicial de pesquisa personalizada do Google.
Clique em "Criar um mecanismo de pesquisa personalizado".
Na seção "Sites para pesquisar", você pode especificar sites que deseja pesquisar ou escolher "pesquisar a web inteira" para permitir recursos de pesquisa mais amplos. No entanto, se você escolher "Pesquise a Web inteira", certifique -se de alternar apenas os sites incluídos "na seção" Sites para pesquisar ".
Preencha outros campos necessários, como o nome do seu mecanismo de pesquisa.
Clique no botão "Criar" na parte inferior.
Depois que seu mecanismo de pesquisa for criado, você será direcionado para uma página de configuração. Aqui, encontre e copie o "ID do mecanismo de pesquisa" (também chamado de "CX" em alguns contextos). Você usará este ID em seu aplicativo para especificar qual mecanismo de pesquisa personalizado para usar para consultas.
Por fim, adicione as seguintes variáveis de ambiente ao arquivo .env:
GOOGLE_CLOUD_API_KEY='<google cloud api key>'
CUSTOM_SEARCH_ENGINE_ID='<custom search engine id>'
Fornecemos uma interface de fluxo para executar este aplicativo. Para usá -lo:
Execute o aplicativo StreamLit usando a poesia:
poetry run streamlit run streamlit_run.py Aberto http://localhost:8501
Você pode inserir facilmente os parâmetros necessários (como tipo de modelo, palavra -chave e descrição) através da interface do usuário e gerar sua lista incrível!
A classe principal usada neste projeto é o AwesomeListGenerator . Esta classe aceita os seguintes parâmetros:
keyword : uma string representando a palavra -chave para a qual a lista incrível será gerada.description : Uma string que fornece uma descrição relacionada à palavra -chave.model : Uma string que representa o modelo OpenAI a ser usada para gerar o Markdown (o padrão é "GPT-3.5-Turbo-16K").data_extraction_batch_size : Um número inteiro representando o número de itens de dados a serem processados em cada lote (o padrão é 10). Por exemplo, se o tamanho do lote for 10, os dados serão buscados a partir das fontes de dados em lotes de 10 (como 10 projetos do GitHub por vez).number_of_results : um número inteiro que representa o número de resultados a serem buscados de cada fonte de dados (o padrão é 20). O número de resultados a buscar de cada fonte de dados (o padrão é 20). Por exemplo, buscar 20 projetos GitHub os processam com o modelo LLM em lotes com base em data_extraction_batch_size. Depois de inicializar a classe com esses parâmetros, Invoque o método save_and_return_awesome_list para gerar o arquivo de marcação. Aqui está um exemplo:
# 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 () O programa gerará um arquivo de marcação no diretório output com o nome de sua palavra -chave (por exemplo, Your_Keyword.md ). Este arquivo contém a "lista impressionante" gerada pelo programa.
O programa AwesomeListGenerator opera em duas fases principais: raspagem de dados e processamento de dados.
Na fase de raspagem de dados, o programa busca recursos relacionados à palavra -chave fornecida de várias fontes de dados. Atualmente, os recursos incluem repositórios do GitHub, artigos do Google Scholar, vídeos do YouTube e podcasts. O programa utiliza raspadores especializados para cada fonte, cada um dos quais foi projetado para buscar os recursos mais relevantes e de alta qualidade.
Por exemplo, o raspador do Github busca repositórios que correspondam à palavra -chave, classificados pelo número de estrelas (um indicador comum da relevância e qualidade de um repositório). Da mesma forma, o raspador do Google Scholar recupera artigos relacionados à palavra -chave e classificado pela contagem de citações.
Depois que os dados são raspados, eles são transmitidos para a fase de processamento de dados. Nesta fase, o programa usa o modelo GPT selecionado para processar os recursos buscados. O modelo filtra e classifica os recursos com base na relevância para a palavra -chave, a qualidade do conteúdo e a utilidade potencial para os usuários. O modelo GPT também formata os dados em uma lista de remarcar, adicionando formatação necessária, como links e breves descrições.
Notavelmente, as operações de raspagem e processamento são executadas em lotes. Esta operação em lote permite que o programa suporte quantos resultados necessários, com base no number_of_results configurado_of_results e data_extraction_batch_size . Dessa forma, você tem controle sobre a extensão dos dados que estão sendo tratados de cada vez, garantindo o uso eficiente de recursos.
Estamos procurando expandir o número de fontes de dados no futuro. Aqui estão algumas idéias que temos em mente:
Se você estiver interessado em contribuir, pode escolher uma das tarefas acima ou propor suas próprias idéias. Congratulamo -nos com todos os tipos de contribuições e apreciamos seu interesse em nosso projeto!
Adoramos ver as incríveis listas incríveis que nossa comunidade cria. Se você usou nossa ferramenta para gerar uma lista incrível, fique à vontade para nos informar e apresentaremos seu projeto aqui!
Você achou este projeto útil? Se ele lhe tragou valor, dê -nos um no Github. Esse gesto não apenas valida nossos esforços, mas também ajuda esse projeto a alcançar mais pessoas e continuar o desenvolvimento.
Sinta -se à vontade para bifurcar o repositório, contribuir enviando solicitações de tração ou abrir um problema. Seus comentários e contribuições são sempre bem -vindos!