Test / app.py
Jekyll2000's picture
Update app.py
c40a97c verified
raw
history blame
2.77 kB
from langchain_community.chat_message_histories import StreamlitChatMessageHistory
import streamlit as st
from langchain.prompts import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
MessagesPlaceholder,
)
from more_itertools import chunked
from langserve import RemoteRunnable
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import os
from langchain import PromptTemplate
from langchain import LLMChain
from langchain_together import Together
import re
import pdfplumber
# Set the API key with double quotes
os.environ['TOGETHER_API_KEY'] = "5653bbfbaf1f7c1438206f18e5dfc2f5992b8f0b6aa9796b0131ea454648ccde"
text = ""
max_pages = 16
with pdfplumber.open("AI Engineer Test.pdf") as pdf:
for i, page in enumerate(pdf.pages):
if i >= max_pages:
break
text += page.extract_text() + "\n"
def Bot(Questions):
chat_template = """
Based on the provided context: {text}
Please answer the following question: {Questions}
Only provide answers that are directly related to the context. If the question is unrelated, respond with "I don't know".
"""
prompt = PromptTemplate(
input_variables=['text', 'Questions'],
template=chat_template
)
llama3 = Together(model="meta-llama/Llama-3-70b-chat-hf", max_tokens=250)
Generated_chat = LLMChain(llm=llama3, prompt=prompt)
def ChatBot(Questions):
greetings = ["hi", "hello", "hey", "greetings", "what's up", "howdy"]
# Check if the input question is a greeting
question_lower = Questions.lower().strip()
if question_lower in greetings or any(question_lower.startswith(greeting) for greeting in greetings):
return "Hello! How can I assist you with the document today?"
else:
response=Bot(Questions)
return response.translate(str.maketrans('', '', '\n'))
""" # --- Logo ---
st.set_page_config(
page_title="AI Engineer Test Chatbot",
page_icon="Insight Therapy Solutions.png",
layout="wide",
)
st.sidebar.image("Insight Therapy Solutions.png", width=200)
st.sidebar.title("Navigation")
st.sidebar.write("Reclaim Your Mental Health")
st.sidebar.markdown("[Visit us at](https://www.insighttherapysolutions.com/)")
"""
# Add some custom styling
st.markdown(
"""
<style>
.css-18e3th9 {
padding-top: 3rem;
}
.css-1d391kg {
text-align: center;
}
.stButton>button {
background-color: #4CAF50;
color: white;
border: none;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
border-radius: 8px;
}
</style>
""", unsafe_allow_html=True
)