Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model client configuration from JSON #3624

Open
ekzhu opened this issue Oct 3, 2024 · 0 comments
Open

Model client configuration from JSON #3624

ekzhu opened this issue Oct 3, 2024 · 0 comments
Labels
size-medium takes up to a week
Milestone

Comments

@ekzhu
Copy link
Collaborator

ekzhu commented Oct 3, 2024

What feature would you like to be added?

We need to support model client configuration from a file, just like in the autogen-agentchat 0.2 version. However, this time it needs to have a strict and documented schema per model client. Additionally, it needs to be extendable in terms of supporting new model clients. As far as extendable, we need to explore ways that new clients can dynamically register themselves as something that can be instantiated via the configuration processor.

Allow users to configure a model client from a configuration file.

Requirements:

  • ability to dynamically register/load the plugin without needing to change your apps code
  • The custom model MUST provide a schema for the available config for it so it can be documented and validated
  • Access models from the config file via a key
  • A user should be able to use the same config for both a Dotnet and Python application
  • Document how to target and use a community provided client

Dynamic import:

  • Specify import in configuration "python_provider": "gemini_agnext_client.GeminiClient",

Example json:

{
    "gpt4o": {
        "provider": {
            "python": "autogen_ext.models.AzureOpenAIChatCompletionClient",
        },
        "config": {
            "api_version": "2024-02-15-preview",
            "azure_endpoint": "https://aif-complex-tasks-west-us-3.openai.azure.com/",
            "azure_deployment": "gpt4o-1",
            "model": "gpt-4o-2024-05-13",
            "temperature": 0.1
        }
    }
}

Why is this needed?

Users are used to being able to configure model clients via a configuration file (JSON) from AutoGen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size-medium takes up to a week
Projects
None yet
Development

No branches or pull requests

4 participants