| 
									
										
										
										
											2023-10-12 14:47:32 -07:00
										 |  |  | from unstructured.documents.elements import Text | 
					
						
							| 
									
										
										
										
											2024-02-14 09:24:52 -08:00
										 |  |  | from unstructured.embed.openai import OpenAIEmbeddingConfig, OpenAIEmbeddingEncoder | 
					
						
							| 
									
										
										
										
											2023-10-12 14:47:32 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def test_embed_documents_does_not_break_element_to_dict(mocker): | 
					
						
							|  |  |  |     # Mocked client with the desired behavior for embed_documents | 
					
						
							|  |  |  |     mock_client = mocker.MagicMock() | 
					
						
							|  |  |  |     mock_client.embed_documents.return_value = [1, 2] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-26 17:33:19 -05:00
										 |  |  |     # Mock create_client to return our mock_client | 
					
						
							|  |  |  |     mocker.patch.object(OpenAIEmbeddingEncoder, "create_client", return_value=mock_client) | 
					
						
							| 
									
										
										
										
											2023-10-12 14:47:32 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-14 09:24:52 -08:00
										 |  |  |     encoder = OpenAIEmbeddingEncoder(config=OpenAIEmbeddingConfig(api_key="api_key")) | 
					
						
							| 
									
										
										
										
											2023-10-12 14:47:32 -07:00
										 |  |  |     elements = encoder.embed_documents( | 
					
						
							|  |  |  |         elements=[Text("This is sentence 1"), Text("This is sentence 2")], | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  |     assert len(elements) == 2 | 
					
						
							|  |  |  |     assert elements[0].to_dict()["text"] == "This is sentence 1" | 
					
						
							|  |  |  |     assert elements[1].to_dict()["text"] == "This is sentence 2" |