brain / Brain /src /service /BabyAGIService.py
Kotta
bugfix(#136): babyagi service and interface with langchain babyagi.
727ac01
"""BabyAGI Service Interface"""
import firebase_admin
from Brain.src.model.req_model import ReqModel
from Brain.src.rising_plugin.llm.babyagi_llm import BabyAGILLM
import time
import threading
class BabyAGIService:
"""
self task achievement with babyagi based on langchain
response -> reference_link :str
"""
def ask_task_with_llm(
self, query: str, firebase_app: firebase_admin.App, setting: ReqModel
) -> str:
# init autogpt llm
babyagi_llm = BabyAGILLM()
# generate reference link
reference_link = self.generate_reference_link(
llm_name="babyagi", uuid=setting.uuid
)
# call autogpt
thread = threading.Thread(
target=babyagi_llm.ask_task, args=(query, firebase_app, reference_link)
)
thread.start()
return reference_link
"""
generate reference link for autoTask
response type:
/auto/{llm_name}_{uuid}_{timestamp}
"""
def generate_reference_link(self, llm_name: str, uuid: str) -> str:
milliseconds = int(time.time() * 1000)
return f"/babyagi/{llm_name}_{uuid}_{milliseconds}"