mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:28:12 +00:00
29 lines
789 B
Python
29 lines
789 B
Python
# -*- coding:utf-8 -*-
|
|
|
|
import os
|
|
import sys
|
|
from typing import Any, List, Mapping, Union
|
|
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from plugin_call.prompt_construct import (
|
|
construct_plugin_pool_prompt,
|
|
construct_task_prompt,
|
|
plugin_selection_output_parse,
|
|
)
|
|
from instances.llm_instance import llm
|
|
|
|
|
|
def plugin_selection_run(
|
|
query_text: str, plugin_configs: List[Mapping[str, Any]]
|
|
) -> Union[Mapping[str, str], None]:
|
|
|
|
tools_prompt = construct_plugin_pool_prompt(plugin_configs)
|
|
|
|
task_prompt = construct_task_prompt(query_text, tools_prompt)
|
|
llm_output = llm(task_prompt)
|
|
parsed_output = plugin_selection_output_parse(llm_output)
|
|
|
|
return parsed_output
|