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.