Spaces:
Sleeping
Sleeping
File size: 2,430 Bytes
f483191 e4aeeee 48bf45d b791812 03b857c 1f1b415 f74f4fd 03b857c f483191 55ea56c f483191 555d0f1 f483191 b791812 f483191 30f2e2b 33c6f10 f33e495 b791812 30f2e2b 55ea56c f483191 55ea56c f483191 1f1b415 3d68800 f483191 55ea56c f483191 33c6f10 467e663 b791812 f483191 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 21 22:17:43 2023
@author: Loges
"""
import streamlit as st
import sentencepiece
from gtts import gTTS
import base64
from transformers import pipeline, T5Tokenizer, T5ForConditionalGeneration
model=T5ForConditionalGeneration.from_pretrained("Logeswaransr/T5_MineAI_Prototype").to("cpu")
tokenizer=T5Tokenizer.from_pretrained("Logeswaransr/T5_MineAI_Prototype")
pipe=pipeline('text2text-generation', model=model, tokenizer=tokenizer)
greetings=["Hello! My name is MineAI, A specially trained LLM here to assist you on your Mining Related Queries.","How may I help you?"]
st.set_page_config(page_title='Sample Chatbot', layout='wide')
if 'messages' not in st.session_state:
st.session_state.messages=[]
st.subheader("Mine AI")
audio_stream=r"sample_audio.mp3"
for message in st.session_state.messages:
with st.chat_message(message['role']):
st.markdown(message['content'])
## messages element format: {'role':'user', 'content':'<user prompt>'}
if st.session_state.messages==[]:
for gr in greetings:
with st.chat_message("assistant"):
st.markdown(gr)
tts=gTTS(gr)
tts.save(audio_stream)
with open(audio_stream, 'rb') as file:
audio_data=file.read()
audio_base64 = base64.b64encode(audio_data).decode('utf-8')
audio_tag = f'<audio autoplay="true" src="data:audio/mp3;base64,{audio_base64}">'
st.markdown(audio_tag, unsafe_allow_html=True)
st.session_state.messages.append({
'role':'assistant',
'content': gr})
if prompt:=st.chat_input("Enter your query"):
with st.chat_message("user"):
st.markdown(prompt)
st.session_state.messages.append({
'role':'user',
'content': prompt})
out=pipe(prompt)
response=out[0]['generated_text']
# response = f"Analysis: {response}"
with st.chat_message("assistant"):
st.markdown(response)
tts=gTTS(response)
tts.save(audio_stream)
with open(audio_stream, 'rb') as file:
audio_data=file.read()
audio_base64 = base64.b64encode(audio_data).decode('utf-8')
audio_tag = f'<audio autoplay="true" src="data:audio/mp3;base64,{audio_base64}">'
st.markdown(audio_tag, unsafe_allow_html=True)
st.session_state.messages.append({
'role':'assistant',
'content': response}) |