diff --git a/examples/ags/w_action_node/graph.py b/examples/ags/w_action_node/graph.py index 37e51f5a3..6612d3dc8 100644 --- a/examples/ags/w_action_node/graph.py +++ b/examples/ags/w_action_node/graph.py @@ -5,7 +5,7 @@ from metagpt.llm import LLM -from examples.ags.w_action_node.operator import Generate, GenerateCode, Review, Revise, Ensemble +from examples.ags.w_action_node.operator import Generate, GenerateCode, Review, Revise, Ensemble, ScEnsemble class Graph: def __init__(self, name:str, llm:LLM) -> None: @@ -25,22 +25,41 @@ class HumanEvalGraph(Graph): self.review = Review(llm=llm, criteria=criteria) self.revise = Revise(llm=llm) self.ensemble = Ensemble(llm=llm) + self.scensemble = ScEnsemble(llm=llm) - async def __call__(self, problem:str, ensemble_count:int = 2): - # TODO Ensemble Implamentation + # async def __call__(self, problem:str, ensemble_count:int = 2): + # solution_list = [] + # for _ in range(ensemble_count): + # solution = await self.single_solve(problem, 3) + # solution_list.append(solution) + # solution = await self.ensemble(solution_list, problem) + # return solution + + async def __call__(self, problem:str): solution_list = [] - for _ in range(ensemble_count): - solution = await self.single_solve(problem, 3) + for _ in range(3): + solution = await self.generate_code(problem) solution = solution.get('code_solution') solution_list.append(solution) solution = await self.ensemble(solution_list, problem) return solution + # async def __call__(self, problem:str): + # solution_list = [] + # for _ in range(3): + # solution = await self.generate_code(problem) + # solution = solution.get('code_solution') + # solution_list.append(solution) + # solution = await self.scensemble(solution_list, problem) + # return solution + async def single_solve(self, problem:str, max_loop:int): solution = await self.generate_code(problem) + solution = solution.get('code_solution') for _ in range(max_loop): review_feedback = await self.review(problem, solution) if review_feedback['review_result']: break solution = await self.revise(problem, solution, review_feedback['feedback']) + solution = solution.get('revised_solution') return solution \ No newline at end of file diff --git a/examples/ags/w_action_node/operator.py b/examples/ags/w_action_node/operator.py index d49ac119c..73ee1d61d 100644 --- a/examples/ags/w_action_node/operator.py +++ b/examples/ags/w_action_node/operator.py @@ -65,6 +65,21 @@ class Revise(Operator): class Ensemble(Operator): + def __init__(self, name:str ="Ensembler", llm: LLM = LLM()): + super().__init__(name, llm) + + async def __call__(self, solutions:List, problem_description): + solution_text = "" + for solution in solutions: + solution_text += str(solution) + "\n" + prompt = ENSEMBLE_PROMPT.format(solutions=solution_text, problem_description=problem_description) + node = await ActionNode.from_pydantic(EnsembleOp).fill(context=prompt, llm=self.llm) + response = node.instruct_content.model_dump() + return response + + +class ScEnsemble(Operator): + def __init__(self, name:str ="Ensembler", llm: LLM = LLM()): super().__init__(name, llm) diff --git a/examples/ags/w_action_node/operator_an.py b/examples/ags/w_action_node/operator_an.py index aa4753113..b7c823e45 100644 --- a/examples/ags/w_action_node/operator_an.py +++ b/examples/ags/w_action_node/operator_an.py @@ -4,7 +4,6 @@ # @Desc : action nodes for operator from pydantic import BaseModel, Field -from metagpt.actions.action_node import ActionNode class GenerateOp(BaseModel): solution: str = Field(default="", description="Your Solution for this problem") @@ -21,3 +20,6 @@ class ReviseOp(BaseModel): class EnsembleOp(BaseModel): final_solution: str = Field(default="", description="Final ensemble solution for this problem") + +class ScEnsembleOp(BaseModel): + solution_number: int = Field(default="", description="Choose The Best Solution Between These, and outp[ut the solution number") \ No newline at end of file diff --git a/examples/ags/w_action_node/prompt.py b/examples/ags/w_action_node/prompt.py index 44d854bd8..da5336994 100644 --- a/examples/ags/w_action_node/prompt.py +++ b/examples/ags/w_action_node/prompt.py @@ -25,6 +25,6 @@ Then output the revised solution. """ ENSEMBLE_PROMPT = """ -For the question described as {problem_description}, -please ensemble the following solutions: {solutions}, and provide an ensemble solution. +For the question described as {problem_description}, Solutions: {solutions} +Please select the solution that appears most frequently from these options and ensemble this to provide best solution. """ diff --git a/he_test.py b/he_test.py index 36919433b..f4c87ffe2 100644 --- a/he_test.py +++ b/he_test.py @@ -6,9 +6,13 @@ from examples.ags.w_action_node.graph import HumanEvalGraph from examples.ags.w_action_node.operator import GenerateCode generate_code = GenerateCode(llm=LLM()) +case = get_human_eval_plus()['HumanEval/10'] solver = HumanEvalGraph(name="solver", llm=LLM(), criteria='correctness, efficiency, readability') - +async def sample_generate(case): + solution_result = await solver(case['prompt']) + sample_dict = dict(task_id=case['task_id'], solution=solution_result['final_solution']) + print(sample_dict) async def samples_generate_sequence(): sample_list = [] @@ -35,18 +39,6 @@ async def samples_generate_ags(): write_jsonl("samples.jsonl", sample_list) - # humanevalgraph result (review & revise -> ensemble) - # humaneval (base tests) - # pass@1: 0.823 - # humaneval+ (base + extra tests) - # pass@1: 0.774 - - # deepseek result - # humaneval (base tests) - # pass@1: 0.841 - # humaneval+ (base + extra tests) - # pass@1: 0.780 - async def samples_generate_llm(): sample_list = [] cases = list(get_human_eval_plus().values()) @@ -64,5 +56,8 @@ async def samples_generate_llm(): write_jsonl("samples.jsonl", sample_list) -asyncio.run(samples_generate_llm()) +# asyncio.run(sample_generate(case)) +# asyncio.run(samples_generate_llm()) +asyncio.run(samples_generate_ags()) + diff --git a/test.ipynb b/test.ipynb index 352e0bc68..f20885aba 100644 --- a/test.ipynb +++ b/test.ipynb @@ -1,213 +1,5 @@ { "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: metagpt in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (0.8.1)\n", - "Requirement already satisfied: aiohttp==3.8.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (3.8.6)\n", - "Requirement already satisfied: channels==4.0.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (4.0.0)\n", - "Requirement already satisfied: faiss-cpu==1.7.4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.7.4)\n", - "Requirement already satisfied: fire==0.4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.4.0)\n", - "Requirement already satisfied: typer==0.9.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.9.0)\n", - "Requirement already satisfied: lancedb==0.4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.4.0)\n", - "Requirement already satisfied: loguru==0.6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.6.0)\n", - "Requirement already satisfied: meilisearch==0.21.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.21.0)\n", - "Requirement already satisfied: numpy==1.24.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.24.3)\n", - "Requirement already satisfied: openai==1.6.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.6.1)\n", - "Requirement already satisfied: openpyxl in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (3.0.10)\n", - "Requirement already satisfied: beautifulsoup4==4.12.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (4.12.3)\n", - "Requirement already satisfied: pandas==2.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (2.1.1)\n", - "Requirement already satisfied: pydantic==2.6.4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (2.6.4)\n", - "Requirement already satisfied: python-docx==0.8.11 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.8.11)\n", - "Requirement already satisfied: PyYAML==6.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (6.0.1)\n", - "Requirement already satisfied: setuptools==65.6.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (65.6.3)\n", - "Requirement already satisfied: tenacity==8.2.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (8.2.3)\n", - "Requirement already satisfied: tiktoken==0.6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.6.0)\n", - "Requirement already satisfied: tqdm==4.66.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (4.66.2)\n", - "Requirement already satisfied: anthropic==0.18.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.18.1)\n", - "Requirement already satisfied: typing-inspect==0.8.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.8.0)\n", - "Requirement already satisfied: libcst==1.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.0.1)\n", - "Requirement already satisfied: qdrant-client==1.7.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.7.0)\n", - "Requirement already satisfied: ta==0.10.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.10.2)\n", - "Requirement already satisfied: semantic-kernel==0.4.3.dev0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.4.3.dev0)\n", - "Requirement already satisfied: wrapt==1.15.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from metagpt) (1.15.0)\n", - "Requirement already satisfied: aioredis~=2.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (2.0.1)\n", - "Requirement already satisfied: websocket-client==1.6.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.6.2)\n", - "Requirement already satisfied: aiofiles==23.2.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (23.2.1)\n", - "Requirement already satisfied: gitpython==3.1.40 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (3.1.40)\n", - "Requirement already satisfied: zhipuai==2.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (2.0.1)\n", - "Requirement already satisfied: rich==13.6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (13.6.0)\n", - "Requirement already satisfied: nbclient==0.9.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.9.0)\n", - "Requirement already satisfied: nbformat==5.9.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (5.9.2)\n", - "Requirement already satisfied: ipython==8.17.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (8.17.2)\n", - "Requirement already satisfied: ipykernel==6.27.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (6.27.1)\n", - "Requirement already satisfied: scikit-learn==1.3.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.3.2)\n", - "Requirement already satisfied: typing-extensions==4.9.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (4.9.0)\n", - "Requirement already satisfied: socksio~=1.0.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.0.0)\n", - "Requirement already satisfied: gitignore-parser==0.1.9 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.1.9)\n", - "Requirement already satisfied: websockets~=11.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (11.0.3)\n", - "Requirement already satisfied: networkx~=3.2.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (3.2.1)\n", - "Requirement already satisfied: google-generativeai==0.4.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.4.1)\n", - "Requirement already satisfied: playwright>=1.26 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.44.0)\n", - "Requirement already satisfied: anytree in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (2.12.1)\n", - "Requirement already satisfied: ipywidgets==8.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (8.1.1)\n", - "Requirement already satisfied: Pillow in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (9.4.0)\n", - "Requirement already satisfied: imap-tools==1.5.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.5.0)\n", - "Requirement already satisfied: qianfan==0.3.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.3.2)\n", - "Requirement already satisfied: dashscope==1.14.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (1.14.1)\n", - "Requirement already satisfied: rank-bm25==0.2.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.2.2)\n", - "Requirement already satisfied: jieba==0.42.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from metagpt) (0.42.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (22.2.0)\n", - "Requirement already satisfied: charset-normalizer<4.0,>=2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (3.1.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (6.0.4)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (4.0.2)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (1.8.2)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (1.3.3)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from aiohttp==3.8.6->metagpt) (1.3.1)\n", - "Requirement already satisfied: anyio<5,>=3.5.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anthropic==0.18.1->metagpt) (3.6.2)\n", - "Requirement already satisfied: distro<2,>=1.7.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anthropic==0.18.1->metagpt) (1.8.0)\n", - "Requirement already satisfied: httpx<1,>=0.23.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anthropic==0.18.1->metagpt) (0.23.3)\n", - "Requirement already satisfied: sniffio in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anthropic==0.18.1->metagpt) (1.3.0)\n", - "Requirement already satisfied: tokenizers>=0.13.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anthropic==0.18.1->metagpt) (0.19.1)\n", - "Requirement already satisfied: soupsieve>1.2 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from beautifulsoup4==4.12.3->metagpt) (2.3.2.post1)\n", - "Requirement already satisfied: Django>=3.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from channels==4.0.0->metagpt) (4.1.3)\n", - "Requirement already satisfied: asgiref<4,>=3.5.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from channels==4.0.0->metagpt) (3.8.1)\n", - "Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from dashscope==1.14.1->metagpt) (2.32.3)\n", - "Requirement already satisfied: six in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from fire==0.4.0->metagpt) (1.16.0)\n", - "Requirement already satisfied: termcolor in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from fire==0.4.0->metagpt) (2.4.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from gitpython==3.1.40->metagpt) (4.0.11)\n", - "Requirement already satisfied: google-ai-generativelanguage==0.4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-generativeai==0.4.1->metagpt) (0.4.0)\n", - "Requirement already satisfied: google-auth>=2.15.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-generativeai==0.4.1->metagpt) (2.30.0)\n", - "Requirement already satisfied: google-api-core in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-generativeai==0.4.1->metagpt) (2.19.1)\n", - "Requirement already satisfied: protobuf in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-generativeai==0.4.1->metagpt) (4.25.3)\n", - "Requirement already satisfied: appnope in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (0.1.3)\n", - "Requirement already satisfied: comm>=0.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipykernel==6.27.1->metagpt) (0.2.2)\n", - "Requirement already satisfied: debugpy>=1.6.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipykernel==6.27.1->metagpt) (1.8.2)\n", - "Requirement already satisfied: jupyter-client>=6.1.12 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (7.4.7)\n", - "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipykernel==6.27.1->metagpt) (5.7.2)\n", - "Requirement already satisfied: matplotlib-inline>=0.1 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (0.1.6)\n", - "Requirement already satisfied: nest-asyncio in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (1.5.6)\n", - "Requirement already satisfied: packaging in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipykernel==6.27.1->metagpt) (23.0)\n", - "Requirement already satisfied: psutil in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (5.9.4)\n", - "Requirement already satisfied: pyzmq>=20 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (24.0.1)\n", - "Requirement already satisfied: tornado>=6.1 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (6.2)\n", - "Requirement already satisfied: traitlets>=5.4.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipykernel==6.27.1->metagpt) (5.5.0)\n", - "Requirement already satisfied: decorator in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipython==8.17.2->metagpt) (5.1.1)\n", - "Requirement already satisfied: jedi>=0.16 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipython==8.17.2->metagpt) (0.18.2)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipython==8.17.2->metagpt) (3.0.47)\n", - "Requirement already satisfied: pygments>=2.4.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipython==8.17.2->metagpt) (2.13.0)\n", - "Requirement already satisfied: stack-data in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipython==8.17.2->metagpt) (0.6.1)\n", - "Requirement already satisfied: exceptiongroup in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipython==8.17.2->metagpt) (1.2.1)\n", - "Requirement already satisfied: pexpect>4.3 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from ipython==8.17.2->metagpt) (4.8.0)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.9 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipywidgets==8.1.1->metagpt) (4.0.11)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.9 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ipywidgets==8.1.1->metagpt) (3.0.11)\n", - "Requirement already satisfied: deprecation in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (2.1.0)\n", - "Requirement already satisfied: pylance==0.9.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (0.9.0)\n", - "Requirement already satisfied: ratelimiter~=1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (1.2.0.post0)\n", - "Requirement already satisfied: retry>=0.9.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (0.9.2)\n", - "Requirement already satisfied: semver>=3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (3.0.2)\n", - "Requirement already satisfied: cachetools in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (5.3.3)\n", - "Requirement already satisfied: click>=8.1.7 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (8.1.7)\n", - "Requirement already satisfied: overrides>=0.7 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from lancedb==0.4.0->metagpt) (7.7.0)\n", - "Requirement already satisfied: camel-converter[pydantic] in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from meilisearch==0.21.0->metagpt) (3.1.2)\n", - "Requirement already satisfied: fastjsonschema in /Users/mac/Library/Python/3.9/lib/python/site-packages (from nbformat==5.9.2->metagpt) (2.16.2)\n", - "Requirement already satisfied: jsonschema>=2.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from nbformat==5.9.2->metagpt) (4.22.0)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pandas==2.1.1->metagpt) (2.8.2)\n", - "Requirement already satisfied: pytz>=2020.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pandas==2.1.1->metagpt) (2022.7.1)\n", - "Requirement already satisfied: tzdata>=2022.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pandas==2.1.1->metagpt) (2024.1)\n", - "Requirement already satisfied: annotated-types>=0.4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pydantic==2.6.4->metagpt) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.16.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pydantic==2.6.4->metagpt) (2.16.3)\n", - "Requirement already satisfied: lxml>=2.3.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from python-docx==0.8.11->metagpt) (4.9.2)\n", - "Requirement already satisfied: grpcio>=1.41.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qdrant-client==1.7.0->metagpt) (1.64.1)\n", - "Requirement already satisfied: grpcio-tools>=1.41.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qdrant-client==1.7.0->metagpt) (1.62.2)\n", - "Requirement already satisfied: portalocker<3.0.0,>=2.7.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qdrant-client==1.7.0->metagpt) (2.10.0)\n", - "Requirement already satisfied: urllib3<2.0.0,>=1.26.14 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qdrant-client==1.7.0->metagpt) (1.26.14)\n", - "Requirement already satisfied: aiolimiter>=1.1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qianfan==0.3.2->metagpt) (1.1.0)\n", - "Requirement already satisfied: bce-python-sdk>=0.8.79 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qianfan==0.3.2->metagpt) (0.9.17)\n", - "Requirement already satisfied: multiprocess in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qianfan==0.3.2->metagpt) (0.70.16)\n", - "Requirement already satisfied: pyarrow>=14.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qianfan==0.3.2->metagpt) (16.1.0)\n", - "Requirement already satisfied: python-dotenv>=1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from qianfan==0.3.2->metagpt) (1.0.0)\n", - "Requirement already satisfied: markdown-it-py>=2.2.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from rich==13.6.0->metagpt) (2.2.0)\n", - "Requirement already satisfied: scipy>=1.5.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from scikit-learn==1.3.2->metagpt) (1.13.1)\n", - "Requirement already satisfied: joblib>=1.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from scikit-learn==1.3.2->metagpt) (1.4.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from scikit-learn==1.3.2->metagpt) (3.5.0)\n", - "Requirement already satisfied: motor<4.0.0,>=3.3.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from semantic-kernel==0.4.3.dev0->metagpt) (3.5.0)\n", - "Requirement already satisfied: openapi_core<0.19.0,>=0.18.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from semantic-kernel==0.4.3.dev0->metagpt) (0.18.2)\n", - "Requirement already satisfied: prance<24.0.0.0,>=23.6.21.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from semantic-kernel==0.4.3.dev0->metagpt) (23.6.21.0)\n", - "Requirement already satisfied: regex<2024.0.0,>=2023.6.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from semantic-kernel==0.4.3.dev0->metagpt) (2023.12.25)\n", - "Requirement already satisfied: mypy-extensions>=0.3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from typing-inspect==0.8.0->metagpt) (1.0.0)\n", - "Requirement already satisfied: pyjwt~=2.8.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from zhipuai==2.0.1->metagpt) (2.8.0)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-ai-generativelanguage==0.4.0->google-generativeai==0.4.1->metagpt) (1.24.0)\n", - "Requirement already satisfied: greenlet==3.0.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from playwright>=1.26->metagpt) (3.0.3)\n", - "Requirement already satisfied: pyee==11.1.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from playwright>=1.26->metagpt) (11.1.0)\n", - "Requirement already satisfied: et-xmlfile in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openpyxl->metagpt) (1.1.0)\n", - "Requirement already satisfied: idna>=2.8 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from anyio<5,>=3.5.0->anthropic==0.18.1->metagpt) (3.4)\n", - "Requirement already satisfied: pycryptodome>=3.8.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from bce-python-sdk>=0.8.79->qianfan==0.3.2->metagpt) (3.17)\n", - "Requirement already satisfied: future>=0.6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from bce-python-sdk>=0.8.79->qianfan==0.3.2->metagpt) (1.0.0)\n", - "Requirement already satisfied: sqlparse>=0.2.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from Django>=3.2->channels==4.0.0->metagpt) (0.4.3)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->gitpython==3.1.40->metagpt) (5.0.1)\n", - "Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-api-core->google-generativeai==0.4.1->metagpt) (1.63.2)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-auth>=2.15.0->google-generativeai==0.4.1->metagpt) (0.2.8)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-auth>=2.15.0->google-generativeai==0.4.1->metagpt) (4.9)\n", - "Requirement already satisfied: certifi in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from httpx<1,>=0.23.0->anthropic==0.18.1->metagpt) (2022.12.7)\n", - "Requirement already satisfied: httpcore<0.17.0,>=0.15.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from httpx<1,>=0.23.0->anthropic==0.18.1->metagpt) (0.16.3)\n", - "Requirement already satisfied: rfc3986<2,>=1.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from rfc3986[idna2008]<2,>=1.3->httpx<1,>=0.23.0->anthropic==0.18.1->metagpt) (1.5.0)\n", - "Requirement already satisfied: h2<5,>=3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from httpx[http2]>=0.14.0->qdrant-client==1.7.0->metagpt) (4.1.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from jedi>=0.16->ipython==8.17.2->metagpt) (0.8.3)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jsonschema>=2.6->nbformat==5.9.2->metagpt) (2023.7.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jsonschema>=2.6->nbformat==5.9.2->metagpt) (0.30.2)\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jsonschema>=2.6->nbformat==5.9.2->metagpt) (0.18.1)\n", - "Requirement already satisfied: entrypoints in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jupyter-client>=6.1.12->ipykernel==6.27.1->metagpt) (0.4)\n", - "Requirement already satisfied: platformdirs>=2.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel==6.27.1->metagpt) (2.5.4)\n", - "Requirement already satisfied: mdurl~=0.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from markdown-it-py>=2.2.0->rich==13.6.0->metagpt) (0.1.2)\n", - "Requirement already satisfied: pymongo<5,>=4.5 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from motor<4.0.0,>=3.3.1->semantic-kernel==0.4.3.dev0->metagpt) (4.7.3)\n", - "Requirement already satisfied: isodate in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.6.1)\n", - "Requirement already satisfied: jsonschema-spec<0.3.0,>=0.2.3 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.2.4)\n", - "Requirement already satisfied: more-itertools in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (10.3.0)\n", - "Requirement already satisfied: openapi-schema-validator<0.7.0,>=0.6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.6.2)\n", - "Requirement already satisfied: openapi-spec-validator<0.8.0,>=0.7.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.7.1)\n", - "Requirement already satisfied: parse in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (1.20.2)\n", - "Requirement already satisfied: werkzeug in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (3.0.3)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from pexpect>4.3->ipython==8.17.2->metagpt) (0.7.0)\n", - "Requirement already satisfied: chardet>=3.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from prance<24.0.0.0,>=23.6.21.0->semantic-kernel==0.4.3.dev0->metagpt) (5.2.0)\n", - "Requirement already satisfied: ruamel.yaml>=0.17.10 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from prance<24.0.0.0,>=23.6.21.0->semantic-kernel==0.4.3.dev0->metagpt) (0.18.6)\n", - "Requirement already satisfied: wcwidth in /Users/mac/Library/Python/3.9/lib/python/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython==8.17.2->metagpt) (0.2.5)\n", - "Requirement already satisfied: py<2.0.0,>=1.4.26 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from retry>=0.9.2->lancedb==0.4.0->metagpt) (1.11.0)\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from tokenizers>=0.13.0->anthropic==0.18.1->metagpt) (0.23.4)\n", - "Requirement already satisfied: dill>=0.3.8 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from multiprocess->qianfan==0.3.2->metagpt) (0.3.8)\n", - "Requirement already satisfied: executing>=1.2.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from stack-data->ipython==8.17.2->metagpt) (1.2.0)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from stack-data->ipython==8.17.2->metagpt) (2.1.0)\n", - "Requirement already satisfied: pure-eval in /Users/mac/Library/Python/3.9/lib/python/site-packages (from stack-data->ipython==8.17.2->metagpt) (0.2.2)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0dev,>=1.34.0->google-ai-generativelanguage==0.4.0->google-generativeai==0.4.1->metagpt) (1.62.2)\n", - "Requirement already satisfied: hyperframe<7,>=6.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3->httpx[http2]>=0.14.0->qdrant-client==1.7.0->metagpt) (6.0.1)\n", - "Requirement already satisfied: hpack<5,>=4.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from h2<5,>=3->httpx[http2]>=0.14.0->qdrant-client==1.7.0->metagpt) (4.0.0)\n", - "Requirement already satisfied: h11<0.15,>=0.13 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from httpcore<0.17.0,>=0.15.0->httpx<1,>=0.23.0->anthropic==0.18.1->metagpt) (0.14.0)\n", - "Requirement already satisfied: filelock in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers>=0.13.0->anthropic==0.18.1->metagpt) (3.8.0)\n", - "Requirement already satisfied: fsspec>=2023.5.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from huggingface-hub<1.0,>=0.16.4->tokenizers>=0.13.0->anthropic==0.18.1->metagpt) (2024.6.0)\n", - "Requirement already satisfied: pathable<0.5.0,>=0.4.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from jsonschema-spec<0.3.0,>=0.2.3->openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.4.3)\n", - "Requirement already satisfied: rfc3339-validator in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi-schema-validator<0.7.0,>=0.6.0->openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.1.4)\n", - "Requirement already satisfied: jsonschema-path<0.4.0,>=0.3.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from openapi-spec-validator<0.8.0,>=0.7.1->openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (0.3.3)\n", - "Requirement already satisfied: lazy-object-proxy<2.0.0,>=1.7.1 in /Users/mac/Library/Python/3.9/lib/python/site-packages (from openapi-spec-validator<0.8.0,>=0.7.1->openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (1.9.0)\n", - "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth>=2.15.0->google-generativeai==0.4.1->metagpt) (0.4.8)\n", - "Requirement already satisfied: dnspython<3.0.0,>=1.16.0 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from pymongo<5,>=4.5->motor<4.0.0,>=3.3.1->semantic-kernel==0.4.3.dev0->metagpt) (2.6.1)\n", - "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from ruamel.yaml>=0.17.10->prance<24.0.0.0,>=23.6.21.0->semantic-kernel==0.4.3.dev0->metagpt) (0.2.8)\n", - "Requirement already satisfied: MarkupSafe>=2.1.1 in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (from werkzeug->openapi_core<0.19.0,>=0.18.0->semantic-kernel==0.4.3.dev0->metagpt) (2.1.2)\n", - "\n", - "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.3.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.1\u001b[0m\n", - "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" - ] - } - ], - "source": [ - "!pip install --upgrade metagpt" - ] - }, { "cell_type": "code", "execution_count": 3,