Merge branch 'master' into frontier
This commit is contained in:
commit
01def2e329
@ -35,7 +35,11 @@ def gpt_academic_generate_oai_reply(
|
|||||||
class AutoGenGeneral(PluginMultiprocessManager):
|
class AutoGenGeneral(PluginMultiprocessManager):
|
||||||
def gpt_academic_print_override(self, user_proxy, message, sender):
|
def gpt_academic_print_override(self, user_proxy, message, sender):
|
||||||
# ⭐⭐ run in subprocess
|
# ⭐⭐ run in subprocess
|
||||||
self.child_conn.send(PipeCom("show", sender.name + "\n\n---\n\n" + message["content"]))
|
try:
|
||||||
|
print_msg = sender.name + "\n\n---\n\n" + message["content"]
|
||||||
|
except:
|
||||||
|
print_msg = sender.name + "\n\n---\n\n" + message
|
||||||
|
self.child_conn.send(PipeCom("show", print_msg))
|
||||||
|
|
||||||
def gpt_academic_get_human_input(self, user_proxy, message):
|
def gpt_academic_get_human_input(self, user_proxy, message):
|
||||||
# ⭐⭐ run in subprocess
|
# ⭐⭐ run in subprocess
|
||||||
@ -62,33 +66,33 @@ class AutoGenGeneral(PluginMultiprocessManager):
|
|||||||
def exe_autogen(self, input):
|
def exe_autogen(self, input):
|
||||||
# ⭐⭐ run in subprocess
|
# ⭐⭐ run in subprocess
|
||||||
input = input.content
|
input = input.content
|
||||||
with ProxyNetworkActivate("AutoGen"):
|
code_execution_config = {"work_dir": self.autogen_work_dir, "use_docker": self.use_docker}
|
||||||
code_execution_config = {"work_dir": self.autogen_work_dir, "use_docker": self.use_docker}
|
agents = self.define_agents()
|
||||||
agents = self.define_agents()
|
user_proxy = None
|
||||||
user_proxy = None
|
assistant = None
|
||||||
assistant = None
|
for agent_kwargs in agents:
|
||||||
for agent_kwargs in agents:
|
agent_cls = agent_kwargs.pop('cls')
|
||||||
agent_cls = agent_kwargs.pop('cls')
|
kwargs = {
|
||||||
kwargs = {
|
'llm_config':self.llm_kwargs,
|
||||||
'llm_config':self.llm_kwargs,
|
'code_execution_config':code_execution_config
|
||||||
'code_execution_config':code_execution_config
|
}
|
||||||
}
|
kwargs.update(agent_kwargs)
|
||||||
kwargs.update(agent_kwargs)
|
agent_handle = agent_cls(**kwargs)
|
||||||
agent_handle = agent_cls(**kwargs)
|
agent_handle._print_received_message = lambda a,b: self.gpt_academic_print_override(agent_kwargs, a, b)
|
||||||
agent_handle._print_received_message = lambda a,b: self.gpt_academic_print_override(agent_kwargs, a, b)
|
for d in agent_handle._reply_func_list:
|
||||||
for d in agent_handle._reply_func_list:
|
if hasattr(d['reply_func'],'__name__') and d['reply_func'].__name__ == 'generate_oai_reply':
|
||||||
if hasattr(d['reply_func'],'__name__') and d['reply_func'].__name__ == 'generate_oai_reply':
|
d['reply_func'] = gpt_academic_generate_oai_reply
|
||||||
d['reply_func'] = gpt_academic_generate_oai_reply
|
if agent_kwargs['name'] == 'user_proxy':
|
||||||
if agent_kwargs['name'] == 'user_proxy':
|
agent_handle.get_human_input = lambda a: self.gpt_academic_get_human_input(user_proxy, a)
|
||||||
agent_handle.get_human_input = lambda a: self.gpt_academic_get_human_input(user_proxy, a)
|
user_proxy = agent_handle
|
||||||
user_proxy = agent_handle
|
if agent_kwargs['name'] == 'assistant': assistant = agent_handle
|
||||||
if agent_kwargs['name'] == 'assistant': assistant = agent_handle
|
try:
|
||||||
try:
|
if user_proxy is None or assistant is None: raise Exception("用户代理或助理代理未定义")
|
||||||
if user_proxy is None or assistant is None: raise Exception("用户代理或助理代理未定义")
|
with ProxyNetworkActivate("AutoGen"):
|
||||||
user_proxy.initiate_chat(assistant, message=input)
|
user_proxy.initiate_chat(assistant, message=input)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
tb_str = '```\n' + trimmed_format_exc() + '```'
|
tb_str = '```\n' + trimmed_format_exc() + '```'
|
||||||
self.child_conn.send(PipeCom("done", "AutoGen 执行失败: \n\n" + tb_str))
|
self.child_conn.send(PipeCom("done", "AutoGen 执行失败: \n\n" + tb_str))
|
||||||
|
|
||||||
def subprocess_worker(self, child_conn):
|
def subprocess_worker(self, child_conn):
|
||||||
# ⭐⭐ run in subprocess
|
# ⭐⭐ run in subprocess
|
||||||
|
@ -51,13 +51,6 @@ def 多智能体终端(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_
|
|||||||
if model_info[llm_kwargs['llm_model']]["endpoint"] is not None: # 如果不是本地模型,加载API_KEY
|
if model_info[llm_kwargs['llm_model']]["endpoint"] is not None: # 如果不是本地模型,加载API_KEY
|
||||||
llm_kwargs['api_key'] = select_api_key(llm_kwargs['api_key'], llm_kwargs['llm_model'])
|
llm_kwargs['api_key'] = select_api_key(llm_kwargs['api_key'], llm_kwargs['llm_model'])
|
||||||
|
|
||||||
# 检查当前的模型是否符合要求
|
|
||||||
API_URL_REDIRECT = get_conf('API_URL_REDIRECT')
|
|
||||||
if len(API_URL_REDIRECT) > 0:
|
|
||||||
chatbot.append([f"处理任务: {txt}", f"暂不支持中转."])
|
|
||||||
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
|
|
||||||
return
|
|
||||||
|
|
||||||
# 尝试导入依赖,如果缺少依赖,则给出安装建议
|
# 尝试导入依赖,如果缺少依赖,则给出安装建议
|
||||||
try:
|
try:
|
||||||
import autogen
|
import autogen
|
||||||
|
@ -11,6 +11,7 @@ from functools import wraps
|
|||||||
from shared_utils.config_loader import get_conf
|
from shared_utils.config_loader import get_conf
|
||||||
from shared_utils.config_loader import set_conf
|
from shared_utils.config_loader import set_conf
|
||||||
from shared_utils.config_loader import set_multi_conf
|
from shared_utils.config_loader import set_multi_conf
|
||||||
|
from shared_utils.config_loader import read_single_conf_with_lru_cache
|
||||||
from shared_utils.advanced_markdown_format import format_io
|
from shared_utils.advanced_markdown_format import format_io
|
||||||
from shared_utils.advanced_markdown_format import markdown_convertion
|
from shared_utils.advanced_markdown_format import markdown_convertion
|
||||||
from shared_utils.key_pattern_manager import select_api_key
|
from shared_utils.key_pattern_manager import select_api_key
|
||||||
|
Loading…
x
Reference in New Issue
Block a user