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()