mirror of
				https://github.com/hwchase17/langchain.git
				synced 2025-10-31 07:41:40 +00:00 
			
		
		
		
	Moved the following modules to new package langchain-community in a backwards compatible fashion: ``` mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community mv langchain/langchain/adapters community/langchain_community mv langchain/langchain/callbacks community/langchain_community/callbacks mv langchain/langchain/chat_loaders community/langchain_community mv langchain/langchain/chat_models community/langchain_community mv langchain/langchain/document_loaders community/langchain_community mv langchain/langchain/docstore community/langchain_community mv langchain/langchain/document_transformers community/langchain_community mv langchain/langchain/embeddings community/langchain_community mv langchain/langchain/graphs community/langchain_community mv langchain/langchain/llms community/langchain_community mv langchain/langchain/memory/chat_message_histories community/langchain_community mv langchain/langchain/retrievers community/langchain_community mv langchain/langchain/storage community/langchain_community mv langchain/langchain/tools community/langchain_community mv langchain/langchain/utilities community/langchain_community mv langchain/langchain/vectorstores community/langchain_community mv langchain/langchain/agents/agent_toolkits community/langchain_community mv langchain/langchain/cache.py community/langchain_community ``` Moved the following to core ``` mv langchain/langchain/utils/json_schema.py core/langchain_core/utils mv langchain/langchain/utils/html.py core/langchain_core/utils mv langchain/langchain/utils/strings.py core/langchain_core/utils cat langchain/langchain/utils/env.py >> core/langchain_core/utils/env.py rm langchain/langchain/utils/env.py ``` See .scripts/community_split/script_integrations.sh for all changes
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import annotations
 | |
| 
 | |
| import tempfile
 | |
| from typing import TYPE_CHECKING, List
 | |
| 
 | |
| from langchain_core.documents import Document
 | |
| from langchain_core.pydantic_v1 import BaseModel, Field
 | |
| 
 | |
| from langchain_community.document_loaders.base import BaseLoader
 | |
| from langchain_community.document_loaders.unstructured import UnstructuredFileLoader
 | |
| 
 | |
| if TYPE_CHECKING:
 | |
|     from O365.drive import File
 | |
| 
 | |
| CHUNK_SIZE = 1024 * 1024 * 5
 | |
| 
 | |
| 
 | |
| class OneDriveFileLoader(BaseLoader, BaseModel):
 | |
|     """Load a file from `Microsoft OneDrive`."""
 | |
| 
 | |
|     file: File = Field(...)
 | |
|     """The file to load."""
 | |
| 
 | |
|     class Config:
 | |
|         arbitrary_types_allowed = True
 | |
|         """Allow arbitrary types. This is needed for the File type. Default is True.
 | |
|          See https://pydantic-docs.helpmanual.io/usage/types/#arbitrary-types-allowed"""
 | |
| 
 | |
|     def load(self) -> List[Document]:
 | |
|         """Load Documents"""
 | |
|         with tempfile.TemporaryDirectory() as temp_dir:
 | |
|             file_path = f"{temp_dir}/{self.file.name}"
 | |
|             self.file.download(to_path=temp_dir, chunk_size=CHUNK_SIZE)
 | |
|             loader = UnstructuredFileLoader(file_path)
 | |
|             return loader.load()
 |