| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
025490a1bd
|
Use class hierarchy to organize AgentChat message types and introduce StructuredMessage type (#5998)
This PR refactored `AgentEvent` and `ChatMessage` union types to abstract base classes. This allows for user-defined message types that subclass one of the base classes to be used in AgentChat. To support a unified interface for working with the messages, the base classes added abstract methods for: - Convert content to string - Convert content to a `UserMessage` for model client - Convert content for rendering in console. - Dump into a dictionary - Load and create a new instance from a dictionary This way, all agents such as `AssistantAgent` and `SocietyOfMindAgent` can utilize the unified interface to work with any built-in and user-defined message type. This PR also introduces a new message type, `StructuredMessage` for AgentChat (Resolves #5131), which is a generic type that requires a user-specified content type. You can create a `StructuredMessage` as follow: ```python class MessageType(BaseModel): data: str references: List[str] message = StructuredMessage[MessageType](content=MessageType(data="data", references=["a", "b"]), source="user") # message.content is of type `MessageType`. ``` This PR addresses the receving side of this message type. To produce this message type from `AssistantAgent`, the work continue in #5934. Added unit tests to verify this message type works with agents and teams. |
1 year ago |
|
|
334209f825
|
Correct README command examples for chess game sample. (#6008)
Fix outdated script references from chess_game.py to main.py |
1 year ago |
|
|
262c74fd41
|
Properly close model clients in documentation and samples (#5898)
Closes #5873 --------- Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com> |
1 year ago |
|
|
cd9dca4740
|
feat: add o3 to model info; update chess example (#5311)
Because. |
1 year ago |
|
|
69d3af7324
|
Add a new sample to show streaming and R1 usage (#5285)
* New sample of chess playing showing R1's thought process in streaming mode * Modify existing samples to use `model_config.yml` instead of JSON configs for better clarity. --------- Co-authored-by: Mohammad Mazraeh <Mazraeh.Mohammad@Gmail.com> |
1 year ago |
|
|
88c895fd48
|
sample: Update chainlit sample with streaming (#5304)
* Separate agent and team examples * Add streaming output * Refactor to better use the chainlit API * Removed the user proxy example -- this needs a bit more work to improve the presentation on the ChainLit interface. --------- Co-authored-by: Victor Dibia <victordibia@microsoft.com> |
1 year ago |