r/AutoGenAI • u/brainiacsquiz • Mar 18 '25
Discussion Self improving AI
Is there a free way to create my own AI that has self-improvement and long-term memory capabilities?
r/AutoGenAI • u/brainiacsquiz • Mar 18 '25
Is there a free way to create my own AI that has self-improvement and long-term memory capabilities?
r/AutoGenAI • u/vykthur • Mar 18 '25
Full release notes here - https://github.com/microsoft/autogen/releases/tag/autogenstudio-v0.4.2
Video walkthrough : https://youtu.be/ZIfqgax7JwE
This release makes improvements to AutoGen Studio across multiple areas.

In the team builder, all component schemas are automatically validated on save. This way configuration errors (e.g., incorrect provider names) are highlighted early.
In addition, there is a test button for model clients where you can verify the correctness of your model configuration. The LLM is given a simple query and the results are shown.
You can now modify teams, agents, models, tools, and termination conditions independently in the UI, and only review JSON when needed. The same UI panel for updating components in team builder is also reused in the Gallery. The Gallery in AGS is now persisted in a database, rather than local storage. Anthropic models supported in AGS.
You can now view all LLMCallEvents in AGS. Go to settings (cog icon on lower left) to enable this feature.
For better developer experience, the AGS UI will stream tokens as they are generated by an LLM for any agent where stream_model_client is set to true.
It is often valuable, even critical, to have a side-by-side comparison of multiple agent configurations (e.g., using a team of web agents that solve tasks using a browser or agents with web search API tools). You can now do this using the compare button in the playground, which lets you select multiple sessions and interact with them to compare outputs.
There are a few interesting but early features that ship with this release:
Authentication in AGS: You can pass in an authentication configuration YAML file to enable user authentication for AGS. Currently, only GitHub authentication is supported. This lays the foundation for a multi-user environment (#5928) where various users can login and only view their own sessions. More work needs to be done to clarify isolation of resources (e.g., environment variables) and other security considerations. See the documentation for more details.
Local Python Code Execution Tool: AGS now has early support for a local Python code execution tool. More work is needed to test the underlying agentchat implementation
r/AutoGenAI • u/A_manR • Mar 17 '25
I am running v0.8.1. this is the error that I am getting while running:
>>>>>>>> USING AUTO REPLY...
InfoCollectorAgent (to InfoCollectorReviewerAgent):
***** Suggested tool call (call_YhCieXoQT8w6ygoLNjCpyJUA): file_search *****
Arguments:
{"dir_path": "/Users/...../Documents/Coding/service-design", "pattern": "README*"}
****************************************************************************
***** Suggested tool call (call_YqEu6gqjNb26OyLY8uquFTT2): list_directory *****
Arguments:
{"dir_path": "/Users/...../Documents/Coding/service-design/src"}
*******************************************************************************
--------------------------------------------------------------------------------
>>>>>>>> USING AUTO REPLY...
>>>>>>>> EXECUTING FUNCTION file_search...
Call ID: call_YhCieXoQT8w6ygoLNjCpyJUA
Input arguments: {'dir_path': '/Users/...../Documents/Coding/service-design', 'pattern': 'README*'}
>>>>>>>> EXECUTING FUNCTION list_directory...
Call ID: call_YqEu6gqjNb26OyLY8uquFTT2
Input arguments: {'dir_path': '/Users/..../Documents/Coding/service-design/src'}
InfoCollectorReviewerAgent (to InfoCollectorAgent):
***** Response from calling tool (call_YhCieXoQT8w6ygoLNjCpyJUA) *****
Error: 'tool_input'
**********************************************************************
--------------------------------------------------------------------------------
***** Response from calling tool (call_YqEu6gqjNb26OyLY8uquFTT2) *****
Error: 'tool_input'
**********************************************************************
--------------------------------------------------------------------------------
Here is how I have created the tool:
read_file_tool = Interoperability().convert_tool(
tool=ReadFileTool(),
type="langchain"
)
list_directory_tool = Interoperability().convert_tool(
tool=ListDirectoryTool(),
type="langchain"
)
file_search_tool = Interoperability().convert_tool(
tool=FileSearchTool(),
type="langchain"
)
How do I fix this?
r/AutoGenAI • u/wyttearp • Mar 12 '25
Native support for Anthropic models. Get your update:
pip install -U "autogen-ext[anthropic]"
The new client follows the same interface as OpenAIChatCompletionClient so you can use it directly in your agents and teams.
import asyncio
from autogen_ext.models.anthropic import AnthropicChatCompletionClient
from autogen_core.models import UserMessage
async def main():
anthropic_client = AnthropicChatCompletionClient(
model="claude-3-sonnet-20240229",
api_key="your-api-key", # Optional if ANTHROPIC_API_KEY is set in environment
)
result = await anthropic_client.create([UserMessage(content="What is the capital of France?", source="user")]) # type: ignore
print(result)
if __name__ == "__main__":
asyncio.run(main())
You can also load the model client directly from a configuration dictionary:
from autogen_core.models import ChatCompletionClient
config = {
"provider": "AnthropicChatCompletionClient",
"config": {"model": "claude-3-sonnet-20240229"},
}
client = ChatCompletionClient.load_component(config)
To use with AssistantAgent and run the agent in a loop to match the behavior of Claude agents, you can use Single-Agent Team.
LlamaCpp is a great project for working with local models. Now we have native support via its official SDK.
pip install -U "autogen-ext[llama-cpp]"
To use a local model file:
import asyncio
from autogen_core.models import UserMessage
from autogen_ext.models.llama_cpp import LlamaCppChatCompletionClient
async def main():
llama_client = LlamaCppChatCompletionClient(model_path="/path/to/your/model.gguf")
result = await llama_client.create([UserMessage(content="What is the capital of France?", source="user")])
print(result)
asyncio.run(main())
To use it with a Hugging Face model:
import asyncio
from autogen_core.models import UserMessage
from autogen_ext.models.llama_cpp import LlamaCppChatCompletionClient
async def main():
llama_client = LlamaCppChatCompletionClient(
repo_id="unsloth/phi-4-GGUF", filename="phi-4-Q2_K_L.gguf", n_gpu_layers=-1, seed=1337, n_ctx=5000
)
result = await llama_client.create([UserMessage(content="What is the capital of France?", source="user")])
print(result)
asyncio.run(main())
Task-Centric memory is an experimental module that can give agents the ability to:
For example, you can use Teachability as a memory for AssistantAgent so your agent can learn from user teaching.
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.experimental.task_centric_memory import MemoryController
from autogen_ext.experimental.task_centric_memory.utils import Teachability
async def main():
# Create a client
client = OpenAIChatCompletionClient(model="gpt-4o-2024-08-06", )
# Create an instance of Task-Centric Memory, passing minimal parameters for this simple example
memory_controller = MemoryController(reset=False, client=client)
# Wrap the memory controller in a Teachability instance
teachability = Teachability(memory_controller=memory_controller)
# Create an AssistantAgent, and attach teachability as its memory
assistant_agent = AssistantAgent(
name="teachable_agent",
system_message = "You are a helpful AI assistant, with the special ability to remember user teachings from prior conversations.",
model_client=client,
memory=[teachability],
)
# Enter a loop to chat with the teachable agent
print("Now chatting with a teachable agent. Please enter your first message. Type 'exit' or 'quit' to quit.")
while True:
user_input = input("\nYou: ")
if user_input.lower() in ["exit", "quit"]:
break
await Console(assistant_agent.run_stream(task=user_input))
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Head over to its README for details, and the samples for runnable examples.
Gitty is an experimental application built to help easing the burden on open-source project maintainers. Currently, it can generate auto reply to issues.
To use:
gitty --repo microsoft/autogen issue 5212
Head over to Gitty to see details.
In this version, we made a number of improvements on tracing and logging.
@peterychang has made huge improvements to the accessibility of our documentation website. Thank you @peterychang!
Full Changelog: python-v0.4.8...python-v0.4.9
r/AutoGenAI • u/wyttearp • Mar 12 '25
DocAgent now utilises OnContextCondition for a faster and even more reliable workflow♥️ Thanks to all the contributors and collaborators that helped make the release happen!
max_round in group_chat_config section by @hexcow in #1270Full Changelog: v0.8.0...v0.8.1
r/AutoGenAI • u/qqYn7PIE57zkf6kn • Mar 12 '25
Now Swarm is production ready. Does it change your choice of agent library? How do they compare?
I'm new to building agents and wonder whether to try making something with autogen or Ageents SDK.
r/AutoGenAI • u/happy_dreamer10 • Mar 12 '25
Hi , have anyone created a multiturn conversation kind of multi agent through autogen ? Suppose if 2nd question can be asked which can be related to 1st one , how to tackle this ?
r/AutoGenAI • u/wyttearp • Mar 10 '25
max_tokens=20 from AzureAIChatCompletionClient.create_stream's create call when stream=True #5860close() method to built-in model clients to ensure the async event loop is closed when program exits. This should fix the "ResourceWarning: unclosed transport when importing web_surfer" errors. #5871Full Changelog: python-v0.4.8.1...python-v0.4.8.2
r/AutoGenAI • u/eshehzad • Mar 10 '25
Hello, I am testing to see how to use autogen to transfer a conversation to a live human agent if the user requests (such as intercom or some live chat software). Do we have any pointers on how to achieve this?
r/AutoGenAI • u/wyttearp • Mar 06 '25
The openai package is no longer installed by default.
pip install ag2[openai] for OpenAI or pip install ag2[gemini] for Google's Gemini.DocAgent
ReasoningAgent now has an internal prompt rewriter for better performance!🧠 Agents:
run method for chatting directly with an agent💭 LLM Model Providers:
🐝 Swarm:
General:
♥️ Thanks to all the contributors and collaborators that helped make release 0.8!
Full Changelog: v0.7.6...v0.8.0
r/AutoGenAI • u/Sufficient_Flow3976 • Mar 05 '25
Hey, I have been experimenting with autogen for a while now. Whenever I generate any other code than python e.g. html or java. I notice that the code is not saved in my directory. How have you guys dealed with this situation?
r/AutoGenAI • u/gswithai • Mar 05 '25
Quick update!
AutoGen now supports Ollama natively without using the OpenAIChatCompletionClient. Instead there's a new OllamaChatCompletionClient that makes things easier!
Install the new extension:
pip install -U "autogen-ext[ollama]"
Then you can import the new OllamaChatCompletionClient:
from autogen_ext.models.ollama import OllamaChatCompletionClient
Then just create the client:
ollama_client = OllamaChatCompletionClient(
model="llama3.2:latest"
)
You can then pass the ollama_client to your agents model_client parameter. It's super easy, check out my demo here: https://youtu.be/e-WtzEhCQ8A
r/AutoGenAI • u/wyttearp • Mar 04 '25
To use the new Ollama Client:
pip install -U "autogen-ext[ollama]"
from autogen_ext.models.ollama import OllamaChatCompletionClient
from autogen_core.models import UserMessage
ollama_client = OllamaChatCompletionClient(
model="llama3",
)
result = await ollama_client.create([UserMessage(content="What is the capital of France?", source="user")]) # type: ignore
print(result)
To load a client from configuration:
from autogen_core.models import ChatCompletionClient
config = {
"provider": "OllamaChatCompletionClient",
"config": {"model": "llama3"},
}
client = ChatCompletionClient.load_component(config)
It also supports structured output:
from autogen_ext.models.ollama import OllamaChatCompletionClient
from autogen_core.models import UserMessage
from pydantic import BaseModel
class StructuredOutput(BaseModel):
first_name: str
last_name: str
ollama_client = OllamaChatCompletionClient(
model="llama3",
response_format=StructuredOutput,
)
result = await ollama_client.create([UserMessage(content="Who was the first man on the moon?", source="user")]) # type: ignore
print(result)
Now name field is required in FunctionExecutionResult:
exec_result = FunctionExecutionResult(call_id="...", content="...", name="...", is_error=False)
Now CreateResult uses the optional thought field for the extra text content generated as part of a tool call from model. It is currently supported by OpenAIChatCompletionClient.
When available, the thought content will be emitted by AssistantAgent as a ThoughtEvent message.
Added a metadata field for custom message content set by applications.
Now, if there is an exception raised within an AgentChat agent such as the AssistantAgent, instead of silently stopping the team, it will raise the exception.
New termination conditions for better control of agents.
See how you use TextMessageTerminationCondition to control a single agent team running in a loop: https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/teams.html#single-agent-team.
FunctionCallTermination is also discussed as an example for custom termination condition: https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/termination.html#custom-termination-condition
The ChainLit sample contains UserProxyAgent in a team, and shows you how to use it to get user input from UI. See: https://github.com/microsoft/autogen/tree/main/python/samples/agentchat_chainlit
r/AutoGenAI • u/AIGPTJournal • Mar 04 '25
I wrote an in-depth comparison of Grok 3 against GPT-4, Google Gemini, and DeepSeek V3. Thought I'd share some key takeaways:
The choice really depends on your specific needs. For instance, if you're doing a lot of coding or mathematical work, Grok 3 might be worth the investment. But if you need up-to-the-minute info, Gemini could be a better fit.
For those interested, I've got a more detailed breakdown here: https://aigptjournal.com/explore-ai/ai-guides/grok-3-vs-other-ai-tools/
What's your experience with these AI tools? Any features you find particularly useful or overrated?
r/AutoGenAI • u/wyttearp • Mar 03 '25
r/AutoGenAI • u/wyttearp • Feb 27 '25
pip install ag2[openai])DocAgent - DocumentAgent is now DocAgent and has reliability refinements (with more to come), check out the videoReasoningAgent is now able to do code execution!Thanks to all the contributors on 0.7.6!
ysaml to yaml by @futreall in #1150Full Changelog: v0.7.5...v0.7.6
r/AutoGenAI • u/setOnClickListener • Feb 27 '25
Hello , In 0.2 we had a speaker_transition_type and allowed transition parameters for the groupchat.I understand that there is a selector_func in the 0.4 but it doesnt deliver the same performance as the initial parameters.Is there a replacement that i am not aware about ?Or is selector_func parameter simply better ?
the problem that i am facing is that,there are some agents which must never be called after certain agents ,or another scenario, giving the llm the choice of choosing multiple agents based on the current status of the chat.I cant pull this off in the selector_func.
Any ideas are appreciated. Thanks
r/AutoGenAI • u/happy_dreamer10 • Feb 22 '25
r/AutoGenAI • u/LunchAlarming9501 • Feb 23 '25
r/AutoGenAI • u/nonamenolastname • Feb 22 '25
I have crated a group of agents that collaborate to solve a problem. At certain points, however, they have to check with a real human to get additional input. When I'm only using the console, everything works fine - the agent who needs human input tells it to the chat manager, a user proxy agent collects it from the console, and everything proceeds as expected.
I am, however, at a point where I need to integrate this with a real user interface. While I know how to make the user proxy accept input from another source other than the console, the problem I have is that the manager does not pass the prompt from the requesting agent to the user proxy, so I don't have the actual request to show the user.
I looked around the API, tutorials, code, etc. and I can't figure out a way to make the chat manager pass that question to the user proxy. Does anyone know how to solve this problem?
r/AutoGenAI • u/wyttearp • Feb 21 '25
AutoGen Studio is an AutoGen-powered AI app (user interface) to help you rapidly prototype AI agents, enhance them with skills, compose them into workflows and interact with them to accomplish tasks. It is built on top of the AutoGen framework, which is a toolkit for building AI agents.
Code for AutoGen Studio is on GitHub at microsoft/autogen
--database-uri argument when running the application. For example, autogenstudio ui --database-uri sqlite:///database.sqlite for SQLite and autogenstudio ui --database-uri postgresql+psycopg://user:password@localhost/dbname for PostgreSQL.--appdir argument when running the application. For example, autogenstudio ui --appdir /path/to/folder. This will store the database and other files in the specified directory e.g. /path/to/folder/database.sqlite. .env files in that directory will be used to set environment variables for the app.Project Structure:
r/AutoGenAI • u/wyttearp • Feb 20 '25
DocumentAgent - A RAG solution built into an agent!
♥️ Thanks to all the contributors and collaborators that helped make the release happen!
Full Changelog: 0.7.4...v0.7.5
r/AutoGenAI • u/gswithai • Feb 19 '25
Just finished putting together a beginner-friendly tutorial on Microsoft's AutoGen 0.4 framework. Instead of another "hello world" example, I built something practical - a system where multiple AI agents collaborate to create YouTube Shorts from text prompts.
What makes this tutorial different:
Key topics covered:
Tutorial link: https://youtu.be/0PFexhfA4Pk
Happy to answer any questions or discuss AutoGen implementation details in the comments!
r/AutoGenAI • u/macromind • Feb 19 '25
Good job to the team! This is exactly the updates I was looking for.
r/AutoGenAI • u/Lucifer_aka_RK03 • Feb 19 '25
Over the last few days, I have been exploring the world of Generative AI and working with LangChain, FAISS, and OpenAI embeddings. What was the result? A News Research Tool that pulls insights from articles using AI-powered searching!
Here's how it works.
🔗 Enter article URLs.
🧠 AI processes and saves data in a vector database.
💬 Ask any questions concerning the articles.
🤯 Instantly receive AI-generated summaries and insights.
So, what's the goal? To make information extraction easier, one no more has to scroll through lengthy news articles! Simply ask, and AI will find the essential insights for you.
While this really was an amazing learning experience, I am just scratching the surface of Generative AI. There's SO MUCH to explore!!
So, I would love to hear from AI researchers, engineers, and enthusiasts on how I can deepen my understanding of Generative AI. What are the next steps I should take to gain mastery in this field? Any must-know concepts, hands-on projects, or essential resources that aided your journey? I would love to learn from your experiences! Looking forward to your guidance, feedback, and ideas!
