|
import os |
|
import gradio as gr |
|
from langchain.chat_models import ChatOpenAI |
|
from langchain import LLMChain, PromptTemplate |
|
from langchain.memory import ConversationBufferMemory |
|
|
|
OPENAI_API_KEY=os.getenv('OPENAI_API_KEY') |
|
|
|
template = """Meet Eva:An english teacher helping students studying grammar |
|
|
|
Your name is Eva. You are an english teacher helping students studying grammar. Respond to the following messages accordingly. Also try to correct my grammar each time i say something. You can also ask grammar related questions sometimes. Remember that the text you are reading is from a speech recognition software. So ignore spelling errors, capitalisation errors etc. You can also provide answers for other topics occasionally. You are also an excellent story writer. |
|
{chat_history} |
|
User: {user_message} |
|
Chatbot |
|
""" |
|
|
|
prompt = PromptTemplate( |
|
input_variables=["chat_history", "user_message"], template=template |
|
) |
|
|
|
memory = ConversationBufferMemory(memory_key="chat_history") |
|
|
|
llm_chain = LLMChain( |
|
llm=ChatOpenAI(api_key="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",temperature='0.5', model_name="gpt-3.5-turbo"), |
|
prompt=prompt, |
|
verbose=True, |
|
memory=memory, |
|
) |
|
|
|
def get_text_response(user_message,history): |
|
response = llm_chain.predict(user_message = user_message) |
|
return response |
|
|
|
demo = gr.ChatInterface(get_text_response) |
|
|
|
if __name__ == "__main__": |
|
demo.launch(share=True,debug=True) |
|
|