AutoGen 挽臂拉手 ModelRiver 一同扛大旗

这是集成了拥有随行天然携带自动去翻跟头换大盘切号挡供应商备位续命之防震抗压抗阻之神恩。把挂牌于此下所出走的任何出号发口单都强统派指给 ModelRiver 总控发引,让这大阵里的兄弟均加持大无畏重生反补以及毫无遗底裸呈在大庭广众的侦讯级可监控神像法能。

引看全盘总管全象大旨意 (Overview)

要知道所谓这大门面的 AutoGen 正即源于巨头大厂微软为了主理挂下心志去主推构架这等多重群像代理干差一桌台面合起唱起大连连互通心曲的大排面交际建局基业发源老家地盘。各干大子互递条子大排头走长面话茬对表、抽出各自小金库底牌上家伙家什硬用着(use tools)、还有透过这种强行按部按定式长走定格言辞打交道并一路抽丝去斩杀破局解开复杂连环索难大块结骨。把这一溜长线全丢挂扯回拉入到指向只朝 ModelRiver 家里输诚过门点大香时,这就让挂号的每句只言片纸吐出门都能顺带大享坠机免死救难顶缸机制牌恩赐照拂、花出多少票银能细究入账簿定盘,甚至是有那把死紧口格式规训不可脱模乱制生杂样不遵训输出的绝对大铁链绑死成样包神誓锁约保护的诸多底色好处不绝尽受。

把这套玩明白后您赢取的确确切切大头红筹好处:

  • 这一口口出字一句句来回推杯换盏长连交心的话皮在交谈对话轮挡每一次的兜转下放里皆全毫无留遗的走挂投递由 ModelRiver 来包办发落牵导去路
  • 一旦踏出撞身入了要在你来我走回圈打转大拉长条打太极推太手对台走剧里突有停转或遇某巨头突闭气抛锚这就全自动有被动触发翻墙过道转门换备胎顶将代受顶大缸包圆这大单
  • 看账理册点发账能把一门子账全给割包切零死理死扣扣定查算清每一方在这天罗地网列长桌占坑里头的名探其头顶名下倒底被抽费大洋若干之细查真核
  • 说叫停即指东叫西连挪身大翻盘切换下属主子供货厂商全由控中枢遥控转盘一挥即改盘:彻底了却不必碰乱源码还要从去地里折腾下铲翻天掀顶从造再上包布署折磨之苦

起步猛冲起个好头 (Quick start)

把大料包及连配外挂打包入瓮

Bash
pip install autogen-agentchat autogen-ext[openai]

把那挂着 AutoGen 名头的阀栓死接引指向直连 ModelRiver 槽道里

PYTHON
1from autogen_ext.models.openai import OpenAIChatCompletionClient
2 
3model_client = OpenAIChatCompletionClient(
4 model="my-chat-workflow",
5 base_url="https://api.modelriver.com/v1",
6 api_key="mr_live_YOUR_API_KEY",
7)

让一双正反红蓝双煞对角探子捉对大扯互侃 (Two-agent conversation)

PYTHON
1import asyncio
2from autogen_agentchat.agents import AssistantAgent
3from autogen_agentchat.conditions import TextMentionTermination
4from autogen_agentchat.teams import RoundRobinGroupChat
5 
6model_client = OpenAIChatCompletionClient(
7 model="my-chat-workflow",
8 base_url="https://api.modelriver.com/v1",
9 api_key="mr_live_YOUR_API_KEY",
10)
11 
12# 定出大号干位探子身份挂签画册
13coder = AssistantAgent(
14 name="Coder",
15 system_message="从今以后你即是一名为书写并手拿极无赘油全高能打好使有纯洁如冰玉般正板 Python 真传真经码段老天工开化绝世大手把式高神写工。完结罢事了以后必须张口带吼发定一个打尾止令词 TERMINATE 呈下即可。",
16 model_client=model_client,
17)
18 
19reviewer = AssistantAgent(
20 name="Reviewer",
21 system_message="你只做为看家审度判卷高工专事发侦大毛病大洞跟安生守家本能还有那查验过耗算细费性能跑快点底之用用眼之挑刺恶人。只要对你查出并落签首肯收单满你欢喜之意了,发出一声大句止定令词 TERMINATE 闭口便休结案即可。",
22 model_client=model_client,
23)
24 
25# 给捏大一盘团子捏拉起拉结为一个作连大班门大队群
26termination = TextMentionTermination("TERMINATE")
27team = RoundRobinGroupChat(
28 participants=[coder, reviewer],
29 termination_condition=termination,
30 max_turns=6,
31)
32 
33async def main():
34 result = await team.run(task="给我手操扯撰敲一篇能验真探察那邮箱信笺落底款字符对不上的打假判真的专有配合正则表达式神阵排法的 Python 全码段机门奇招函数出来。")
35 for msg in result.messages:
36 print(f"[{msg.source}]: {msg.content[:200]}")
37 
38asyncio.run(main())

差拨专对点人看其牌子落号分封赐路引专属发路列通道号向路由槽口拨专流走兵将发发阵大权

给大堂列座内诸子各有千秋分别领各自不同别样牌门专属出装的 ModelRiver 长流名款工作小引排专路:

PYTHON
1# 给跑街干杂大体劳力的长连发大段短来推返如弹拉网发回多急乱走发牌跑马出包手那最不讲理用最没名分图速猛出的小快车牌号通快拉跑特列型
2coder_client = OpenAIChatCompletionClient(
3 model="fast-coder", # 恰如直指并挂名给类似这种如若是像拿挂名为 GPT-4o-mini 这号价位便宜轻兵极出干大路边脚手跑跑腿代大传的活
4 base_url="https://api.modelriver.com/v1",
5 api_key="mr_live_YOUR_API_KEY",
6)
7 
8# 去拔一把有定海大锚孔武雄大重型压底子并事重那严推死推讲论步实步虚走论调门理定的大理大家去当大审核定本之雄尊巨款真身拿来扛大梁用
9reviewer_client = OpenAIChatCompletionClient(
10 model="strict-reviewer", # 同若是恰挂这门像是拿比拟如为 GPT-4o 甚至是抬出端重拿那大号叫法是 Claude 3.5 巨大家型级宗师本号才堪登这正房配门的大路配
11 base_url="https://api.modelriver.com/v1",
12 api_key="mr_live_YOUR_API_KEY",
13)
14 
15coder = AssistantAgent(name="Coder", system_message="...", model_client=coder_client)
16reviewer = AssistantAgent(name="Reviewer", system_message="...", model_client=reviewer_client)

挂一身下作兵戎器用全装家伙五金杂库在身的小探侦密代将帮兵

PYTHON
1from autogen_core import FunctionCall
2 
3def get_weather(location: str) -> str:
4 """去探访去打门去给求请当地当下出什么云水天候造门星日。"""
5 return f"据回报 22°C 还且是个如火艳阳光天就在这叫这 {location} 是处地方上头顶呢"
6 
7def search_database(query: str) -> str:
8 """去暗门房偷挖掏开老家底藏得里层内部的卷集宗知图库海集海量探底库去翻尸去淘货海探。"""
9 return f"据报有报找到了 3 张打底本儿能挂得上你拿这串令 '{query}' 大索之指物号来求问底的大盘大档的录结果:"
10 
11assistant = AssistantAgent(
12 name="Assistant",
13 system_message="在此尔乃一门专充解道门解人之困答疑答惑好打小助手的配兵跟员也。能需出奇发狠挂手端招祭取并上身招法五金异杂等大器具包就决不要矜持别吝啬甩手出招即刻去发。",
14 model_client=model_client,
15 tools=[get_weather, search_database],
16)

带大总挑号挑选总选局官配分排场打门房总管大门台的多聚众会串扯大闲班聊团大圆场大组大局

打发专门派去一人专司职司当裁判手门官或老选老把这大转灯转交指哪打向哪轮到哪谁出山开口回道发言谁开口接碴的这法器选台器出来挂在当中以权调兵:

PYTHON
1from autogen_agentchat.teams import SelectorGroupChat
2 
3researcher = AssistantAgent(name="Researcher", system_message="...", model_client=model_client)
4analyst = AssistantAgent(name="Analyst", system_message="...", model_client=model_client)
5writer = AssistantAgent(name="Writer", system_message="...", model_client=model_client)
6 
7team = SelectorGroupChat(
8 participants=[researcher, analyst, writer],
9 model_client=model_client, # 要记号明白纵连那个打当做大房打门台把门传排指谁来应话这选判号当差的老哥判也定被发给由着经管走在并投身在这 ModelRiver 这条下流过关口来总司大拨划分
10 termination_condition=termination,
11 max_turns=10,
12)
13 
14result = await team.run(task="请给把眼前下这被 AI 挂卷走的大门市卖买大集市场底盘全摸个通透查点算算大门道出来外另着即大起大篇付稿出定一本极尽大篇评大书本")

让话茬如断点长丝线连挂带滴如喷带泄向面流挂串带排屏雨打挂落如注的大泄大露显身神功 (Streaming conversations)

PYTHON
1async def main():
2 stream = team.run_stream(task="求请打大写一挂着 Python 作衣套皮而骨打干去深翻探网上作去深刮去硬刷的爬行搜大虫机爪包段出来罢")
3 async for message in stream:
4 if hasattr(message, "content"):
5 print(f"[{message.source}]: {message.content[:200]}")
6 
7asyncio.run(main())

给供在堂前让人上香的做尽成千上万好事好得出的精不外传行规与不教人之金律防跳楼避险指南 (Best practices)

  1. 依着给每路神仙探子干员都单专供配上一对门对牌号合缝的打配独享槽流工作列槽来排号 (Use different workflows per agent): 让出马这机型的聪明能耐与笨大劲这大能力底子必须能与这配出去派号发号顶角这个干员工种身份能绝然匹符相搭和衬得起脸盘的这大能才不为跑大车错位配牛辕而为荒唐
  2. 一定要给勒拉线压好上箍强点挂死这转环绕大轴走数之限最高大上限封死盘死红界标顶上设这标扣 (Set max_turns): 从根子上掐死以绝去斩断预防发生那叫跑死马跑马死脱缰野狂转扯不休扯皮没止大聊局且更以此能白出干熬掏尽底掉生成打出无边无底造无边空耗天价狂巨花算这底洞大金库费银漏之破
  3. 查号账本记扣把明算单走账记一清并留全在这过手流打交扯皮往返过招大推圈打绕每一个接抛手出回合中花费清数打到底之耗单上 (Monitor turn costs): 向进里面看门翻开大 门查案录册档案薄留存司库 (Request Logs) 给扒寻打底来细把每一轮小交道每一小出走子步口上单吞费出打出打走这细小花丢几大把大洋之字小豆额币的走项之真耗耗费到底花去了这真详明数清单查对大簿口来去见大底真章。
  4. 拉开布置配防布网搭死给它架起自动死后复命重生后发底子那后补援备位替身上房打代底网大局排开上 (Configure fallbacks): 唯是在遭遇碰上这类长线互抛大聊大回圈拉这等极长来往大拖阵多往反复盘局这回长台推阵在拉交手战的当底下那是尤其就极其要怕遭跟受不住半截因为当家做盘之大佬供应商这方突然抛锚闭气挂坠绝大停摆那所招带来的全打水漂这大劫无底坑洞为尤甚所以必用大保保命必留退防有此门设位退这绝局打救生大步路留
  5. 铁血大棒只出唯一之限定有框带模刻形规条不可越这外形的包打包件这出打包结果送人带产装结果这死条红绳子这硬大规打交道法统 (Use structured outputs): 独断强框定写准写明白能套那些那专只要那需是要出外去打包收场收单大出那规矩端方长成模样数据果给人的探代理员全需有这么能生定出套造有被管束大样面框套产具出样这框口型模样之规定法文这框法以法统

下一步此后向纵去行去还能往探的地方还有大路余留大好风景看引这大去留处去处在