Spaces:
Runtime error
Runtime error
# Created by Leandro Carneiro at 19/01/2024 | |
# Description: | |
# ------------------------------------------------ | |
import search_engine | |
import rag | |
import constants | |
import llm | |
def generate_news(subject, min_words, max_words, sites, model): | |
print('\n\n' + '*' * 50) | |
print('\n\nInício do Programa: \n') | |
print('\nBuscando sites relevantes...') | |
retrieved_sites = search_engine.search_google(subject, sites) | |
if type(retrieved_sites) == str: | |
return 'Erro: ' + retrieved_sites | |
print('\nBaixando as notícias...') | |
retrieved_text_from_sites = search_engine.retrieve_text_from_site(retrieved_sites) | |
if type(retrieved_text_from_sites) == str: | |
return 'Erro: ' + retrieved_text_from_sites | |
print('\nSalvando as notícias em base local...') | |
ret = search_engine.delete_base(constants.local_base) | |
if ret != 0: | |
return 'Erro: ' + ret | |
ret = search_engine.save_on_base(retrieved_sites, retrieved_text_from_sites, constants.local_base) | |
if ret != 0: | |
return 'Erro: ' + ret | |
print('\nGerando embeddings e vectorstore...') | |
vectorstore = rag.generate_embeddings_and_vectorstore(constants.local_base, model) | |
if type(vectorstore) == str: | |
return 'Erro: ' + vectorstore | |
print('\nGerando a notícia (RAG)...') | |
print(' Assunto: ' + subject) | |
obj_rag = rag.Rag(vectorstore, min_words, max_words, model) | |
result_news = obj_rag.generate_text(subject) | |
if type(result_news) == str: | |
if 'maximum context length' in result_news: | |
msg = 'Erro: Reduza o número máximo de palavras.' | |
else: | |
msg = 'Erro: ' + result_news | |
return msg | |
print('\n\n' + '*' * 50 + '\n\n') | |
print(result_news[0]) | |
if result_news[1]: | |
print('\n\nFontes: ') | |
print(result_news[1]) | |
return result_news[0] + '\n\n' + 'Fontes: ' + '\n' + result_news[1] | |
else: | |
return result_news[0] | |
def call_llm(context, prompt, model): | |
print('\nChamando o modelo de linguagem...') | |
result = llm.invoke_llm(context, prompt, model) | |
return result | |