Spaces:
Sleeping
Sleeping
from dotenv import load_dotenv | |
load_dotenv() | |
import streamlit as st | |
from langchain.text_splitter import CharacterTextSplitter | |
from langchain.embeddings.openai import OpenAIEmbeddings | |
from langchain.vectorstores import FAISS | |
from langchain.chains.question_answering import load_qa_chain | |
from langchain.llms import OpenAI | |
import os | |
def main(): | |
load_dotenv() | |
st.set_page_config(page_title="Chat Text") | |
st.header("Chat Text 💬") | |
# Dosyayı oku | |
file_path = 'shipping.txt' | |
with open(file_path, 'r', encoding='utf-8') as file: | |
text = file.read() | |
# Metni parçalara ayır | |
char_text_splitter = CharacterTextSplitter(separator="\n", chunk_size=1000, | |
chunk_overlap=200, length_function=len) | |
text_chunks = char_text_splitter.split_text(text) | |
embeddings = OpenAIEmbeddings( | |
openai_api_key=os.getenv('OPENAI_API_KEY') | |
) | |
docsearch = FAISS.from_texts(text_chunks, embeddings) | |
llm = OpenAI() | |
chain = load_qa_chain(llm, chain_type="stuff") | |
# Kullanıcıdan soru al | |
query = st.text_input("Type your question:") | |
if query: | |
docs = docsearch.similarity_search(query) | |
response = chain.run(input_documents=docs, question=query) | |
st.write(response) | |
if __name__ == '__main__': | |
main() |