crewAIInc / crewAI-examples

2.6k stars 965 forks source link

How to use Tools with Azure OpenAI #104

Open nazkhan-8451 opened 3 months ago

nazkhan-8451 commented 3 months ago

If I want to use the following tool with Azure OpenAI, what would be config values? Please add detail example as it's not clear from the following code. I have GPT4 deployment in Azure named gpt4-128k and text embedding deployment named embedding-ada-002

tool = CSVSearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="llama2",
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="google", # or openai, ollama, ...
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)
lifexmetric commented 3 months ago

The following worked for me.

csv_tool = CSVSearchTool(
    config=dict(
        llm=dict(
            provider="azure_openai", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="gpt-4-32k",
                deployment_name="gpt-4-32k"
            ),
        ),
        embedder=dict(
            provider="azure_openai", # or openai, ollama, ...
            config=dict(
                model="text-embedding-3-large",
                deployment_name="text-embedding-3-large"
            ),
        ),
    ),
    csv='./process_conn_incr_1000.csv'
)

But assuming you have Azure OpenAI env var setup correctly as well as in the Azure Portal.

os.environ["AZURE_OPENAI_API_KEY"] = os.environ.get("AZURE_OPENAI_API_KEY")
os.environ["AZURE_OPENAI_ENDPOINT"] = os.environ.get("AZURE_OPENAI_ENDPOINT")
os.environ["AZURE_OPENAI_API_VERSION"] = "2024-02-01"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "gpt-4-32k"
PiXOT97 commented 1 week ago

The following worked for me.

csv_tool = CSVSearchTool(
    config=dict(
        llm=dict(
            provider="azure_openai", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="gpt-4-32k",
                deployment_name="gpt-4-32k"
            ),
        ),
        embedder=dict(
            provider="azure_openai", # or openai, ollama, ...
            config=dict(
                model="text-embedding-3-large",
                deployment_name="text-embedding-3-large"
            ),
        ),
    ),
    csv='./process_conn_incr_1000.csv'
)

But assuming you have Azure OpenAI env var setup correctly as well as in the Azure Portal.

os.environ["AZURE_OPENAI_API_KEY"] = os.environ.get("AZURE_OPENAI_API_KEY")
os.environ["AZURE_OPENAI_ENDPOINT"] = os.environ.get("AZURE_OPENAI_ENDPOINT")
os.environ["AZURE_OPENAI_API_VERSION"] = "2024-02-01"
os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"] = "gpt-4-32k"

Can you give more details on this setup?