Spaces:
Sleeping
Sleeping
| import os | |
| from langchain_openai import ChatOpenAI | |
| from langchain_core.messages import HumanMessage | |
| import base64 | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| def test_vision(): | |
| # Use a tiny 1x1 base64 image for testing | |
| tiny_img = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==" | |
| msg = HumanMessage(content=[{"type": "text", "text": "what is in this image?"}, {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{tiny_img}"}}]) | |
| models = [ | |
| {"name": "OpenRouter-Gemini-2.0", "provider": "openai", "model": "google/gemini-2.0-flash-001", "base_url": "https://openrouter.ai/api/v1", "key": "OPENROUTER_API_KEY"}, | |
| {"name": "NVIDIA-Llama-3.2", "provider": "openai", "model": "nvidia/llama-3.2-nv-vision-70b", "base_url": "https://integrate.api.nvidia.com/v1", "key": "NVIDIA_API_KEY"}, | |
| {"name": "NVIDIA-Qwen-VL", "provider": "openai", "model": "nvidia/qwen-vl-max", "base_url": "https://integrate.api.nvidia.com/v1", "key": "NVIDIA_API_KEY"}, | |
| {"name": "Vercel-Vision", "provider": "openai", "model": "gpt-4o-mini", "base_url": "https://gateway.ai.vercel.com/v1", "key": "VERCEL_API_KEY"}, | |
| ] | |
| for m in models: | |
| key = os.getenv(m['key']) | |
| if not key: | |
| print(f"Skip {m['name']} (no key)") | |
| continue | |
| try: | |
| print(f"Testing {m['name']} ({m['model']})...") | |
| llm = ChatOpenAI(model=m['model'], openai_api_key=key, openai_api_base=m['base_url'], temperature=0) | |
| res = llm.invoke([msg]) | |
| print(f"Success: {res.content}") | |
| except Exception as e: | |
| print(f"Fail: {e}") | |
| if __name__ == "__main__": | |
| test_vision() | |