BhaskarChatBot / app.py
Bhaskar2611's picture
Update app.py
04e8e2c verified
raw
history blame
2.72 kB
# import os
# import gradio as gr
# from langchain.chat_models import ChatOpenAI
# from langchain.prompts import PromptTemplate
# from langchain.chains import LLMChain
# from langchain.memory import ConversationBufferMemory
# # Set OpenAI API Key
# OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
# # Define the template for the chatbot's response
# template = """You are a helpful assistant to answer all user queries.
# {chat_history}
# User: {user_message}
# Chatbot:"""
# # Define the prompt template
# prompt = PromptTemplate(
# input_variables=["chat_history", "user_message"],
# template=template
# )
# # Initialize conversation memory
# memory = ConversationBufferMemory(memory_key="chat_history")
# # Define the LLM chain with the ChatOpenAI model and conversation memory
# llm_chain = LLMChain(
# llm=ChatOpenAI(temperature=0.5, model="gpt-3.5-turbo"), # Use 'model' instead of 'model_name'
# prompt=prompt,
# verbose=True,
# memory=memory,
# )
# # Function to get chatbot response
# def get_text_response(user_message, history):
# response = llm_chain.predict(user_message=user_message)
# return response
# # Create a Gradio chat interface
# demo = gr.Interface(fn=get_text_response, inputs="text", outputs="text")
# if __name__ == "__main__":
# demo.launch()
import os
import gradio as gr
from langchain.chat_models import ChatOpenAI
from langchain.schema import AIMessage, HumanMessage
# Set OpenAI API Key
os.environ["OPENAI_API_KEY"] = "sk-3_mJiR5z9Q3XN-D33cgrAIYGffmMvHfu5Je1U0CW1ZT3BlbkFJA2vfSvDqZAVUyHo2JIcU91XPiAq424OSS8ci29tWMA" # Replace with your key
# Initialize the ChatOpenAI model
llm = ChatOpenAI(temperature=1.0, model="gpt-3.5-turbo-0613")
# Function to predict response
def get_text_response(message, history=None):
# Ensure history is a list
if history is None:
history = []
# Convert the Gradio history format to LangChain message format
history_langchain_format = []
for human, ai in history:
history_langchain_format.append(HumanMessage(content=human))
history_langchain_format.append(AIMessage(content=ai))
# Add the new user message to the history
history_langchain_format.append(HumanMessage(content=message))
# Get the model's response
gpt_response = llm(history_langchain_format)
# Append AI response to history
history.append((message, gpt_response.content))
# Return the response and updated history
return gpt_response.content, history
# Create a Gradio chat interface
demo = gr.Interface(
fn=get_text_response,
inputs=["text", "state"],
outputs=["text", "state"]
)
if __name__ == "__main__":
demo.launch()