rak-301/Coding_Assistant_Hints
0
1from langchain_openai import ChatOpenAI2from langchain.chains import LLMChain3from prompts import coding_hints_prompt_template4from langchain.memory.buffer import ConversationBufferMemory5 6from dotenv import load_dotenv7 8import chainlit as cl9 10# load_dotenv()11 12 13@cl.on_chat_start14def query_llm():15 openai_api_key = os.getenv("OPENAI_API_KEY")16 if not openai_api_key:17 raise ValueError("OPENAI_API_KEY environment variable not set")18 19 llm = ChatOpenAI(model="gpt-4o",20 temperature=0.3)21 conversation_memory = ConversationBufferMemory(memory_key="chat_history",22 return_messages=True,23 )24 llm_chain = LLMChain(llm=llm, prompt=coding_hints_prompt_template, memory=conversation_memory)25 cl.user_session.set("llm_chain", llm_chain)26 27 28@cl.on_message29async def query_llm(message: cl.Message):30 llm_chain = cl.user_session.get("llm_chain")31 response = await llm_chain.acall(message.content,32 callbacks=[33 cl.AsyncLangchainCallbackHandler()])34 35 await cl.Message(response["text"]).send()36 37example_input = """Implement Selection Sort38Given a list of numbers, sort it using the Selection Sort algorithm.39 40Example41{42"arr": [5, 8, 3, 9, 4, 1, 7]43}44Output:45 46[1, 3, 4, 5, 7, 8, 9]47 48 49Constraints:501 <= length of the given list <= 4 * 10^351-10^9 <= number in the list <= 10^9"""