import os
from langchain_community.document_loaders import UnstructuredWordDocumentLoader,PyPDFLoader
import yaml
import pandas as pd
class FileReader:
def __init__(self) -> None:
pass
def read_docx(self,file_path):
loader = UnstructuredWordDocumentLoader(file_path)
doc = loader.load_and_split()
return doc
def read_md(self,file_path):
try:
with open(file_path,'r',encoding='utf-8') as f:
content = f.read()
return content
except FileNotFoundError:
print(f'错误:文件{file_path}未找到')
return None
except Exception as e:
print(f'读取文件时出错:{e}')
return None
def read_pdf(self,file_path):
loader = PyPDFLoader(file_path)
pages = loader.load_and_split()
return pages
def read_csvs(self,file_path):
data = pd.read_csv(file_path)
return data
class ConfigHandler:
def __init__(self) -> None:
pass
def read_yaml(self,file_path='Configs/rag_config.yaml',encoding='utf-8'):
with open(file_path,'r',encoding=encoding) as f:
return yaml.load(f.read(),Loader=yaml.FullLoader)
if __name__ == '__main__':
reader = FileReader()
config_reader = ConfigHandler()
# config_yaml = config_reader.read_yaml(os.path.join(os.path.dirname(os.getcwd()),"Configs/rag_config.yml"))
# print(os.path.dirname(os.getcwd()))
model_conf = config_reader.read_yaml(os.path.join(os.path.dirname(os.getcwd()),"Configs/config.yml"))
print(f">>> 读取模型配置:{model_conf}")
# 查看模型名称
print(f">>> model_name:{model_conf['model_name']}")
# 查看Embedding模型名称
print(f">>> embedding_name:{model_conf['embedding_name']}")