Spaces:
Paused
Paused
| # What this tests? | |
| ## This tests the litellm support for the openai /generations endpoint | |
| import logging | |
| import os | |
| import sys | |
| import traceback | |
| sys.path.insert( | |
| 0, os.path.abspath("../..") | |
| ) # Adds the parent directory to the system path | |
| from dotenv import load_dotenv | |
| from openai.types.image import Image | |
| from litellm.caching import InMemoryCache | |
| logging.basicConfig(level=logging.DEBUG) | |
| load_dotenv() | |
| import asyncio | |
| import os | |
| import pytest | |
| import litellm | |
| import json | |
| import tempfile | |
| from base_image_generation_test import BaseImageGenTest | |
| import logging | |
| from litellm._logging import verbose_logger | |
| import requests | |
| from io import BytesIO | |
| verbose_logger.setLevel(logging.DEBUG) | |
| def image_url(): | |
| # URL of the image | |
| image_url = "https://litellm-listing.s3.amazonaws.com/litellm_logo.png" | |
| # Fetch the image from the URL | |
| response = requests.get(image_url) | |
| print(response) | |
| response.raise_for_status() # Ensure the request was successful | |
| # Load the image into a file-like object | |
| image_file = BytesIO(response.content) | |
| return image_file | |
| def test_openai_image_variation_openai_sdk(image_url): | |
| from openai import OpenAI | |
| client = OpenAI() | |
| response = client.images.create_variation(image=image_url, n=2, size="1024x1024") | |
| print(response) | |
| async def test_openai_image_variation_litellm_sdk(image_url, sync_mode): | |
| from litellm import image_variation, aimage_variation | |
| if sync_mode: | |
| image_variation(image=image_url, n=2, size="1024x1024") | |
| else: | |
| await aimage_variation(image=image_url, n=2, size="1024x1024") | |
| def test_topaz_image_variation(image_url): | |
| from litellm import image_variation, aimage_variation | |
| from litellm.llms.custom_httpx.http_handler import HTTPHandler | |
| from unittest.mock import patch | |
| client = HTTPHandler() | |
| with patch.object(client, "post") as mock_post: | |
| try: | |
| image_variation( | |
| model="topaz/Standard V2", | |
| image=image_url, | |
| n=2, | |
| size="1024x1024", | |
| client=client, | |
| ) | |
| except Exception as e: | |
| print(e) | |
| mock_post.assert_called_once() | |