Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -29,32 +29,34 @@ def get_pdf_text(pdf_docs):
|
|
29 |
# 과제
|
30 |
# 아래 텍스트 추출 함수를 작성
|
31 |
|
32 |
-
def get_text_file(
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
38 |
|
39 |
-
def get_csv_file(
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
46 |
|
47 |
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
-
def get_json_file(docs):
|
51 |
-
text_list = []
|
52 |
-
json_content = json.load(docs)
|
53 |
-
# Extract text based on JSON structure
|
54 |
-
# Example assuming the JSON has a 'text' key:
|
55 |
-
for item in json_content:
|
56 |
-
text_list.append(item.get('text'))
|
57 |
-
return text_list
|
58 |
|
59 |
|
60 |
# 문서들을 처리하여 텍스트 청크로 나누는 함수입니다.
|
@@ -92,11 +94,7 @@ def get_conversation_chain(vectorstore):
|
|
92 |
retriever=vectorstore.as_retriever(),
|
93 |
memory=memory
|
94 |
)
|
95 |
-
|
96 |
-
return conversation_chain
|
97 |
-
else:
|
98 |
-
raise ValueError("Conversation chain creation failed or returned None")
|
99 |
-
|
100 |
|
101 |
|
102 |
# 사용자 입력을 처리하는 함수입니다.
|
@@ -171,4 +169,4 @@ def main():
|
|
171 |
|
172 |
|
173 |
if __name__ == '__main__':
|
174 |
-
main()
|
|
|
29 |
# 과제
|
30 |
# 아래 텍스트 추출 함수를 작성
|
31 |
|
32 |
+
def get_text_file(text_docs):
|
33 |
+
temp_dir = tempfile.TemporaryDirectory() # 임시 디렉토리를 생성합니다.
|
34 |
+
temp_filepath = os.path.join(temp_dir.name, text_docs.name) # 임시 파일 경로를 생성합니다.
|
35 |
+
with open(temp_filepath, "wb") as f: # 임시 파일을 바이너리 쓰기 모드로 엽니다.
|
36 |
+
f.write(text_docs.getvalue()) # PDF 문서의 내용을 임시 파일에 씁니다.
|
37 |
+
pdf_loader = PyPDFLoader(temp_filepath) # PyPDFLoader를 사용해 PDF를 로드합니다.
|
38 |
+
pdf_doc = pdf_loader.load() # 텍스트를 추출합니다.
|
39 |
+
return pdf_doc # 추출한 텍스트를 반환합니다.
|
40 |
|
41 |
+
def get_csv_file(csv_docs):
|
42 |
+
temp_dir = tempfile.TemporaryDirectory() # 임시 디렉토리를 생성합니다.
|
43 |
+
temp_filepath = os.path.join(temp_dir.name, csv_docs.name) # 임시 파일 경로를 생성합니다.
|
44 |
+
with open(temp_filepath, "wb") as f: # 임시 파일을 바이너리 쓰기 모드로 엽니다.
|
45 |
+
f.write(csv_docs.getvalue()) # PDF 문서의 내용을 임시 파일에 씁니다.
|
46 |
+
pdf_loader = PyPDFLoader(temp_filepath) # PyPDFLoader를 사용해 PDF를 로드합니다.
|
47 |
+
pdf_doc = pdf_loader.load() # 텍스트를 추출합니다.
|
48 |
+
return pdf_doc # 추출한 텍스트를 반환합니다.
|
49 |
|
50 |
|
51 |
+
def get_json_file(json_docs):
|
52 |
+
temp_dir = tempfile.TemporaryDirectory() # 임시 디렉토리를 생성합니다.
|
53 |
+
temp_filepath = os.path.join(temp_dir.name, json_docs.name) # 임시 파일 경로를 생성합니다.
|
54 |
+
with open(temp_filepath, "wb") as f: # 임시 파일을 바이너리 쓰기 모드로 엽니다.
|
55 |
+
f.write(json_docs.getvalue()) # PDF 문서의 내용을 임시 파일에 씁니다.
|
56 |
+
pdf_loader = PyPDFLoader(temp_filepath) # PyPDFLoader를 사용해 PDF를 로드합니다.
|
57 |
+
pdf_doc = pdf_loader.load() # 텍스트를 추출합니다.
|
58 |
+
return pdf_doc # 추출한 텍스트를 반환합니다.
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
|
62 |
# 문서들을 처리하여 텍스트 청크로 나누는 함수입니다.
|
|
|
94 |
retriever=vectorstore.as_retriever(),
|
95 |
memory=memory
|
96 |
)
|
97 |
+
return conversation_chain
|
|
|
|
|
|
|
|
|
98 |
|
99 |
|
100 |
# 사용자 입력을 처리하는 함수입니다.
|
|
|
169 |
|
170 |
|
171 |
if __name__ == '__main__':
|
172 |
+
main()
|