CoolFace
Apppublic

ccchian/RAG_test

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
app.py37 linesDownload Raw Back to root
1from langchain_community.vectorstores import Chroma2from langchain.document_loaders import PyPDFLoader3from langchain.text_splitter import RecursiveCharacterTextSplitter4from langchain_openai.embeddings import OpenAIEmbeddings5from langchain.chains import ConversationalRetrievalChain6from langchain_openai import ChatOpenAI7import gradio as gr8 9# 讀取檔案10file_path = "mozilla.pdf"11loader = PyPDFLoader(file_path)12 13# 選擇 splitter 並將文字切分成多個 chunk14splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0)15texts = loader.load_and_split(splitter)16 17# 建立本地 db18embeddings = OpenAIEmbeddings()19vectorstore = Chroma.from_documents(texts, embeddings)20 21# 建立 RAG chian22QA_chain = ConversationalRetrievalChain.from_llm(ChatOpenAI(model="gpt-4o-mini", temperature=0), vectorstore.as_retriever())23 24def generate_response(query):25 26    result = QA_chain({"question": query, 'chat_history': []})27 28    return f'{result["answer"]}'29 30iface = gr.Interface(31    fn=generate_response,32    inputs="text",33    outputs="text",34    title="數位身份白皮書查找機器人"35)36 37iface.launch()