国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

基于LangGraph多智能體技術,搭建AI寫作自動化系統

發布于 2024-7-10 09:04
瀏覽
0收藏

1 LangGraph概述

LangGraph是LangChain的增強版,專注于構建智能體及多智能體流程。其核心優勢在于新增的循環流程構建功能以及內嵌的記憶機制,這些特性對于智能體的構建極為重要。

LangGraph為開發者提供了高度的控制能力,這在自定義智能體和流程的開發中極為關鍵。市面上絕大多數的智能體都是針對特定應用場景進行了定制。

LangGraph不僅賦予了開發者靈活定制智能體的能力,還提供了直觀且易于操作的開發體驗。

2 構建終極自主研究智能體

借助LangGraph的強大功能,我們能夠通過集結具備專業技能的多個智能體,顯著提高研究工作的深度與品質。每個智能體專注于其獨特技能,這不僅能夠優化任務分工,增強定制性,還為項目的擴展與規?;l展奠定了基礎。

本示例展示了一個AI智能體團隊如何通力合作,對特定主題進行全面研究,涵蓋從策劃到發布的全過程。在此過程中,會特別應用前沿的自主研究智能體——GPT Researcher。

2.1 研究智能體團隊

研究團隊由七個大型語言模型智能體組成:

  • 主編智能體 —— 負責監督研究過程并管理整個團隊。這是使用LangGraph協調其他智能體的“主”智能體,充當LangGraph的主要接口。
  • GPT研究智能體 —— 一個專門進行特定主題深入研究的自主智能體。
  • 編輯智能體 —— 負責規劃研究大綱和結構。
  • 審稿智能體 —— 根據一套標準驗證研究結果的正確性。
  • 修訂智能體 —— 根據審稿智能體的反饋修訂研究結果。
  • 寫作智能體 —— 負責匯編并撰寫最終報告。
  • 出版智能體 —— 負責將最終報告以多種格式發布。

2.2 架構

如下圖,自動化過程基于以下階段:規劃研究、數據收集與分析、審查與修訂、編寫報告,最后是出版:

基于LangGraph多智能體技術,搭建AI寫作自動化系統-AI.x社區

更具體的流程如下:

  • 瀏覽器(gpt-researcher)——基于給定的研究任務,瀏覽互聯網進行初步研究。這一步對于LLMs來說非常重要,以便根據最新和相關信息規劃研究過程,而不是僅依賴于針對給定任務或主題的預訓練數據。
  • 編輯——根據初步研究規劃報告大綱和結構。編輯還負責觸發基于計劃大綱的并行研究任務。
  • 對于每個大綱主題(并行):
  • 研究員(gpt-researcher)——對子主題進行深入研究并撰寫草稿。這個智能體利用GPT Researcher Python包,以優化、深入且符合事實的研究報告。
  • 審稿人——根據一套指導方針驗證草稿的正確性,并向修訂者提供反饋(如果有的話)。
  • 修訂者——根據審稿人的反饋修訂草稿,直到滿意為止。
  • 作者——匯編并撰寫最終報告,包括引言、結論和參考文獻部分。
  • 出版商——將最終報告以多種格式(如PDF、Docx、Markdown等)發布。

我們不會深入所有代碼,因為代碼量很大,但會重點關注所發現的有價值或有趣部分進行分享。

2.3 定義圖狀態

在LangGraph中,狀態管理采用一種結構化的方式,允許開發者定義一個GraphState對象,它能夠包含整個應用程序的狀態信息。這樣,圖中的每個節點都具備了修改狀態的能力,可以根據交互過程中的上下文變化,實現動態的響應機制。

在每項技術設計的初期,需要確立整個應用程序的數據結構。針對本例,創建一個名為ResearchState的數據模型,將作為我們研究應用程序的核心數據架構。如下所示:

class ResearchState(TypedDict):
    task: dict
    initial_research: str
    sections: List[str]
    research_data: List[dict]
    # 報告布局
    title: str
    headers: dict
    date: str
    table_of_contents: str
    introduction: str
    conclusion: str
    sources: List[str]
    report: str

如上所見,狀態被分為兩個主要區域:研究任務和報告布局內容。當數據通過圖中的智能體流通時,每個智能體將根據現有狀態生成新數據,并更新它以便在圖中的其他智能體進一步處理。

然后,使用以下方式初始化圖:

from langgraph.graph import StateGraph
workflow = StateGraph(ResearchState)

2.4 使用LangGraph初始化圖

如上所述,多智能體開發的一個偉大之處在于構建每個智能體具有專門化和限定范圍的技能。以使用GPT Researcher Python包的Researcher智能體為例:

from gpt_researcher import GPTResearcher

class ResearchAgent:
    def __init__(self):
        pass

    async def research(self, query: str):
        # 初始化研究員
        researcher = GPTResearcher(parent_query=parent_query, query=query, report_type=research_report, config_path=None)
        # 對給定查詢進行研究
        await researcher.conduct_research()
        # 編寫報告
        report = await researcher.write_report()

        return report

如上所見,已經創建了Research智能體的一個實例。現在假設我們已經為團隊中的每個智能體都做了同樣的事情。在創建了所有智能體之后,將使用LangGraph初始化圖:

def init_research_team(self):
    # 初始化智能體
    editor_agent = EditorAgent(self.task)
    research_agent = ResearchAgent()
    writer_agent = WriterAgent()
    publisher_agent = PublisherAgent(self.output_dir)
    
    # 定義一個Langchain StateGraph與ResearchState

    workflow = StateGraph(ResearchState)
    
    # 為每個智能體添加節點
    workflow.add_node("browser", research_agent.run_initial_research)
    workflow.add_node("planner", editor_agent.plan_research)
    workflow.add_node("researcher", editor_agent.run_parallel_research)
    workflow.add_node("writer", writer_agent.run)
    workflow.add_node("publisher", publisher_agent.run)
    
    workflow.add_edge('browser', 'planner')
    workflow.add_edge('planner', 'researcher')
    workflow.add_edge('researcher', 'writer')
    workflow.add_edge('writer', 'publisher')
    
    # 設置起始和結束節點
    workflow.set_entry_point("browser")
    workflow.add_edge('publisher', END)
    
    return workflow

如上所見,創建LangGraph圖非常簡單,主要由三個主要功能組成:add_node、add_edge和set_entry_point。通過這些主要功能,你可以首先向圖中添加節點,連接邊,并最終設置起始點。

重點檢查:如果你一直按照代碼和架構進行,會注意到在上面的初始化中缺少了Reviewer和Reviser智能體。讓我們深入探討!

2.5 圖內嵌套圖以實現狀態化的并行處理

這個智能助手的一個亮點是其支持對每個研究任務進行并行處理,且每項任務都遵循一套預設的規范進行審查與修訂。

在流程設計中,有效利用并行工作是提升效率的秘訣。然而,若所有智能體都向同一狀態報告,如何協調它們的并行工作以避免競爭條件和數據不一致的問題呢?解決方案是構建一個子圖,由主LangGraph實例觸發,并為每次并行運行維護獨立的狀態,從而巧妙地解決了這一難題。

正如之前所做的,讓我們定義LangGraph狀態及其智能體。由于這個子圖基本上是審查和修訂研究草稿,我們將用草稿信息定義狀態:

class DraftState(TypedDict):
    task: dict
    topic: str
    draft: dict
    review: str
    revision_notes: str

如DraftState中所見,我們主要關心討論的主題,以及審稿人和修訂筆記,因為它們相互溝通以完成子主題研究報告。為了創建循環條件,我們將利用LangGraph的最后一個重要部分,即條件邊:

async def run_parallel_research(self, research_state: dict):
    workflow = StateGraph(DraftState)
    
    workflow.add_node("researcher", research_agent.run_depth_research)
    workflow.add_node("reviewer", reviewer_agent.run)
    workflow.add_node("reviser", reviser_agent.run)
    
    # 設置邊 researcher->reviewer->reviser->reviewer...
    workflow.set_entry_point("researcher")
    workflow.add_edge('researcher', 'reviewer')
    workflow.add_edge('reviser', 'reviewer')
    workflow.add_conditional_edges('reviewer',
                                   (lambda draft: "accept" if draft['review'] is None else "revise"),
                                   {"accept": END, "revise": "reviser"})

通過定義條件邊,如果審稿人有審稿筆記,圖將指向修訂者,或者循環將以最終草稿結束。如果你回到已經構建的主圖,會看到這個并行工作是在由ChiefEditor智能體調用的名為“researcher”的節點下進行的。

2.6 運行研究助手

為了便于定制,助手使用給定的task.json文件運行:

{
  "query": "Is AI in a hype cycle?",
  "max_sections": 3,
  "publish_formats": {
    "markdown": true,
    "pdf": true,
    "docx": true
  },
  "follow_guidelines": false,
  "model": "gpt-4-turbo",
  "guidelines": [
    "The report MUST be written in APA format",
    "Each sub section MUST include supporting sources using hyperlinks. If none exist, erase the sub section or rewrite it to be a part of the previous section",
    "The report MUST be written in spanish"
  ]
}

任務對象相當直觀,但請注意,如果follow_guidelines為false,則會導致圖忽略修訂步驟和定義的準則。此外,max_sections字段定義了要研究的子標題數量。數量較少將生成較短的報告。

運行助手會生成最終研究報告,格式包括Markdown、PDF和Docx等。

本文轉載自 ??AI科技論談??,作者: AI科技論談

收藏
回復
舉報
回復
相關推薦
日本精品视频| 国产欧美一区二区在线观看| 日韩精品中文字幕有码专区| 大片在线观看网站免费收看| 久久中文视频| 日韩视频在线免费观看| yw在线观看| 亚洲日本成人在线观看| 超级碰在线观看| 亚洲人成久久| 国产综合久久久久| 涩涩屋成人免费视频软件| 亚洲第一免费播放区| 男男激情在线| 亚洲乱码国产乱码精品精98午夜| 潘金莲一级淫片aaaaa免费看| 欧美一区二区| 国产精品久久久久aaaa九色| 日韩中文字幕一区二区高清99| 亚洲精品久久久久中文字幕欢迎你| wwwww在线观看免费视频| 亚洲国产一区二区a毛片| 日韩欧美精品在线观看视频| 国产一区视频导航| 国产原创精品| 黄色欧美日韩| 国产精品美女久久久久av福利| 精品少妇av| 日av在线播放中文不卡| 成人动漫视频在线观看| 亚洲欧美国产一本综合首页| 四虎影院观看视频在线观看| 欧美日韩美女一区二区| 三级在线视频| 婷婷六月综合亚洲| 亚洲欧洲成人| 高跟丝袜一区二区三区| av福利导福航大全在线播放| 综合分类小说区另类春色亚洲小说欧美| 久在线观看视频| 97se亚洲国产综合自在线观| 北条麻妃在线视频观看| 91理论电影在线观看| aaa毛片在线观看| 99久久精品免费精品国产| 成人小视频在线观看免费| 国产 日韩 欧美大片| 久久精品视频16| 久久久精品欧美丰满| 熟妇人妻无乱码中文字幕真矢织江| 久久综合999| 国产一二三区av| 国产精品国产自产拍高清av| 男女羞羞视频网站| 婷婷夜色潮精品综合在线| 电影在线一区| 日韩欧美二区三区| 日韩三区免费| 午夜免费日韩视频| 天天插综合网| 日韩电影免费观看在| 成人自拍视频在线| 成人18网站| 在线免费观看日韩欧美| 91中文在线| 在线亚洲欧美视频| 激情视频极品美女日韩| 亚洲一区二区三区视频播放| 欧美一级一区| 国产自产在线视频| 国产精品久久久久久久第一福利| 中文有码在线观看| 日韩亚洲欧美成人一区| 日韩精品三区| 久久久久久久久久国产| 91精品国产91久久久久久黑人| 蜜桃传媒视频麻豆一区| 成人h动漫精品| 丝袜美女写真福利视频| 日韩欧美一级在线播放| crdy在线观看欧美| 国产精品一区二区三区成人| 日日夜夜免费精品| 五月天婷婷激情视频| 色综合激情久久| 成人黄色免费短视频| 国产精品黄色影片导航在线观看| 国产亚洲激情| 天天色综合天天色| 欧美日韩精品综合在线| 亚洲欧美久久精品| 亚洲一区国产精品| 国产成人自拍网| 国产三级av在线| 国产丝袜一区二区三区| 特黄特色欧美大片| 日韩美女一区| 亚洲卡通动漫在线| www在线观看黄色| 国产精品高潮呻吟久久av野狼 | 777奇米四色成人影色区| 成人做爰视频www网站小优视频| 日韩av免费在线观看| 日韩1区2区日韩1区2区| http://嫩草影院| 亚洲国产精品中文| 网曝91综合精品门事件在线| 天天综合色天天综合色hd| 亚洲欧美日本在线| 天堂中文在线播放| 成人久久一区二区三区| 国产91在线观看丝袜| 91大神在线网站| 国产成人一区二区在线| 国产99久久久国产精品潘金 | 日韩一区二区三区资源| 国产清纯白嫩初高生在线观看91| 黄色网在线看| 国产成人涩涩涩视频在线观看| 国产高清亚洲一区| 在线观看免费版| 国产精品欧美一区二区| 成人精品免费网站| 国产三级伦理在线| 成人在线视频网站| 久久久国产精品麻豆| 在线毛片观看| 久久综合中文色婷婷| 午夜精品福利一区二区蜜股av| 国产精品久久久久久久久久久久久久久 | 成人av免费在线观看| 日本中文字幕视频在线| 欧美一区二三区| 91在线观看视频| 美女91在线看| 久久久久免费网| 欧美午夜精品久久久久久久| 国产欧美自拍一区| 亚洲理论电影在线观看| 日韩欧美你懂的| 在线日韩欧美| 欧美精品少妇| 91牛牛免费视频| 亚洲超碰精品一区二区| 亚洲无线观看| 久久久免费视频网站| 正在播放欧美一区| 久久99国产精品久久99| av毛片在线免费看| 蜜桃传媒视频麻豆一区| 色综合网色综合| 国产精品久久久久久久久久10秀 | 国产精品中文字幕在线| 国产精品理伦片| 亚洲国产中文在线| 一本大道熟女人妻中文字幕在线| 亚洲欧美精品伊人久久| 国内精品久久久久影院薰衣草| 男人添女人下部高潮视频在线观看 | 黄色成人在线免费观看| 亚洲精品久久久久| 久久精品二区亚洲w码| brazzers在线观看| 亚洲高清乱码| 亚洲天堂2020| 91麻豆免费观看| 加勒比色综合久久久久久久久 | 国产美女在线一区| 中文字幕无线精品亚洲乱码一区| 狠狠色丁香久久婷婷综合丁香| 深夜成人在线| 成年人看的毛片| 欧美激情一区二区三区高清视频| 国产欧美精品区一区二区三区| 美女视频亚洲色图| fc2人成共享视频在线观看| 亚洲影院在线看| 日韩视频一区二区三区| 韩国成人在线视频| 成人污版视频| av黄色免费在线| 91免费的视频在线播放| 在线播放91灌醉迷j高跟美女| 开心九九激情九九欧美日韩精美视频电影 | 日韩欧美在线视频观看| 亚洲三级电影在线观看| 成人看片免费| 国产 日韩 亚洲 欧美| 91地址最新发布| 色综合久久88色综合天天6 | 日韩午夜av电影| 国产91精品露脸国语对白| 久久久久亚洲精品中文字幕| 国产激情99| 久久久久久久久久码影片| 亚洲人成五月天| 国产精品日韩成人| 国内精品福利| 九七电影院97理论片久久tvb| av电影免费|