Merge branch 'feat-reporter' into 'feat-stream'

Feat reporter

See merge request pub/MetaGPT!77
This commit is contained in:
洪炯腾 2024-04-26 13:40:54 +00:00
commit 51a635e97e
12 changed files with 14 additions and 14 deletions

View file

@ -24,9 +24,9 @@ from metagpt.actions.design_api_an import (
)
from metagpt.const import DATA_API_DESIGN_FILE_REPO, SEQ_FLOW_FILE_REPO
from metagpt.logs import logger
from metagpt.report import DocsReporter
from metagpt.schema import Document, Documents, Message
from metagpt.utils.mermaid import mermaid_to_file
from metagpt.utils.report import DocsReporter
NEW_REQ_TEMPLATE = """
### Legacy Content

View file

@ -27,7 +27,7 @@ from rich.syntax import Syntax
from metagpt.actions import Action
from metagpt.const import DEFAULT_WORKSPACE_ROOT
from metagpt.logs import logger
from metagpt.report import NotebookReporter
from metagpt.utils.report import NotebookReporter
INSTALL_KEEPLEN = 500

View file

@ -18,8 +18,8 @@ from metagpt.actions.action_output import ActionOutput
from metagpt.actions.project_management_an import PM_NODE, REFINED_PM_NODE
from metagpt.const import PACKAGE_REQUIREMENTS_FILENAME
from metagpt.logs import logger
from metagpt.report import DocsReporter
from metagpt.schema import Document, Documents
from metagpt.utils.report import DocsReporter
NEW_REQ_TEMPLATE = """
### Legacy Content

View file

@ -25,10 +25,10 @@ from metagpt.actions.project_management_an import REFINED_TASK_LIST, TASK_LIST
from metagpt.actions.write_code_plan_and_change_an import REFINED_TEMPLATE
from metagpt.const import BUGFIX_FILENAME, REQUIREMENT_FILENAME
from metagpt.logs import logger
from metagpt.report import EditorReporter
from metagpt.schema import CodingContext, Document, RunCodeResult
from metagpt.utils.common import CodeParser
from metagpt.utils.project_repo import ProjectRepo
from metagpt.utils.report import EditorReporter
PROMPT_TEMPLATE = """
NOTICE

View file

@ -33,11 +33,11 @@ from metagpt.const import (
REQUIREMENT_FILENAME,
)
from metagpt.logs import logger
from metagpt.report import DocsReporter
from metagpt.schema import BugFixContext, Document, Documents, Message
from metagpt.utils.common import CodeParser
from metagpt.utils.file_repository import FileRepository
from metagpt.utils.mermaid import mermaid_to_file
from metagpt.utils.report import DocsReporter
CONTEXT_TEMPLATE = """
### Project Name

View file

@ -48,9 +48,9 @@ from metagpt.const import (
)
from metagpt.logs import logger
from metagpt.repo_parser import DotClassInfo
from metagpt.report import TaskReporter
from metagpt.utils.common import any_to_str, any_to_str_set, import_class
from metagpt.utils.exceptions import handle_exception
from metagpt.utils.report import TaskReporter
from metagpt.utils.serialize import (
actionoutout_schema_to_mapping,
actionoutput_mapping_to_str,

View file

@ -1,8 +1,8 @@
from playwright.async_api import async_playwright
from metagpt.const import DEFAULT_WORKSPACE_ROOT
from metagpt.report import BrowserReporter
from metagpt.tools.tool_registry import register_tool
from metagpt.utils.report import BrowserReporter
@register_tool()

View file

@ -1,5 +1,5 @@
from metagpt.report import ServerReporter
from metagpt.tools.tool_registry import register_tool
from metagpt.utils.report import ServerReporter
# An un-implemented tool reserved for deploying a local service to public

View file

@ -4,8 +4,8 @@ import subprocess
from pydantic import BaseModel, Field
from metagpt.report import EditorReporter
from metagpt.tools.tool_registry import register_tool
from metagpt.utils.report import EditorReporter
class FileBlock(BaseModel):

View file

@ -2,8 +2,8 @@ import subprocess
import threading
from queue import Queue
from metagpt.report import END_MARKER_VALUE, TerminalReporter
from metagpt.tools.tool_registry import register_tool
from metagpt.utils.report import END_MARKER_VALUE, TerminalReporter
@register_tool()

View file

@ -89,7 +89,7 @@ class ResourceReporter(BaseModel):
... print(value, name)
```
"""
cls._report = fn
cls._async_report = fn
def _report(self, value: Any, name: str):
if not self.callback_url:
@ -146,14 +146,14 @@ class ResourceReporter(BaseModel):
async def __aexit__(self, *args, **kwargs):
"""Exit the asynchronous streaming callback context."""
await self.async_report(None, END_MARKER_NAME)
self.is_chunk = False
if self.enable_llm_stream:
self._llm_task.cancel()
self._llm_task = None
await self.async_report(None, END_MARKER_NAME)
async def _llm_stream_report(self, queue: asyncio.Queue):
while True:
while self.is_chunk:
await self.async_report(await queue.get(), "content")
async def wait_llm_stream_report(self):

View file

@ -5,7 +5,7 @@ import aiohttp.web
import pytest
from metagpt.logs import log_llm_stream
from metagpt.report import (
from metagpt.utils.report import (
END_MARKER_NAME,
BlockType,
BrowserReporter,