# 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>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>207<br>208<br>209<br>210<br>211<br>212<br>213<br>214<br>215<br>216<br>217<br>218<br>219<br>220<br>221<br>222<br>223<br>224<br>225<br>226<br>227<br>228<br>229<br>230<br>231<br>232<br>233<br>234<br>235<br>236<br>237<br>``` | ````<br>@export_module("autogen")<br>def get_config_list(<br>    api_keys: list[str],<br>    base_urls: list[str] | None = None,<br>    api_type: str | None = None,<br>    api_version: str | None = 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>```` |
