replace exp_manager by get_exp_manager

This commit is contained in:
shenchucheng 2024-08-13 22:46:03 +08:00
parent 2968c181c1
commit a801a5cc32
4 changed files with 14 additions and 7 deletions

View file

@ -5,7 +5,7 @@ This script demonstrates how to automatically store experiences using @exp_cache
import asyncio
import uuid
from metagpt.exp_pool import exp_cache, exp_manager
from metagpt.exp_pool import exp_cache, get_exp_manager
from metagpt.logs import logger
@ -20,7 +20,7 @@ async def main():
resp = await produce(req=req)
logger.info(f"The response of `produce({req})` is: {resp}")
exps = await exp_manager.query_exps(req)
exps = await get_exp_manager().query_exps(req)
logger.info(f"Find experiences: {exps}")

View file

@ -1,6 +1,6 @@
"""Experience pool init."""
from metagpt.exp_pool.manager import exp_manager
from metagpt.exp_pool.manager import get_exp_manager
from metagpt.exp_pool.decorator import exp_cache
__all__ = ["exp_manager", "exp_cache"]
__all__ = ["get_exp_manager", "exp_cache"]

View file

@ -8,7 +8,7 @@ from pydantic import BaseModel, ConfigDict, model_validator
from metagpt.config2 import Config
from metagpt.exp_pool.context_builders import BaseContextBuilder, SimpleContextBuilder
from metagpt.exp_pool.manager import ExperienceManager, exp_manager
from metagpt.exp_pool.manager import ExperienceManager, get_exp_manager
from metagpt.exp_pool.perfect_judges import BasePerfectJudge, SimplePerfectJudge
from metagpt.exp_pool.schema import Experience, Metric, QueryType, Score
from metagpt.exp_pool.scorers import BaseScorer, SimpleScorer
@ -117,7 +117,7 @@ class ExpCacheHandler(BaseModel):
self._validate_params()
self.exp_manager = self.exp_manager or exp_manager
self.exp_manager = self.exp_manager or get_exp_manager()
self.exp_scorer = self.exp_scorer or SimpleScorer()
self.exp_perfect_judge = self.exp_perfect_judge or SimplePerfectJudge()
self.context_builder = self.context_builder or SimpleContextBuilder()

View file

@ -113,4 +113,11 @@ class ExperienceManager(BaseModel):
return self.vector_store._collection.count()
exp_manager = ExperienceManager()
_exp_manager = None
def get_exp_manager():
global _exp_manager
if _exp_manager is None:
_exp_manager = ExperienceManager()
return _exp_manager