add user_memory

pull/21891/head
ytqh 1 year ago
parent fbd23d364f
commit b0df7ad201

@ -1,8 +1,6 @@
from collections.abc import Generator, Mapping from collections.abc import Generator, Mapping
from typing import Any, Union from typing import Any, Union
from openai._exceptions import RateLimitError
from configs import dify_config from configs import dify_config
from core.app.apps.advanced_chat.app_generator import AdvancedChatAppGenerator from core.app.apps.advanced_chat.app_generator import AdvancedChatAppGenerator
from core.app.apps.agent_chat.app_generator import AgentChatAppGenerator from core.app.apps.agent_chat.app_generator import AgentChatAppGenerator
@ -13,6 +11,7 @@ from core.app.entities.app_invoke_entities import InvokeFrom
from core.app.features.rate_limiting import RateLimit from core.app.features.rate_limiting import RateLimit
from models.model import Account, App, AppMode, EndUser from models.model import Account, App, AppMode, EndUser
from models.workflow import Workflow from models.workflow import Workflow
from openai._exceptions import RateLimitError
from services.errors.llm import InvokeRateLimitError from services.errors.llm import InvokeRateLimitError
from services.workflow_service import WorkflowService from services.workflow_service import WorkflowService
@ -39,6 +38,17 @@ class AppGenerateService:
max_active_request = AppGenerateService._get_max_active_requests(app_model) max_active_request = AppGenerateService._get_max_active_requests(app_model)
rate_limit = RateLimit(app_model.id, max_active_request) rate_limit = RateLimit(app_model.id, max_active_request)
request_id = RateLimit.gen_request_key() request_id = RateLimit.gen_request_key()
# extract user_memory from user if it is an EndUser
if isinstance(user, EndUser):
user_memory = user.memory
else:
user_memory = None
# add user_memory to args
new_args = dict(args)
new_args["inputs"]["user_memory"] = user_memory
try: try:
request_id = rate_limit.enter(request_id) request_id = rate_limit.enter(request_id)
if app_model.mode == AppMode.COMPLETION.value: if app_model.mode == AppMode.COMPLETION.value:
@ -46,7 +56,7 @@ class AppGenerateService:
generator=CompletionAppGenerator().generate( generator=CompletionAppGenerator().generate(
app_model=app_model, app_model=app_model,
user=user, user=user,
args=args, args=new_args,
invoke_from=invoke_from, invoke_from=invoke_from,
streaming=streaming, streaming=streaming,
), ),
@ -56,7 +66,7 @@ class AppGenerateService:
generator = AgentChatAppGenerator().generate( generator = AgentChatAppGenerator().generate(
app_model=app_model, app_model=app_model,
user=user, user=user,
args=args, args=new_args,
invoke_from=invoke_from, invoke_from=invoke_from,
streaming=streaming, streaming=streaming,
) )
@ -69,7 +79,7 @@ class AppGenerateService:
generator=ChatAppGenerator().generate( generator=ChatAppGenerator().generate(
app_model=app_model, app_model=app_model,
user=user, user=user,
args=args, args=new_args,
invoke_from=invoke_from, invoke_from=invoke_from,
streaming=streaming, streaming=streaming,
), ),
@ -82,7 +92,7 @@ class AppGenerateService:
app_model=app_model, app_model=app_model,
workflow=workflow, workflow=workflow,
user=user, user=user,
args=args, args=new_args,
invoke_from=invoke_from, invoke_from=invoke_from,
streaming=streaming, streaming=streaming,
), ),
@ -94,7 +104,7 @@ class AppGenerateService:
app_model=app_model, app_model=app_model,
workflow=workflow, workflow=workflow,
user=user, user=user,
args=args, args=new_args,
invoke_from=invoke_from, invoke_from=invoke_from,
streaming=streaming, streaming=streaming,
call_depth=0, call_depth=0,

Loading…
Cancel
Save