init
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""A simple example for auto discussion: the agent builder automatically\
|
||||
set up the agents participating the discussion ."""
|
||||
from tools import load_txt, extract_scenario_and_participants
|
||||
import agentscope
|
||||
from agentscope.agents import DialogAgent
|
||||
from agentscope.pipelines.functional import sequentialpipeline
|
||||
from agentscope.message import Msg
|
||||
|
||||
model_configs = [
|
||||
{
|
||||
"model_type": "openai_chat",
|
||||
"config_name": "gpt-3.5-turbo",
|
||||
"model_name": "gpt-3.5-turbo",
|
||||
"api_key": "xxx", # Load from env if not provided
|
||||
"organization": "xxx", # Load from env if not provided
|
||||
"generate_args": {
|
||||
"temperature": 0.5,
|
||||
},
|
||||
},
|
||||
{
|
||||
"model_type": "post_api_chat",
|
||||
"config_name": "my_post_api",
|
||||
"api_url": "https://xxx",
|
||||
"headers": {},
|
||||
"json_args": {},
|
||||
},
|
||||
]
|
||||
|
||||
agentscope.init(
|
||||
model_configs=model_configs,
|
||||
project="Self-Organizing Conversation",
|
||||
)
|
||||
|
||||
|
||||
# init the self-organizing conversation
|
||||
agent_builder = DialogAgent(
|
||||
name="agent_builder",
|
||||
sys_prompt="You're a helpful assistant.",
|
||||
model_config_name="my_post_api",
|
||||
)
|
||||
|
||||
|
||||
max_round = 2
|
||||
query = "Say the pupil of your eye has a diameter of 5 mm and you have a \
|
||||
telescope with an aperture of 50 cm. How much more light can the \
|
||||
telescope gather than your eye?"
|
||||
|
||||
# get the discussion scenario and participant agents
|
||||
x = load_txt(
|
||||
"examples/conversation_self_organizing/agent_builder_instruct.txt",
|
||||
).format(
|
||||
question=query,
|
||||
)
|
||||
|
||||
x = Msg("user", x, role="user")
|
||||
settings = agent_builder(x)
|
||||
scenario_participants = extract_scenario_and_participants(settings["content"])
|
||||
|
||||
# set the agents that participant the discussion
|
||||
agents = [
|
||||
DialogAgent(
|
||||
name=key,
|
||||
sys_prompt=val,
|
||||
model_config_name="my_post_api",
|
||||
)
|
||||
for key, val in scenario_participants["Participants"].items()
|
||||
]
|
||||
|
||||
# begin discussion
|
||||
msg = Msg("user", f"let's discuss to solve the question: {query}", role="user")
|
||||
for i in range(max_round):
|
||||
msg = sequentialpipeline(agents, msg)
|
||||
Reference in New Issue
Block a user