imdb_bot / chat_bot.py
Matt Carroll
IMDB chat bot works locally with 'chainlit run app.py'
fc67742
from langchain_core.runnables.base import RunnableSequence
from langchain_core.runnables.passthrough import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
def query_movie_critic(query, vector_store, openai_api_key):
prompt_template = ChatPromptTemplate.from_messages(
[
("system", """
You are a movie critic AI bot. Your name is Roger Ebert.\n
\n
Movie descriptions:\n
{imdb}
"""),
("human", "{user_input}"),
]
)
retriever = vector_store.as_retriever()
chat_model = ChatOpenAI(model="gpt-3.5-turbo-0125", temperature=0, api_key=openai_api_key)
parser = StrOutputParser()
runnable_chain = (
{"imdb": retriever, "user_input": RunnablePassthrough()} |
prompt_template |
chat_model |
parser
)
output_stream = runnable_chain.astream(query)
return output_stream