2
respostas

Erro ao instalar LLM Chain

Bom dia! Estou realizando a aula 2.1 e trabalhando no código disponível no link abaixo e aparentemente o Módulo LLMChain foi descontinuado / depreciado. https://github.com/guilhermesilveira/langchain-1/blob/main/aula2.1/langchain_cadeia.py

Assim tentei implementar a solução apresentada no tópico abaixo, aberto por outra colega e aparentemente a solução funcionou. https://cursos.alura.com.br/forum/topico-erro-ao-executar-o-modulo-simplesequentialchain-426911

A dúvida é se esta aula será atualizada ou se posso seguir normalmente com esta solução ou outra, uma vez que o professor demonstrou todo o código com base no LLMChain e SimplesSequentialChain e a sintaxe sugerida pelo colega Wilson está diferente daquela que foi apresentada na aula. Não tenho conhecimento tão avançado como os colegas e tenho receio que esta solução possa prejudicar o normal andamento das próximas aulas.

Abaixo bloco de código usado como alternativa ao LLMChain:

from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.prompts import ChatPromptTemplate
from langchain_core.runnables import chain
from langchain_core.output_parsers import StrOutputParser
from langchain.globals import set_debug

import os
from dotenv import load_dotenv

load_dotenv()

llm = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=0.5,
    api_key=os.getenv("OPENAI_API_KEY"))

modelo_cidade = ChatPromptTemplate.from_template(
    "Sugira uma cidade dado meu interesse por {interesse}"
)

modelo_restaurantes = ChatPromptTemplate.from_template(
    "Sugira restuurantes populares entre locais em {cidade}"
)

modelo_cultural = ChatPromptTemplate.from_template(
    "Sugira atividades e locais culturais em {cidade}"
)

@chain
def cadeia_viagens(text):
    cadeia_cidade = modelo_cidade | llm | StrOutputParser()
    cadeia_restaurantes = modelo_restaurantes | llm | StrOutputParser()
    cadeia_cultural = modelo_cultural | llm | StrOutputParser()
    parse = cadeia_cidade.invoke({"interesse": text})
    return cadeia_restaurantes.invoke({"cidade": parse}) + cadeia_cultural.invoke({"cidade": parse})
    
resultado = cadeia_viagens.invoke("praias")
print(resultado)

Fico no aguardo para avançar! Obrigado.

2 respostas

Alguma solução?

Olá, Luciano! Como vai?

Primeiramente, pedimos desculpas pela demora no retorno e agradecemos sua paciência.

A solução que você encontrou é uma boa alternativa para o problema que você está enfrentando com o LLMChain. O código que você compartilhou utiliza uma abordagem diferente, mas que ainda assim cumpre o mesmo propósito de criar uma cadeia de processamento usando modelos de linguagem.

Se a solução sugerida pelo colega está funcionando para você, não há problema em continuar com ela. Quanto à atualização do curso, essa situação foi repassada para a equipe responsável pelo conteúdo para que seja averiguado. Enquanto isso não acontece, seguir com a solução alternativa é uma boa estratégia para não interromper seu aprendizado.

Espero ter ajudado. Conte sempre com o apoio do fórum :)

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!