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

Occam AI Agent #784

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9fd66ff
Occam Agent starting point
marklysze Feb 4, 2025
85346aa
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Feb 6, 2025
a129b2d
Reply function example
marklysze Feb 6, 2025
36689d4
Merge branch 'main' into occamaiagents
marklysze Feb 17, 2025
f4fc8cb
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Feb 24, 2025
cfa7c5e
Merge branch 'main' into occamaiagents
davorrunje Feb 25, 2025
61550c7
wip OccamAgent integration with Occam SDK
mohamedabdelbary Mar 4, 2025
0778c8c
Merge branch 'occamaiagents' of github.com:ag2ai/ag2 into occamaiagents
mohamedabdelbary Mar 4, 2025
67fbc54
some printing
mohamedabdelbary Mar 4, 2025
71bcabe
Reply function hook up fix
marklysze Mar 5, 2025
e342502
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Mar 5, 2025
78f6c75
Tidy
marklysze Mar 5, 2025
6b166de
Updates
marklysze Mar 5, 2025
8eb5f18
remove main run from occam.py
mohamedabdelbary Mar 6, 2025
85e5f59
wip example init and run script for occam agent
mohamedabdelbary Mar 6, 2025
876f15f
tidy up script and args
mohamedabdelbary Mar 6, 2025
346a72d
Notebook
marklysze Mar 14, 2025
92b0a53
Notebook
marklysze Mar 14, 2025
4451c73
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Mar 14, 2025
6dfbfce
pre-commit types and tidy
marklysze Mar 14, 2025
8a4a596
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Mar 17, 2025
9592d19
Merge remote-tracking branch 'origin/main' into occamaiagents
marklysze Mar 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Tidy
marklysze committed Mar 5, 2025
commit 78f6c757605bfe264bf29ba0217740e01ca558ae
34 changes: 9 additions & 25 deletions autogen/agents/experimental/occam/occam.py
Original file line number Diff line number Diff line change
@@ -4,20 +4,13 @@


import os
from typing import Optional, Union, Any

from autogen.agentchat import Agent, ConversableAgent
from autogen.oai import OpenAIWrapper
from autogen.doc_utils import export_module
from autogen.io.base import IOStream
from autogen.messages.agent_messages import (
TerminationAndHumanReplyMessage,
)
from typing import Any, Optional, Union

from occam_core.agents.model import AgentIOModel, OccamLLMMessage
from occamai.api_client import OccamClient
from occamai.api_client import AgentInstanceParamsModel, AgentRunDetail
from occamai.api_client import AgentInstanceParamsModel, AgentRunDetail, OccamClient

from autogen.agentchat import Agent, ConversableAgent
from autogen.doc_utils import export_module

__all__ = ["OccamAgent"]

@@ -26,13 +19,7 @@
class OccamAgent(ConversableAgent):
def _convert_ag_messages_to_agent_io_model(self, messages: list[dict]) -> AgentIOModel:
return AgentIOModel(
chat_messages=[
OccamLLMMessage(
role=message["role"],
content=message["content"]
)
for message in messages
]
chat_messages=[OccamLLMMessage(role=message["role"], content=message["content"]) for message in messages]
)

def occam_reply_func(
@@ -70,7 +57,7 @@ def occam_reply_func(
# )

# True indicates final reply, string goes back into the chat's messages.
return True, "TESTING!" # ".join([m.content for m in agent_output.chat_messages])
return True, "".join([m.content for m in agent_output.chat_messages])

def __init__(
self,
@@ -87,13 +74,12 @@ def __init__(
"""

super().__init__(*args, **kwargs)

self.occam_client = OccamClient(api_key=api_key, base_url=base_url)

# Initialise agent.
occam_agent_instance = self.occam_client.agents.instantiate_agent(
agent_name="DeepSeek: R1 Distill Llama 70B",
agent_params=agent_params
agent_name="DeepSeek: R1 Distill Llama 70B", agent_params=agent_params
)
self.occam_agent_instance_id = occam_agent_instance.agent_instance_id
print(f"Created Occam Agent instance: {self.occam_agent_instance_id}")
@@ -130,7 +116,5 @@ def __init__(
agent = OccamAgent(api_key=api_key, base_url=base_url, name="occam-agent")
other_agent = ConversableAgent(name="other-agent", llm_config={"model": "gpt-4o-mini", "api_type": "openai"})
other_agent.initiate_chat(
recipient=agent,
message="Hello, tell me an interesting fact about the moon.",
max_turns=2
recipient=agent, message="Hello, tell me an interesting fact about the moon.", max_turns=2
)