ChatV1 / app.py
pranjalkar9's picture
removed share
796e2fb
import os
from langchain.llms import OpenAI
import streamlit as st
import gradio as gr
#Pdf Loader
from langchain.document_loaders import PyPDFLoader
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.agents.agent_toolkits import (
create_vectorstore_agent,
VectorStoreToolkit,
VectorStoreInfo
)
os.environ['OPENAI_API_KEY'] = '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'
llm = OpenAI(temperature=0.4)
embeddings = OpenAIEmbeddings()
loader = PyPDFLoader('2022_02_11_Montelogo Ida.pdf') # Baadme this will be updated from the Input @samunder
pages = loader.load_and_split()
store = Chroma.from_documents(pages,embeddings,collection_name='Montelogo_Ida')
vectorstore_info = VectorStoreInfo(
name = "Montelogo_Ida",
description = "Gpt on Montelogo Ida Pdf",
vectorstore = store
)
toolkit = VectorStoreToolkit(vectorstore_info=vectorstore_info)
agent_executor = create_vectorstore_agent(
llm=llm,
toolkit=toolkit,
verbose=True
)
chat_history = []
def generate_response(prompt, chat_history):
if prompt:
response = agent_executor.run(prompt)
chat_history.append((prompt, response))
return "",chat_history
with gr.Blocks() as demo:
gr.Markdown("Upload a document and Ask Questions")
with gr.Tab("Ask AI for cases based on Montelogo_Ida"):
gr.Markdown("This answers based on this ")
chatbot = gr.Chatbot()
msg = gr.Textbox("Chat with me ❤️")
clear = gr.ClearButton([msg, chatbot])
msg.submit(generate_response, [msg, chatbot], [msg, chatbot])
with gr.Tab("Upload ANY Pdf and Ask AI"):
gr.Markdown("Work in Progress")
# with gr.Row():
# # file_input = gr.File()
# with gr.Column(scale=0.15, min_width=0):
# btn = gr.UploadButton("📁", file_types=["pdf", "image", "video"])
# btn.upload()
# pdf_path = '/content/2022_02_11_Montelogo Ida.pdf'
# pdf_viewer = gr.FileViewer(pdf_path)
# image_output = gr.Image()
# image_button = gr.Button("Flip")
# with gr.Accordion("Open for More!"):
# gr.Markdown("Look at me...")
# iface = gr.Interface(
# fn=generate_response,
# inputs=gr.inputs.Textbox(label="User Message", placeholder="Enter your message..."),
# outputs=gr.outputs.Textbox(label="Generated AI Response"),
# title="Legal Case Chat",
# description="Enter your legal case context and get AI-generated responses.",
# theme="compact",
# layout="vertical",
# width="auto",
# height=400,
# show_tips=False
# )
demo.launch()