File size: 1,336 Bytes
a6d69dd fb2381c 5123bff 8933887 5aa69b5 5123bff a6d69dd e750268 fb2381c e750268 5123bff ffe84f2 fbc7d7a ffe84f2 5123bff a6d69dd |
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 |
import gradio as gr
import os
from langchain_openai import OpenAIEmbeddings
from langchain_community.document_loaders import TextLoader
from langchain_openai import ChatOpenAI
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.chains import ConversationalRetrievalChain
OpenAIModel = "gpt-3.5-turbo"
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
llm = ChatOpenAI(model=OpenAIModel, temperature=0.1, openai_api_key=OPENAI_API_KEY)
def ask(text):
answer = qa.run(text)
return answer
loader = TextLoader("test.txt")
data = loader.load()
embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)
text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=50)
all_splits = text_splitter.split_documents(data)
db2 = FAISS.from_documents(all_splits, embeddings)
qa = RetrievalQA.from_chain_type(llm=llm, retriever=db2.as_retriever())
iface = gr.Interface(ask,gr.Textbox(label="Question"),gr.Textbox(label="Answer"), title="BiMah Customer Service Chatbot",description="A chatbot that can answer things related to BiMah (Bimbel Mahasiswa)", examples=["How BiMah can enforce students to be better?","Siapa CEO BiMah?", "Bagaimana langkah-langkah pendaftaran di BiMah?"])
iface.launch()
|