# get_config_list

## ``autogen.get_config_list``

```
get_config_list(api_keys, base_urls=None, api_type=None, api_version=None)
```

Get a list of configs for OpenAI API client.

| PARAMETER   | DESCRIPTION |
|-------------|-------------|
| `api_keys` | The api keys for openai api calls.<br>**TYPE:**`list` |
| `base_urls` | The api bases for openai api calls. If provided, should match the length of api_keys.<br>**TYPE:**`list`**DEFAULT:**`None` |
| `api_type` | The api type for openai api calls.<br>**TYPE:**`str`**DEFAULT:**`None` |
| `api_version` | The api version for openai api calls.<br>**TYPE:**`str`**DEFAULT:**`None` |

| RETURNS    | DESCRIPTION |
|------------|-------------|
| `list`     | A list of configs for OpenAI API calls.<br>**TYPE:**`list[dict[str, Any]]` |

Example:

```
# Define a list of API keys
api_keys = ["key1", "key2", "key3"]

# Optionally, define a list of base URLs corresponding to each API key
base_urls = ["https://api.service1.com", "https://api.service2.com", "https://api.service3.com"]

# Optionally, define the API type and version if they are common for all keys
api_type = "azure"
api_version = "2024-02-01"

# Call the get_config_list function to get a list of configuration dictionaries
config_list = get_config_list(api_keys, base_urls, api_type, api_version)
```

Source code in `autogen/oai/openai_utils.py`

|     |     |
| --- | --- |
| ```<br>157<br>158<br>159<br>160<br>161<br>162<br>163<br>164<br>165<br>166<br>167<br>168<br>169<br>170<br>171<br>172<br>173<br>174<br>175<br>176<br>177<br>178<br>179<br>180<br>181<br>182<br>183<br>184<br>185<br>186<br>187<br>188<br>189<br>190<br>191<br>192<br>193<br>194<br>195<br>196<br>197<br>198<br>199<br>200<br>201<br>202<br>203<br>204<br>205<br>206<br>``` | ````<br>@export_module("autogen")<br>def get_config_list(<br>    api_keys: list[str],<br>    base_urls: Optional[list[str]] = None,<br>    api_type: Optional[str] = None,<br>    api_version: Optional[str] = None,<br>) -> list[dict[str, Any]]:<br>    """Get a list of configs for OpenAI API client.<br>    Args:<br>        api_keys (list): The api keys for openai api calls.<br>        base_urls (list, optional): The api bases for openai api calls. If provided, should match the length of api_keys.<br>        api_type (str, optional): The api type for openai api calls.<br>        api_version (str, optional): The api version for openai api calls.<br>    Returns:<br>        list: A list of configs for OpenAI API calls.<br>    Example:<br>    ```python<br>    # Define a list of API keys<br>    api_keys = ["key1", "key2", "key3"]<br>    # Optionally, define a list of base URLs corresponding to each API key<br>    base_urls = ["https://api.service1.com", "https://api.service2.com", "https://api.service3.com"]<br>    # Optionally, define the API type and version if they are common for all keys<br>    api_type = "azure"<br>    api_version = "2024-02-01"<br>    # Call the get_config_list function to get a list of configuration dictionaries<br>    config_list = get_config_list(api_keys, base_urls, api_type, api_version)<br>    ```<br>    """<br>    if base_urls is not None:<br>        assert len(api_keys) == len(base_urls), "The length of api_keys must match the length of base_urls"<br>    config_list = []<br>    for i, api_key in enumerate(api_keys):<br>        if not api_key.strip():<br>            continue<br>        config = {"api_key": api_key}<br>        if base_urls:<br>            config["base_url"] = base_urls[i]<br>        if api_type:<br>            config["api_type"] = api_type<br>        if api_version:<br>            config["api_version"] = api_version<br>        config_list.append(config)<br>    return config_list<br>```` |
