精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Graphite框架揭秘:如何用它打造可擴展的AI工作流 原創

發布于 2025-5-12 08:32
瀏覽
0收藏

在當今數字化時代,人工智能(AI)已經滲透到我們生活的方方面面,從日常的語音助手到復雜的企業級應用,AI正在改變我們的工作和生活方式。然而,隨著AI應用的不斷擴展,企業和開發者們面臨著一個共同的挑戰:如何構建符合特定業務需求的AI解決方案?今天,我們要介紹的Graphite框架,正是為解決這一問題而生。

一、為什么我們需要Graphite?

在AI的世界里,已經有許多強大的工具和平臺,比如ChatGPT、Claude等。但這些通用的AI解決方案在處理一些關鍵任務時,往往顯得力不從心。例如,在金融、醫療等對準確性要求極高的領域,即使是微小的錯誤也可能帶來巨大的損失。這就需要一種更加靈活、可控的AI框架,能夠根據具體的業務需求進行定制。Graphite正是在這樣的背景下誕生的。

Graphite是一個開源框架,專門用于構建特定領域的AI助手。它提供了一個高度可擴展的平臺,能夠根據獨特的企業需求進行定制,讓開發者能夠構建出符合具體業務領域的個性化工作流。用一個形象的比喻來說,Graphite就像是AI領域的“樂高積木”,開發者可以像搭積木一樣,自由組合各種組件,打造出自己想要的AI應用。

二、Graphite的核心架構:簡單、強大且可組合

Graphite的架構設計非常巧妙,它由三個概念層組成:助手(Assistants)、節點(Nodes)和工具(Tools)。

  • 助手(Assistants):它們是整個工作流的“指揮官”,負責協調工作流的運行,并管理整個對話的狀態。你可以把助手想象成一個項目經理,它決定著整個項目的進度和方向。
  • 節點(Nodes):節點是工作流中的一個個“小工人”,每個節點都有自己的職責,比如調用一個語言模型或者執行一個函數。它們各司其職,共同完成復雜的工作。
  • 工具(Tools):工具是節點用來完成具體任務的“工具箱”,比如調用一個API或者運行一個Python函數。這些工具為節點提供了實際操作的能力。

Graphite框架揭秘:如何用它打造可擴展的AI工作流-AI.x社區

Graphite還采用了事件溯源模式,這意味著每一次狀態的變化都會被記錄下來。這就像是給整個系統安裝了一個“黑匣子”,無論何時出現問題,都可以通過這些記錄來追溯原因。

Graphite框架揭秘:如何用它打造可擴展的AI工作流-AI.x社區

這種架構的好處是顯而易見的。首先,它讓整個系統變得非常模塊化,開發者可以像搭積木一樣,自由地添加、移除節點,甚至可以在不影響其他部分的情況下,對某個節點進行修改。其次,這種架構提高了系統的靈活性和可擴展性,無論業務需求如何變化,都可以輕松地調整工作流。

Graphite框架揭秘:如何用它打造可擴展的AI工作流-AI.x社區

三、Graphite的四大核心特性:讓AI應用更可靠

(一)可觀察性(Observability)

在復雜的AI系統中,要找出問題的根源往往像大海撈針一樣困難。Graphite通過事件驅動的架構、日志記錄和追蹤功能,讓開發者能夠實時監控系統的運行狀態,快速定位瓶頸或錯誤。這就像是給AI系統安裝了一雙“透視眼”,讓每一個環節都變得透明可測。

(二)冪等性(Idempotency)

在異步工作流中,由于網絡波動或部分失敗等原因,可能需要重復執行某些操作。Graphite的設計強調冪等性操作,確保即使重復調用,也不會出現數據重復或損壞的情況。這就像是給系統加上了一層“保護罩”,避免了因重復操作而引發的混亂。

(三)可審計性(Auditability)

Graphite將事件作為唯一的事實來源,自動記錄每一次狀態變化和決策路徑。這對于那些需要嚴格遵守法規的行業來說,簡直就是“救星”。無論是為了合規性檢查,還是為了調試和追蹤問題,這些詳細的記錄都提供了有力的支持。

(四)可恢復性(Restorability)

在長時間運行的AI任務中,如果中途出現失敗,重新開始可能會浪費大量的時間和資源。Graphite通過檢查點和基于事件的回放功能,讓工作流可以從失敗的那一刻精準恢復,最大限度地減少了停機時間和資源浪費。

四、動手實踐:用Graphite打造一個“了解你的客戶”AI助手

說了這么多,可能你會問:“聽起來不錯,但是實際操作起來難不難?”別擔心,接下來我們就通過一個簡單的例子,來實際感受一下Graphite的強大。

假設我們要為一家健身房打造一個“了解你的客戶”(KYC)AI助手。這個助手的主要任務是收集客戶的全名和電子郵件地址,完成健身房的注冊流程。如果客戶提供的信息不完整,助手會暫停流程,并要求客戶提供更多信息。

(一)搭建工作流

首先,我們需要安裝Graphite框架。在終端中運行以下命令即可完成安裝:

pip install grafi

接下來,我們需要定義工作流中的各個組件。根據前面的描述,我們需要創建以下組件:

  • 7個主題(Topics):包括用戶輸入主題、用戶信息提取主題、人工干預主題等。
  • 5個節點(Nodes):包括用戶信息提取節點、動作節點、人工干預節點、注冊用戶節點和響應用戶節點。

Graphite框架揭秘:如何用它打造可擴展的AI工作流-AI.x社區

以下是部分代碼實現:

from grafi.common.topics.topic import Topic
from grafi.common.topics.human_request_topic import human_request_topic
from grafi.common.topics.output_topic import agent_output_topic
from grafi.nodes.llm_node import LLMNode
from grafi.nodes.llm_function_call_node import LLMFunctionCallNode
from grafi.commands.llm_response_command import LLMResponseCommand
from grafi.commands.function_calling_command import FunctionCallingCommand
from grafi.tools.openai_tool import OpenAITool
from grafi.common.models.message import Message
from grafi.common.decorators.llm_function import llm_function
from grafi.common.models.execution_context import ExecutionContext
import json
import uuid

# 定義主題
user_info_extract_topic = Topic(name="user_info_extract_topic")
hitl_call_topic = Topic(
    name="hitl_call_topic",
    cnotallow=lambda msgs: msgs[-1].tool_calls[0].function.name != "register_client",
)
register_user_topic = Topic(
    name="register_user_topic",
    cnotallow=lambda msgs: msgs[-1].tool_calls[0].function.name == "register_client",
)
register_user_respond_topic = Topic(name="register_user_respond")

# 定義用戶信息提取節點
user_info_extract_node = (
    LLMNode.Builder()
    .name("UserInfoExtractNode")
    .subscribe(agent_input_topic)
    .command(
        LLMResponseCommand.Builder()
        .llm(
            OpenAITool.Builder()
            .name("UserInfoExtractLLM")
            .api_key("YOUR_OPENAI_API_KEY")
            .model("gpt-3.5-turbo")
            .system_message("Extract user's full name and email from the input.")
            .build()
        )
        .build()
    )
    .publish_to(user_info_extract_topic)
    .build()
)

# 定義動作節點
action_node = (
    LLMNode.Builder()
    .name("ActionNode")
    .subscribe(user_info_extract_topic)
    .command(
        LLMResponseCommand.Builder()
        .llm(
            OpenAITool.Builder()
            .name("ActionLLM")
            .api_key("YOUR_OPENAI_API_KEY")
            .model("gpt-3.5-turbo")
            .system_message("Decide the next action based on the extracted information.")
            .build()
        )
        .build()
    )
    .publish_to(hitl_call_topic)
    .publish_to(register_user_topic)
    .build()
)

# 定義人工干預節點
human_request_function_call_node = (
    LLMFunctionCallNode.Builder()
    .name("HumanRequestNode")
    .subscribe(hitl_call_topic)
    .command(
        FunctionCallingCommand.Builder()
        .function_tool(ClientInfo())
        .build()
    )
    .publish_to(human_request_topic)
    .build()
)

# 定義注冊用戶節點
register_user_node = (
    LLMFunctionCallNode.Builder()
    .name("RegisterUserNode")
    .subscribe(register_user_topic)
    .command(
        FunctionCallingCommand.Builder()
        .function_tool(RegisterClient())
        .build()
    )
    .publish_to(register_user_respond_topic)
    .build()
)

# 定義響應用戶節點
user_reply_node = (
    LLMNode.Builder()
    .name("UserReplyNode")
    .subscribe(register_user_respond_topic)
    .command(
        LLMResponseCommand.Builder()
        .llm(
            OpenAITool.Builder()
            .name("UserReplyLLM")
            .api_key("YOUR_OPENAI_API_KEY")
            .model("gpt-3.5-turbo")
            .system_message("Generate a response to the user based on the registration result.")
            .build()
        )
        .build()
    )
    .publish_to(agent_output_topic)
    .build()
)

(二)測試助手

現在我們已經搭建好了工作流,接下來就可以測試我們的“了解你的客戶”AI助手了。以下是測試代碼:

def test_kyc_assistant():
    execution_context = ExecutionContext(
        conversation_id="conversation_id",
        execution_id=uuid.uuid4().hex,
        assistant_request_id=uuid.uuid4().hex,
    )

    # 初始化助手
    assistant = (
        KycAssistant.Builder()
        .name("KycAssistant")
        .api_key("YOUR_OPENAI_API_KEY")
        .user_info_extract_system_message(user_info_extract_system_message)
        .action_llm_system_message(
            "Select the most appropriate tool based on the request."
        )
        .summary_llm_system_message(
            "Response to user with result of registering. You must include 'registered' in the response if succeed."
        )
        .hitl_request(ClientInfo())
        .register_request(RegisterClient())
        .build()
    )

    whileTrue:
        # 獲取用戶輸入
        user_input = input("User: ")
        input_data = [Message(role="user", cnotallow=user_input)]

        # 執行助手
        output = assistant.execute(execution_context, input_data)

        # 處理輸出
        responses = []
        for message in output:
            try:
                content_json = json.loads(message.content)
                responses.append(content_json["question_description"])
            except json.JSONDecodeError:
                responses.append(message.content)

        respond_to_user = " and ".join(responses)
        print("Assistant:", respond_to_user)

        # 如果注冊成功,結束循環
        if"registered"in output[0].content:
            break

if __name__ == "__main__":
    test_kyc_assistant()

運行這段代碼后,你可以通過終端與我們的AI助手進行交互。例如:

User: Hi, I'd like to sign up for your gym. Could you help me with the process?
Assistant: Please provide your full name and email address to sign up for the gym.
User: My name is John Doe, and my email is john.doe@example.com
Assistant: Congratulations, John! You are now registered at our gym. If you have any questions or need assistance, feel free to ask!

五、測試、觀察、調試與改進:讓助手更完美

在實際使用中,我們可能會遇到各種問題。Graphite通過集成OpenTelemetry和Arize的OpenInference,提供了強大的追蹤和觀察功能。我們可以輕松地捕獲助手的行為數據,快速定位問題。

例如,假設我們在測試中發現,當用戶輸入與注冊無關的內容時,助手會報錯。通過追蹤工具,我們可以迅速定位到問題的根源——動作LLM沒有正確選擇工具。于是,我們可以更新動作LLM的系統提示,讓它在用戶輸入無關內容時,調用??request_client_information??工具,禮貌地詢問用戶是否需要注冊幫助。

這種快速迭代和改進的過程,正是Graphite的魅力所在。它不僅幫助我們快速搭建AI應用,還讓我們能夠持續優化,讓助手變得越來越智能。

六、總結:Graphite,為真實世界AI應用而生

Graphite不僅僅是一個框架,它是一種全新的構建AI應用的思維方式。通過簡單而強大的三層執行模型、事件驅動的編排機制以及對可觀察性、冪等性、可審計性和可恢復性的支持,Graphite為開發者提供了一個靈活、可擴展且可靠的平臺。

無論是構建對話式助手,還是自動化工作流,Graphite都能滿足你的需求。它讓我們能夠像搭積木一樣,輕松構建出符合特定業務需求的AI應用。如果你也對AI開發充滿熱情,不妨試試Graphite,或許它就是你一直在尋找的那個“神器”。


本文轉載自公眾號Halo咯咯    作者:基咯咯

原文鏈接:??https://mp.weixin.qq.com/s/Qqc_1F5pKq1mO_iND7UsuQ??

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2025-5-12 08:32:30修改
收藏
回復
舉報
回復
相關推薦
中文字幕亚洲在线观看| 国内小视频在线看| 国产又黄又大久久| 欧美极品少妇xxxxⅹ裸体艺术| 第一页在线视频| 黄频免费在线观看| 国产精品大尺度| 国产精品久久亚洲7777| 波多野结衣人妻| 欧美1区2区| 夜夜嗨av一区二区三区四区| 久草福利在线观看| 色天使综合视频| 亚洲一区二区三区自拍| 日本一区美女| 丰满熟妇人妻中文字幕| 蜜乳av一区二区| 亚州av一区二区| 色婷婷粉嫩av| 亚洲精品播放| 欧美大片日本大片免费观看| 另类小说色综合| 亚洲伊人av| 亚洲国产精品久久久久秋霞影院 | 国产视频二区在线观看| 国产jizzjizz一区二区| 国产日韩精品入口| 午夜精品免费观看| 国产精品婷婷| 国模精品一区二区三区色天香| 91制片厂在线| 久久国产精品亚洲人一区二区三区| 亚洲精品v欧美精品v日韩精品| 北条麻妃亚洲一区| 小说区图片区亚洲| 欧美综合久久久| 久久精品一区二| 免费h在线看| 午夜精品久久久久久久久久久| 国产手机视频在线观看| 天天影视久久综合| 欧美经典一区二区| 四虎影院一区二区三区| 免费黄色在线视频网站| 不卡视频在线看| 国产精品区一区| 丰满少妇被猛烈进入| 成人免费视频一区| 国产精品一区二区你懂得| 成人av一区二区三区在线观看| 狠狠色丁香久久婷婷综合_中 | 久久综合偷偷噜噜噜色| 欧美精品18+| 91女神在线观看| 欧美成人福利| 日韩一区二区在线观看视频播放| 日韩在线一区视频| 韩国一区二区三区视频| 欧美一二三区在线观看| 久久久无码人妻精品无码| 一区二区中文字幕在线观看| 精品久久久久久久久久久院品网| 国产精品99精品无码视亚| 澳门久久精品| 亚洲精品国产综合久久| 无遮挡aaaaa大片免费看| 欧美美乳视频| 久久久国产精品亚洲一区| 美国黄色小视频| 亚洲午夜黄色| 奇米一区二区三区四区久久| 亚洲精品成人在线视频| 午夜在线a亚洲v天堂网2018| 国产精品aaa| 国产一区二区三区在线观看| 国产成人综合网站| 精品伦精品一区二区三区视频| 色婷婷激情五月| 久久久亚洲精品一区二区三区| 午夜精品福利一区二区| 香蕉久久aⅴ一区二区三区| 亚洲成av人片观看| 青青青在线播放| 亚洲综合资源| 日韩av最新在线观看| 国产成人一区二区在线观看| 中文字幕一区二区三区久久网站 | 国产一区二区三区影院| 日本不卡视频一二三区| 91久久精品国产91久久性色tv| 天天插天天干天天操| 中文在线资源观看网站视频免费不卡| 日韩中文字幕亚洲精品欧美| 成人福利av| 91精品福利在线一区二区三区| 永久免费未满蜜桃| 色喇叭免费久久综合网| 97精品视频在线观看| 在线免费a视频| 不卡的av中国片| 亚洲一区二区在| heyzo在线欧美播放| 欧美亚洲国产一卡| 亚洲国产精品无码久久久久高潮| 欧美电影免费播放| 91精品国产精品| 国产模特av私拍大尺度| 国产午夜精品一区二区三区四区| 亚洲啊啊啊啊啊| 草莓视频成人appios| 亚洲国产精品成人av| 亚洲综合视频网站| 日韩1区2区3区| 精品国产一区二区三区四区vr | 26uuu另类亚洲欧美日本老年| 91av国产精品| 久久久久国产一区二区三区四区| a级片一区二区| 先锋影音网一区二区| 亚洲性生活视频在线观看| 国产一级性生活| 激情综合网天天干| 先锋影音网一区| 欧美大片免费| 精品在线观看国产| 国产在线视频99| 国产乱码精品一区二区三| 亚洲精品不卡| 91精品美女| 在线播放日韩av| 国产一区二区视频免费| 91网站最新网址| cao在线观看| 国产精品国产| 久久久久久久一区二区| www.热久久| 亚洲精品国产一区二区三区四区在线| 九色91popny| 日韩电影二区| 国产精品欧美激情在线播放| 国产福利在线看| 欧美在线视频全部完| 国产免费看av| 日韩制服丝袜av| 日本精品一区二区三区视频 | 成人精品视频在线| 日本美女在线中文版| 欧美区视频在线观看| 貂蝉被到爽流白浆在线观看 | 4438x全国最大成人| 欧美影视一区| 99国产高清| ririsao久久精品一区| 亚洲国产精品yw在线观看| 久久久午夜影院| 久久久蜜桃精品| 欧美在线观看视频网站| 日韩电影免费网站| 91久久嫩草影院一区二区| 好吊日视频在线观看| 日韩欧美国产一区二区三区| 国产一级理论片| 99国产精品久久久久久久久久| 91九色在线观看视频| 欧美理论视频| 成人亚洲欧美一区二区三区| 激情影院在线| 亚洲欧洲偷拍精品| 亚洲无码精品国产| 亚洲一区二区三区四区不卡| 日本黄色动态图| 日本不卡123| 精品嫩模一区二区三区| 开心激情综合| 国产精品久久一| 羞羞的视频在线观看| 亚洲精品美女免费| 伊人网中文字幕| 亚洲午夜在线电影| 亚洲性猛交xxxx乱大交| 国产一区二区精品久久99| 日日橹狠狠爱欧美超碰| 日韩毛片视频| 国产视频一区二区不卡| av在线一区不卡| 欧美激情中文字幕乱码免费| 男女视频在线观看| 日韩一级在线观看| 久久国产视频精品| 成人免费视频在线观看| 99re久久精品国产| 久88久久88久久久| 国产九九九九九| 国产精品99久久久久久动医院| 国产精品久久久久久久久久直播| 日韩精品免费观看视频| 久久久久久91| 老司机精品影院| 亚洲精品自拍偷拍| 99精品人妻无码专区在线视频区| 岛国精品视频在线播放| 欧美成人777| 国产午夜精品久久久久久免费视| 丰满人妻一区二区三区大胸| 日本va欧美va瓶| 日韩在线综合网| 午夜精品电影| 亚洲视频在线观看日本a| 日韩极品在线| 成人9ⅰ免费影视网站| 日韩欧美专区| 国产精品大片wwwwww| а√在线中文网新版地址在线| 日韩在线视频二区| 青青操视频在线| 欧美精品一区二区三区视频| 97精品人妻一区二区三区| 色呦呦国产精品| 国产精品一区二区6| 亚洲夂夂婷婷色拍ww47| 日本爱爱小视频| 亚洲国产成人在线| 在线免费观看视频| www国产成人免费观看视频 深夜成人网| 在线观看你懂的视频| 久久成人精品无人区| 亚洲黄色a v| 日韩激情在线观看| 久久久久久久久久福利| 久久激情婷婷| 凹凸国产熟女精品视频| 一本一本久久| 热99这里只有精品| 亚洲黄色高清| 老太脱裤子让老头玩xxxxx| 亚洲激情av| 丁香花在线影院观看在线播放| 欧美日韩综合| 日韩精品综合在线| 亚洲特级毛片| 狠狠干 狠狠操| 在线亚洲观看| 久久综合久久色| 日韩专区欧美专区| 538在线视频观看| 麻豆精品在线观看| gogogo高清免费观看在线视频| 久久精品国产免费| 黄色片免费网址| 国产高清视频一区| 欧美图片自拍偷拍| 99亚偷拍自图区亚洲| 亚洲午夜久久久久久久久红桃 | 女同一区二区| 精品九九在线| 宅男噜噜99国产精品观看免费| 999久久久91| 777久久精品一区二区三区无码 | 911福利视频| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美成人三级在线| 欧美天堂在线视频| 亚洲一区av在线播放| 日韩欧美小视频| 欧美激情一级二级| 天堂在线中文网官网| 国产精品男人的天堂| 国产麻豆一区二区三区| 国产日韩亚洲精品| 欧美少妇xxxx| 国产一二三四区在线观看| 亚洲美女少妇无套啪啪呻吟| 青青青在线播放| 国产在线一区观看| 星空大象在线观看免费播放| 久久美女艺术照精彩视频福利播放| 国产1区2区在线观看| 国产精品美女久久久久久 | 欧美日韩在线另类| 中文字幕在线日亚洲9| 日韩三级电影网址| 精品影院一区| 欧美成人亚洲成人| 日韩电影av| 亚洲一区亚洲二区| 九九视频免费观看视频精品| 国产精品美女在线播放| 国产手机视频一区二区| 91插插插影院| 久久一区二区三区四区| av成人免费网站| 色噜噜久久综合| 亚洲春色一区二区三区| 国产亚洲欧美日韩一区二区| 欧美6一10sex性hd| 国产精品极品美女在线观看免费 | 亚洲精品一区| 亚洲专区在线视频| 欧美日韩在线播放视频| av女优在线播放| 韩国欧美国产一区| japanese中文字幕| 精品人伦一区二区三区蜜桃网站| 亚洲综合精品国产一区二区三区| 亚洲国产一区二区三区在线观看| 免费av在线| 国产成人精品视频| 开心激情综合| 999一区二区三区| 久久97超碰国产精品超碰| 香蕉视频黄色在线观看| 亚洲国产一区在线观看| 国产免费高清av| 日韩性xxxx爱| 日韩三区免费| 九9re精品视频在线观看re6| 欧美激情视频一区二区三区免费| 亚洲免费一级视频| 国产亚洲欧美在线| 久久久久久久久久久久久av| 欧美成人艳星乳罩| 制服丝袜在线播放| 国产一区在线播放| 不卡中文字幕| www.色偷偷.com| 国产亚洲综合在线| 国产成人无码av| 亚洲国产精品久久久久久| 青青青国内视频在线观看软件| 91在线观看免费| 亚洲网色网站| 国产5g成人5g天天爽| 国产精品成人免费在线| 中日韩av在线| 中文字幕亚洲一区在线观看| free欧美| 色爱区成人综合网| 日本在线不卡视频| 国产视频三区四区| 欧美日韩一区二区欧美激情| 成av人电影在线观看| 国产拍精品一二三| 91亚洲国产成人久久精品| 天天看片天天操| 成人免费一区二区三区视频| 国产免费无遮挡| 欧美极品少妇与黑人| 老司机aⅴ在线精品导航| av免费观看大全| 久久久午夜精品| 中文字幕第31页| 日韩三级影视基地| 亚洲国产高清在线观看| av女优在线播放| 久久人人超碰精品| 亚洲精品国产欧美在线观看| 一本一道久久a久久精品逆3p | av岛国在线| 欧美日韩在线精品| 免费一级片91| 国内偷拍精品视频| 亚洲第一二三四五区| 超碰一区二区| 杨幂一区欧美专区| 国产激情视频一区二区三区欧美| 日本特黄一级片| 国产一区二区激情| 95精品视频| 国产中文字幕二区| 国产日韩精品一区| 国产成人精品免费看视频| 国外色69视频在线观看| 精品一二三区| 亚洲成人福利视频| 色激情天天射综合网| 毛片在线视频| 国产一区在线免费| 免费成人在线视频观看| 五月婷婷一区二区| 亚洲欧美一区二区精品久久久| 一区二区三区| 欧美日韩一区二区在线免费观看| 国产精品国产三级国产aⅴ中文| 亚洲国产精品久久久久爰性色| 人人爽久久涩噜噜噜网站| 天天久久综合| 欧美 日本 国产| 日韩一区二区免费电影| 免费成人直播| 999久久欧美人妻一区二区| 久久久国产精品午夜一区ai换脸| av免费观看网址| 国产99久久久欧美黑人| 欧美日韩一卡| 91ts人妖另类精品系列| 日韩成人在线电影网| 麻豆国产一区| 91人人澡人人爽人人精品| 午夜不卡av在线| 新版中文在线官网|