Test the Google embedder client directly.
()
| 21 | logger = logging.getLogger(__name__) |
| 22 | |
| 23 | def test_google_embedder_client(): |
| 24 | """Test the Google embedder client directly.""" |
| 25 | logger.info("Testing Google embedder client...") |
| 26 | |
| 27 | try: |
| 28 | from api.google_embedder_client import GoogleEmbedderClient |
| 29 | from adalflow.core.types import ModelType |
| 30 | |
| 31 | # Initialize the client |
| 32 | client = GoogleEmbedderClient() |
| 33 | |
| 34 | # Test single embedding |
| 35 | logger.info("Testing single embedding...") |
| 36 | api_kwargs = client.convert_inputs_to_api_kwargs( |
| 37 | input="Hello world", |
| 38 | model_kwargs={"model": "text-embedding-004", "task_type": "SEMANTIC_SIMILARITY"}, |
| 39 | model_type=ModelType.EMBEDDER |
| 40 | ) |
| 41 | |
| 42 | response = client.call(api_kwargs, ModelType.EMBEDDER) |
| 43 | logger.info(f"Single embedding response type: {type(response)}") |
| 44 | logger.info(f"Single embedding response keys: {list(response.keys()) if isinstance(response, dict) else 'Not a dict'}") |
| 45 | |
| 46 | # Parse the response |
| 47 | parsed = client.parse_embedding_response(response) |
| 48 | logger.info(f"Parsed response data length: {len(parsed.data) if parsed.data else 0}") |
| 49 | logger.info(f"Parsed response error: {parsed.error}") |
| 50 | |
| 51 | # Test batch embedding |
| 52 | logger.info("Testing batch embedding...") |
| 53 | api_kwargs = client.convert_inputs_to_api_kwargs( |
| 54 | input=["Hello world", "Test embedding"], |
| 55 | model_kwargs={"model": "text-embedding-004", "task_type": "SEMANTIC_SIMILARITY"}, |
| 56 | model_type=ModelType.EMBEDDER |
| 57 | ) |
| 58 | |
| 59 | response = client.call(api_kwargs, ModelType.EMBEDDER) |
| 60 | logger.info(f"Batch embedding response type: {type(response)}") |
| 61 | logger.info(f"Batch embedding response keys: {list(response.keys()) if isinstance(response, dict) else 'Not a dict'}") |
| 62 | |
| 63 | # Parse the response |
| 64 | parsed = client.parse_embedding_response(response) |
| 65 | logger.info(f"Parsed batch response data length: {len(parsed.data) if parsed.data else 0}") |
| 66 | logger.info(f"Parsed batch response error: {parsed.error}") |
| 67 | |
| 68 | return True |
| 69 | |
| 70 | except Exception as e: |
| 71 | logger.error(f"Error testing Google embedder client: {e}") |
| 72 | import traceback |
| 73 | traceback.print_exc() |
| 74 | return False |
| 75 | |
| 76 | def test_adalflow_embedder(): |
| 77 | """Test the AdalFlow embedder with Google client.""" |
no test coverage detected