FitMe-Agent / src /agents /visual_agent.py
Ruyi Yang
Updated with offline image function
2f14ff0
# import asyncio
# import os
# import azure.identity
# from autogen_agentchat.agents import AssistantAgent
# from autogen_agentchat.messages import TextMessage
# from autogen_core import CancellationToken
# from autogen_ext.models.openai import AzureOpenAIChatCompletionClient, OpenAIChatCompletionClient
# from dotenv import load_dotenv
# # Setup the client to use either Azure OpenAI or GitHub Models
# load_dotenv(override=True)
# API_HOST = os.getenv("API_HOST", "github")
# if API_HOST == "github":
# client = OpenAIChatCompletionClient(model=os.getenv("GITHUB_MODEL", "gpt-4o"), api_key=os.environ["GITHUB_TOKEN"], base_url="https://models.inference.ai.azure.com")
# elif API_HOST == "azure":
# token_provider = azure.identity.get_bearer_token_provider(azure.identity.DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
# client = AzureOpenAIChatCompletionClient(model=os.environ["AZURE_OPENAI_CHAT_MODEL"], api_version=os.environ["AZURE_OPENAI_VERSION"], azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT"], azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"], azure_ad_token_provider=token_provider)
# agent = AssistantAgent(
# "clothing_analyst",
# model_client=client,
# system_message="""You are a professional clothing image analyst with expertise in fashion and style. Your task is to analyze clothing images and provide detailed descriptions.""",
# )
# async def main() -> None:
# # You can use either local file path or image URL
# image_source = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg" # Or stable image URL
# # image_source = "https://i.ibb.co/fzFrgxpH/1067e98499a9.jpg"
# # Construct the message based on the image source
# message = f"""Please analyze this clothing image and provide a detailed description:
# Image source: {image_source}"""
# response = await agent.on_messages(
# [TextMessage(content=message, source="user")],
# cancellation_token=CancellationToken(),
# )
# print(response.chat_message.content)
# if __name__ == "__main__":
# asyncio.run(main())