From 241d48e2c90b264c19f560993ef62d5eff5b1e18 Mon Sep 17 00:00:00 2001 From: Liqun Li Date: Tue, 7 May 2024 16:57:28 +0800 Subject: [PATCH 1/2] fix link --- website/blog/role.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/blog/role.md b/website/blog/role.md index d2f83807..f03a5f1b 100644 --- a/website/blog/role.md +++ b/website/blog/role.md @@ -61,9 +61,9 @@ and the current flow actually incurred unnecessary LLM call overhead to generate Second, it does not make sense to represent the instructions in variables. The instructions are not data to be processed, but a text guide for the agent to follow. -For these reasons, we introduced the concept of [roles](../docs/concepts/role.md) in TaskWeaver. +For these reasons, we introduced the concept of [roles](/docs/concepts/role) in TaskWeaver. Roles are actually not new in TaskWeaver as there are already roles like `Planner` and `CodeInterpreter`. -To add a new role, the developer can follow the documentation [here](../docs/concepts/role.md). +To add a new role, the developer can follow the documentation [here](/docs/concepts/role). In general, a role is a class that inherits the `Role` class and implements the `reply` method. The `reply` method is the function that the agent calls to interact with the role, which has the following signature: @@ -73,7 +73,7 @@ def reply(self, memory: Memory, **kwargs) -> Post: # implementation ``` -It takes the `memory` object, which is the memory of the agent, and returns a [Post](../docs/concepts/post.md) object, which is the response of the role to the Planner. +It takes the `memory` object, which is the memory of the agent, and returns a [Post](/docs/concepts/post) object, which is the response of the role to the Planner. With the `memory` object, the role can access the history of the conversation and the context of the conversation. You may have noticed that all roles in TaskWeaver can only talk to the Planner, not to each other. If a role needs to talk to another role, it should go through the Planner. @@ -94,7 +94,7 @@ flowchart TD B --response--> A ``` -The communication between the Planner and the roles is done through the [Post](../docs/concepts/post.md) object. +The communication between the Planner and the roles is done through the [Post](/docs/concepts/post) object. In other words, they talk to each other by sending messages in natural language. What if a role needs to send some data to another role? If this is the case, we would recommend to implement a new plugin instead of a new role. Otherwise, you may need to store the data in an external storage like a database and let the other role to access it. @@ -107,7 +107,7 @@ Even though we can emphasize the importance of the Planner to pass all the neces it is still possible that the Planner misses some information. To address this challenge, we introduce the concept of `board` in TaskWeaver. -The `board` is a shared memory space that can be accessed by all roles, which is associated with the current [Round](../docs/concepts/round.md). +The `board` is a shared memory space that can be accessed by all roles, which is associated with the current [Round](/docs/concepts/round). The `board` is a dictionary-like object that can store any information that is needed by the roles. Each role can decide to write or read any information from the `board`. From a9b2db3555d230f0a9f19fe7d009ba0234fb97d3 Mon Sep 17 00:00:00 2001 From: Liqun Li Date: Tue, 7 May 2024 17:03:19 +0800 Subject: [PATCH 2/2] news on readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cdf3bbe1..b0cd09f8 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Unlike many agent frameworks that only track the chat history with LLMs in text, ## πŸ†• News +- πŸ“…2024-05-07: We have added two blog posts on [Evaluating a LLM agent](https://microsoft.github.io/TaskWeaver/blog/evaluation) and [Adding new roles to TaskWeaver](https://microsoft.github.io/TaskWeaver/blog/role) in the documentation.πŸ“ - πŸ“…2024-03-28: TaskWeaver now offers all-in-one Docker image, providing a convenient one-stop experience for users. Please check the [docker](https://microsoft.github.io/TaskWeaver/docs/usage/docker) for more details.🐳 - πŸ“…2024-03-27: TaskWeaver now switches to `container` mode by default for code execution. Please check the [code execution](https://microsoft.github.io/TaskWeaver/docs/code_execution) for more details.🐳 - πŸ“…2024-03-07: TaskWeaver now supports configuration of different LLMs for various components, such as the Planner and CodeInterpreter. Please check the [multi-llm](https://microsoft.github.io/TaskWeaver/docs/llms/multi-llm) for more details.πŸ”— @@ -30,7 +31,7 @@ Unlike many agent frameworks that only track the chat history with LLMs in text, - πŸ“…2024-02-28: TaskWeaver now offers a [CLI-only](https://microsoft.github.io/TaskWeaver/docs/advanced/cli_only) mode, enabling users to interact seamlessly with the Command Line Interface (CLI) using natural language.πŸ“Ÿ - πŸ“…2024-02-01: TaskWeaver now has a plugin [document_retriever](https://github.com/microsoft/TaskWeaver/blob/main/project/plugins/README.md#document_retriever) for RAG based on a knowledge base.πŸ“š - πŸ“…2024-01-30: TaskWeaver introduces a new plugin-only mode that securely generates calls to specified plugins without producing extraneous code.πŸͺ‘ -- πŸ“…2024-01-23: TaskWeaver can now be personalized by transforming your chat histories into enduring [experiences](https://microsoft.github.io/TaskWeaver/docs/customization/experience) πŸŽ‰ +