microsoft / autogen

A programming framework for agentic AI 🤖
https://microsoft.github.io/autogen/
Creative Commons Attribution 4.0 International
34.67k stars 5.01k forks source link

Check that agent name is valid #4158

Closed giorgossideris closed 1 week ago

giorgossideris commented 1 week ago

Why are these changes needed?

Display a clear error when the agent name is not a valid according to OpenAI's requirements

Related issue number

Closes #4157

Checks

jackgerrits commented 1 week ago

That issue corresponds to 0.4. We better not make this change in 0.2 as it would certainly be breaking and is not necessary.

jackgerrits commented 1 week ago

Sorry now I see the matching issue you created. If this check is to be added then I think the regex should match that if the one shown in the error. As it is they aren’t quite the same.

Whether the main library should depend on OpenAI’s definition of the name of an agent is another question. Buy given the general tight coupling in 0.2 it's not unreasonable

giorgossideris commented 1 week ago

Sorry now I see the matching issue you created. If this check is to be added then I think the regex should match that if the one shown in the error. As it is they aren’t quite the same.

Whether the main library should depend on OpenAI’s definition of the name of an agent is another question. Buy given the general tight coupling in 0.2 it's not unreasonable

Thank you @jackgerrits, I did a regex based check.

jackgerrits commented 1 week ago

Thinking more on this I am a little hesitant. The root cause of the original issue is name constraints openai has, however, this solution applies those constraints to all agents regardless of whether they use openai, another llm or no llm. So I don't want to break peoples use cases

giorgossideris commented 1 week ago

Thinking more on this I am a little hesitant. The root cause of the original issue is name constraints openai has, however, this solution applies those constraints to all agents regardless of whether they use openai, another llm or no llm. So I don't want to break peoples use cases

This is true @jackgerrits. If you think there is a point in making it openai specific let me know. Otherwise we can close this pr.

jackgerrits commented 1 week ago

I appreciate the work here and response. Given that for it to be OpenAI specific it would need to be checked within the model client and special cased to known OpenAI endpoints, at which point you know OpenAI will end up producing a similar error anyway. To be fair, it could be shown at configure time vs runtime but the gain is minimal.

Also, this problem goes away completely in 0.4 since we are imposing naming restrictions on agents from the get go to avoid this sort of problem.

I'm going to go ahead and close this and the issue as not-planned, but if you feel strongly on adding a configure-time check them please feel free to reopen them. Thanks for your engagement!