■ FileIO 클래스의 ReadTextAsync 정적 메소드를 사용해 텍스트 파일에서 문자열을 읽는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using Windows.Storage; StorageFolder storageFolder = await KnownFolders.GetFolderAsync(KnownFolderId.DocumentsLibrary); StorageFile storageFile = await storageFolder.GetFileAsync("sample.txt"); string fileContent = await FileIO.ReadTextAsync(storageFile); |
■ StorageFolder 클래스의 GetFileAsync 메소드를 사용해 읽을 파일의 StorageFile 객체를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using Windows.Storage; StorageFolder storageFolder = await KnownFolders.GetFolderAsync(KnownFolderId.DocumentsLibrary); StorageFile storageFile = await storageFolder.GetFileAsync("sample.txt"); |
■ FileIO 클래스의 WriteTextAsync 정적 메소드를 사용해 텍스트 파일에 문자열을 쓰는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using Windows.Storage; StorageFolder storageFolder = await KnownFolders.GetFolderAsync(KnownFolderId.DocumentsLibrary); StorageFile storageFile = await storageFolder.CreateFileAsync("sample.txt", CreationCollisionOption.ReplaceExisting); await FileIO.WriteTextAsync(storageFile, "테스트 문자열 입니다."); |
■ StorageFolder 클래스의 CreateFileAsync 메소드를 사용해 신규 생성 파일의 StorageFile 객체를 만드는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using Windows.Storage; StorageFolder storageFolder = await KnownFolders.GetFolderAsync(KnownFolderId.DocumentsLibrary); StorageFile storageFile = await storageFolder.CreateFileAsync("sample.txt", CreationCollisionOption.ReplaceExisting); |
■ KnownFolders 클래스의 GetFolderAsync 정적 메소드를 사용해 문서 폴더의 StorageFolder 객체를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using Windows.Storage; StorageFolder storageFolder = await KnownFolders.GetFolderAsync(KnownFolderId.DocumentsLibrary); |
■ ApplicationData 클래스의 Current 정적 속성을 사용해 현재 ApplicationData 객체를 구하는 방법을 보여준다. (PACKAGED) ▶ 예제 코드 (C#)
|
using Windows.Storage; ApplicationData applicationData = ApplicationData.Current; |
■ ApplicationData 클래스의 RoamingSettings 속성을 사용해 로밍 저장소 이용 가능 여부를 구하는 방법을 보여준다. ※ 패지키(Package) 모드에서 true, 언패키지드(Unpackaged) 모드에서 false가 반환된다.
더 읽기
■ AppContext 클래스의 BaseDirectory 정적 속성을 사용해 애플리케이션의 실행 디렉토리 경로를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System; using System.IO; string applicationDirectoryPath = Path.GetDirectoryName(AppContext.BaseDirectory); |
■ StorageFile 클래스의 GetFileFromPathAsync 정적 메소드를 사용해 UNPACKAGED 모드에서 Assets 폴더의 컨텐트 이미지 파일을 읽는 방법을 보여준다. ▶ StorageFile 클래스 : GetFileFromPathAsync
더 읽기
■ ImageCropper 클래스를 사용해 UNPACKAGED 모드에서 Assets 폴더의 컨텐트 이미지 파일을 읽는 방법을 보여준다. ※ 이 예제 코드에서 사용된 ImageCropper 클래스는 CommunityToolkit.WinUI.Controls.RadialGauge
더 읽기
■ ZipFile 클래스를 사용해 ZIP 파일을 압축하고 압축 해제하는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
import zipfile import os def unzip(sourceFilePath, targetDirectoryPath): with zipfile.ZipFile(sourceFilePath, "r") as zipFile: zipFile.extractall(path = targetDirectoryPath) zipFile.close() def zip(sourceDirectoryPath, targetFilePath): with zipfile.ZipFile(targetFilePath, "w") as zipFile: rootDirectoryPath = sourceDirectoryPath for (directory, childDirectoryNameList, childFileNameList) in os.walk(sourceDirectoryPath): for childFileName in childFileNameList: childFilePath = os.path.join(directory, childFileName) relativeChildFilePath = os.path.relpath(childFilePath, rootDirectoryPath); zipFile.write(childFilePath, relativeChildFilePath, zipfile.ZIP_DEFLATED) zipFile.close() if __name__ == "__main__": unzip("./source.zip", "./temp") zip("./temp", "./target.zip") |
■ AsyncTextIOWrapper 클래스의 flush 메소드를 사용해 파일 버퍼를 비우는 방법을 보여준다. ▶ 예제 코드 (PY)
|
import asyncio import aiofiles async def main(): async with aiofiles.open("sample.txt", mode = "w") as asyncTextIOWrapper: await asyncTextIOWrapper.write("Hello, World!") await asyncTextIOWrapper.flush() asyncio.run(main()) |
■ AsyncTextIOWrapper 클래스의 seek 메소드를 사용해 파일 포인터를 설정하는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
import asyncio import aiofiles async def main(): async with aiofiles.open("sample.txt", mode = "w") as asyncTextIOWrapper: await asyncTextIOWrapper.write("Hello, World!") async with aiofiles.open("sample.txt", mode = "r") as asyncTextIOWrapper: await asyncTextIOWrapper.seek(3) fileContent = await asyncTextIOWrapper.read() print(fileContent) asyncio.run(main()) """ lo, World! """ |
■ AsyncTextIOWrapper 클래스의 write 메소드를 사용해 텍스트 파일을 쓰는 방법을 보여준다. ▶ 예제 코드 (PY)
|
import asyncio import aiofiles async def main(): async with aiofiles.open("sample.txt", mode = "w") as asyncTextIOWrapper: await asyncTextIOWrapper.write("Hello, World!") asyncio.run(main()) |
■ AsyncTextIOWrapper 클래스의 read 메소드를 사용해 텍스트 파일을 읽는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
import asyncio import aiofiles async def main(): async with aiofiles.open("sample.md", mode = "r") as asyncTextIOWrapper: fintContent = await asyncTextIOWrapper.read() print(fintContent) asyncio.run(main()) """ # 제목 1단계 ## 제목 2단계 ### 제목 3단계 #### 제목 4단계 ##### 제목 5단계 ###### 제목 6단계 """ |
sample.zip
■ open 함수를 사용해 텍스트 파일을 비동기 여는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
import asyncio import aiofiles async def main(): async with aiofiles.open("sample.md", mode = "r") as asyncTextIOWrapper: fintContent = await asyncTextIOWrapper.read() print(fintContent) asyncio.run(main()) """ # 제목 1단계 ## 제목 2단계 ### 제목 3단계 #### 제목 4단계 ##### 제목 5단계 ###### 제목 6단계 """ |
■ Blob 클래스의 from_path 정적 메소드를 사용해 파일을 읽는 방법을 보여준다. ▶ main.py
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
|
from langchain_core.document_loaders import Blob with open("./meow.txt", "w", encoding="utf-8") as textIOWrapper: fileContent = "meow meow\nmeow meow\nmeow" textIOWrapper.write(fileContent) blob = Blob.from_path("./meow.txt", metadata = {"foo" : "bar"}) print("소스 :", blob.source ) print("인코딩 :", blob.encoding ) print("메타 데이터 :", blob.metadata ) print("바이트 배열 :", blob.as_bytes() ) print("문자열 :") print("==============================") print(blob.as_string()) print("==============================") """ 소스 : ./meow.txt 인코딩 : utf-8 메타 데이터 : {'foo': 'bar'} 바이트 배열 : b'meow meow\nmeow meow\nmeow' 문자열 : ============================== meow meow meow meow meow ============================== """ |
▶ requirements.txt
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 34 35 36
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain-community 명령을
더 읽기
■ aiofiles 패키지를 설치하는 방법을 보여준다. 1. 명령 프롬프트를 실행한다. 2. 명령 프롬프트에서 아래 명령을 실행한다. ▶ 실행 명령
■ UnstructuredMarkdownLoader 클래스의 생성자에서 mode 인자를 사용해 특정 단위로 분리해 문서를 로드하는 방법을 보여준다. ▶ main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
from langchain_community.document_loaders import UnstructuredMarkdownLoader unstructuredMarkdownLoader = UnstructuredMarkdownLoader("list.md", mode = "elements") documentList = unstructuredMarkdownLoader.load() for document in documentList: print(document) """ page_content='첫번째' metadata={'source': 'list.md', 'category_depth': 1, 'last_modified': '2024-06-27T19:30:15', 'languages': ['kor'], 'filetype': 'text/markdown', 'filename': 'list.md', 'category': 'ListItem'} page_content='두번째' metadata={'source': 'list.md', 'category_depth': 1, 'last_modified': '2024-06-27T19:30:15', 'languages': ['kor'], 'filetype': 'text/markdown', 'filename': 'list.md', 'category': 'ListItem'} page_content='세번째' metadata={'source': 'list.md', 'category_depth': 1, 'last_modified': '2024-06-27T19:30:15', 'languages': ['kor'], 'filetype': 'text/markdown', 'filename': 'list.md', 'category': 'ListItem'} page_content='항목1\n\n항목 2\n항목 3\n항목 4' metadata={'source': 'list.md', 'category_depth': 1, 'last_modified': '2024-06-27T19:30:15', 'languages': ['kor'], 'filetype': 'text/markdown', 'filename': 'list.md', 'category': 'ListItem'} """ |
▶ requirements.txt
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 async-timeout==4.0.3 attrs==23.2.0 backoff==2.2.1 beautifulsoup4==4.12.3 certifi==2024.6.2 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 dataclasses-json==0.6.7 deepdiff==7.0.1 emoji==2.12.1 exceptiongroup==1.2.1 filetype==1.2.0 frozenlist==1.4.1 greenlet==3.0.3 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 joblib==1.4.2 jsonpatch==1.33 jsonpath-python==1.0.6 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langdetect==1.0.9 langsmith==0.1.82 lxml==5.2.2 Markdown==3.6 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 nest-asyncio==1.6.0 nltk==3.8.1 numpy==1.26.4 ordered-set==4.1.0 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 pypdf==4.2.0 python-dateutil==2.9.0.post0 python-iso639==2024.4.27 python-magic==0.4.27 PyYAML==6.0.1 rapidfuzz==3.9.3 regex==2024.5.15 requests==2.32.3 requests-toolbelt==1.0.0 six==1.16.0 sniffio==1.3.1 soupsieve==2.5 SQLAlchemy==2.0.31 tabulate==0.9.0 tenacity==8.4.2 tqdm==4.66.4 typing-inspect==0.9.0 typing_extensions==4.12.2 unstructured==0.14.8 unstructured-client==0.23.7 urllib3==2.2.2 wrapt==1.16.0 yarl==1.9.4 |
※ pip
더 읽기
■ UnstructuredMarkdownLoader 클래스의 load 메소드를 사용해 MD 파일 문서를 로드하는 방법을 보여준다. ▶ main.py
|
from langchain_community.document_loaders import UnstructuredMarkdownLoader unstructuredMarkdownLoader = UnstructuredMarkdownLoader("list.md") documentList = unstructuredMarkdownLoader.load() for document in documentList: print(document) """ page_content='첫번째\n\n두번째\n\n세번째\n\n항목1\n\n항목 2\n항목 3\n항목 4' metadata={'source': 'list.md'} """ |
▶ requirements.txt
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 async-timeout==4.0.3 attrs==23.2.0 backoff==2.2.1 beautifulsoup4==4.12.3 certifi==2024.6.2 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 dataclasses-json==0.6.7 deepdiff==7.0.1 emoji==2.12.1 exceptiongroup==1.2.1 filetype==1.2.0 frozenlist==1.4.1 greenlet==3.0.3 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 joblib==1.4.2 jsonpatch==1.33 jsonpath-python==1.0.6 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langdetect==1.0.9 langsmith==0.1.82 lxml==5.2.2 Markdown==3.6 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 nest-asyncio==1.6.0 nltk==3.8.1 numpy==1.26.4 ordered-set==4.1.0 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 pypdf==4.2.0 python-dateutil==2.9.0.post0 python-iso639==2024.4.27 python-magic==0.4.27 PyYAML==6.0.1 rapidfuzz==3.9.3 regex==2024.5.15 requests==2.32.3 requests-toolbelt==1.0.0 six==1.16.0 sniffio==1.3.1 soupsieve==2.5 SQLAlchemy==2.0.31 tabulate==0.9.0 tenacity==8.4.2 tqdm==4.66.4 typing-inspect==0.9.0 typing_extensions==4.12.2 unstructured==0.14.8 unstructured-client==0.23.7 urllib3==2.2.2 wrapt==1.16.0 yarl==1.9.4 |
※ pip langchain-community unstructured[md]
더 읽기
■ JSONLoader 클래스의 생성자에서 metadata_func 인자를 사용해 메타 데이터 항목을 추가하는 방법을 보여준다. ▶ main.py
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
|
from datetime import datetime from pprint import pprint from langchain_community.document_loaders import JSONLoader def manipulateMetadata(recordDictionary : dict, metadataDictionary : dict) -> dict: metadataDictionary["left"] = recordDictionary["MainFormLeft"] metadataDictionary["time"] = datetime.now().isoformat() return metadataDictionary jsonLoader = JSONLoader( file_path = "./settings.json", jq_schema = ".", text_content = False, metadata_func = manipulateMetadata ) documentList = jsonLoader.load() for document in documentList[:5]: pprint(document.metadata) print() """ {'left': 0, 'seq_num': 1, 'source': '/home/king/testproject/settings.json', 'time': '2024-06-27T22:35:30.360160'} """ |
▶ requirements.txt
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 34 35 36 37
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jq==1.7.0 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install
더 읽기
■ JSONLoader 클래스의 생성자에서 jq_schema/content_key 인자를 사용하는 방법을 보여준다. ▶ main.py
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
|
from langchain_community.document_loaders import JSONLoader jsonLoader = JSONLoader( file_path = "./sample.jsonl", jq_schema = ".", content_key = "prompt", text_content = False, json_lines = True ) documentList = jsonLoader.load() for document in documentList[:5]: print(document) print() """ page_content='배가 고프다' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 1} page_content='피곤하시군요.' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 2} page_content='잠을 잘 수 없다' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 3} page_content='누르지 마 절대 누르지 마' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 4} page_content='보여줄 수 없어' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 5} """ |
▶ requirements.txt
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 34 35 36 37
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jq==1.7.0 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain-community jq 명령을 실행했다.
더 읽기
■ JsonLoader 클래스의 load 메소드를 사용해 JSONL 파일 문서를 로드하는 방법을 보여준다. ▶ main.py
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
|
from langchain_community.document_loaders import JSONLoader jsonLoader = JSONLoader( file_path = "./sample.jsonl", jq_schema = ".prompt", text_content = False, json_lines = True ) documentList = jsonLoader.load() for document in documentList[:5]: print(document) print() """ page_content='배가 고프다' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 1} page_content='피곤하시군요.' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 2} page_content='잠을 잘 수 없다' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 3} page_content='누르지 마 절대 누르지 마' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 4} page_content='보여줄 수 없어' metadata={'source': '/home/king/testproject/sample.jsonl', 'seq_num': 5} """ |
▶ requirements.txt
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 34 35 36 37
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jq==1.7.0 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain-community
더 읽기
■ JsonLoader 클래스의 load 메소드를 사용해 JSON 파일 문서를 로드하는 방법을 보여준다. ▶ main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
from langchain_community.document_loaders import JSONLoader jsonLoader = JSONLoader( file_path = "./settings.json", jq_schema = ".", text_content = False ) documentList = jsonLoader.load() for document in documentList: print(document) print() """ page_content='{"MainFormLeft": 0, "MainFormTop": 0, "MainFormWidth": 920, "MainFormHeight": 690, "MainFormState": "Maximized", "SkinStyle": "Office 2016 Colorful", "RibbonMinimized": true, "SidebarStyle": "NavigationPane", "SidebarWidth": 100, "SidebarCollapsable": true, "SidebarVisible": true}' metadata={'source': '/home/king/testproject/settings.json', 'seq_num': 1} """ |
▶ requirements.txt
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 34 35 36 37
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jq==1.7.0 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain-community
더 읽기
■ BSHTMLLoader 클래스의 load 메소드를 사용해 HTML 파일 문서를 로드하는 방법을 보여준다. ▶ main.py
|
from langchain_community.document_loaders import BSHTMLLoader bsHTMLLoader = BSHTMLLoader("source.html") documentList = bsHTMLLoader.load() for document in documentList: print(document) print() """ page_content='\n\n\n\n\nHTML을 로드하는 방법\n하이퍼텍스트 마크업 언어(HyperText Markup Language, HTML)는 웹 브라우저에 표시되도록 설계된 문서의 표준 마크업 언어입니다.\n이는 다운스트림에서 사용할 수 있는 LangChain 문서 개체에 HTML 문서를 로드하는 방법을 다룹니다.\nHTML 파일을 구문 분석하려면 특수 도구가 필요한 경우가 많습니다. 여기서는 pip를 통해 설치할 수 있는 Unstructured 및 BeautifulSoup4를 통한 구문 분석을 보여줍니다. Azure AI Document Intelligence 또는 FireCrawl과 같은 추가 서비스와의 통합을 찾으려면 통합 페이지로 이동하세요.\n\n' metadata={'source': 'source.html', 'title': ''} """ |
▶ requirements.txt
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 34 35 36 37 38 39 40
|
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==23.2.0 beautifulsoup4==4.12.3 bs4==0.0.2 certifi==2024.6.2 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.6 langchain-community==0.2.6 langchain-core==0.2.10 langchain-text-splitters==0.2.2 langsmith==0.1.82 lxml==5.2.2 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.5 packaging==24.1 pydantic==2.7.4 pydantic_core==2.18.4 PyYAML==6.0.1 requests==2.32.3 soupsieve==2.5 SQLAlchemy==2.0.31 tenacity==8.4.2 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain-community
더 읽기