From b8369a2b6bea65f8779e2d2bb24065294557a362 Mon Sep 17 00:00:00 2001 From: bsorrentino Date: Sun, 17 Mar 2024 13:38:50 +0100 Subject: [PATCH 1/2] fix: update NodeOutput access control work on #1 --- Sources/LangGraph/LangGraph.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/LangGraph/LangGraph.swift b/Sources/LangGraph/LangGraph.swift index 19f0780..0912022 100644 --- a/Sources/LangGraph/LangGraph.swift +++ b/Sources/LangGraph/LangGraph.swift @@ -49,8 +49,8 @@ extension AgentState { } public struct NodeOutput { - var node: String - var state: State + public var node: String + public var state: State public init(node: String, state: State) { self.node = node From bf03689998ab329e91f01871a15a991b59ae23d2 Mon Sep 17 00:00:00 2001 From: bsorrentino Date: Sun, 17 Mar 2024 13:39:26 +0100 Subject: [PATCH 2/2] test: update demo project to use stream work on #1 --- .../LangChainDemo.xcodeproj/project.pbxproj | 20 +++++++++---------- .../LangChainDemo/AgentExecutor.swift | 10 +++++++--- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/LangChainDemo/LangChainDemo.xcodeproj/project.pbxproj b/LangChainDemo/LangChainDemo.xcodeproj/project.pbxproj index 34c61d1..c6506a2 100644 --- a/LangChainDemo/LangChainDemo.xcodeproj/project.pbxproj +++ b/LangChainDemo/LangChainDemo.xcodeproj/project.pbxproj @@ -8,12 +8,12 @@ /* Begin PBXBuildFile section */ A04EAC2B2BA441B500C49DC0 /* AgentExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04EAC2A2BA441B500C49DC0 /* AgentExecutor.swift */; }; - A04EAC2E2BA4572E00C49DC0 /* LangChain in Frameworks */ = {isa = PBXBuildFile; productRef = A04EAC2D2BA4572E00C49DC0 /* LangChain */; }; A08CC7552BA373E9007A8248 /* LangChainDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A08CC7542BA373E9007A8248 /* LangChainDemoApp.swift */; }; A08CC7572BA373E9007A8248 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A08CC7562BA373E9007A8248 /* ContentView.swift */; }; A08CC7592BA373EA007A8248 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A08CC7582BA373EA007A8248 /* Assets.xcassets */; }; A08CC75C2BA373EA007A8248 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A08CC75B2BA373EA007A8248 /* Preview Assets.xcassets */; }; - A08CC7652BA37494007A8248 /* LangGraph in Frameworks */ = {isa = PBXBuildFile; productRef = A08CC7642BA37494007A8248 /* LangGraph */; }; + A0D23D862BA718D400CFF615 /* LangGraph in Frameworks */ = {isa = PBXBuildFile; productRef = A0D23D852BA718D400CFF615 /* LangGraph */; }; + A0E162E22BA7187800AC563D /* LangChain in Frameworks */ = {isa = PBXBuildFile; productRef = A0E162E12BA7187800AC563D /* LangChain */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -31,8 +31,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A04EAC2E2BA4572E00C49DC0 /* LangChain in Frameworks */, - A08CC7652BA37494007A8248 /* LangGraph in Frameworks */, + A0E162E22BA7187800AC563D /* LangChain in Frameworks */, + A0D23D862BA718D400CFF615 /* LangGraph in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -101,8 +101,8 @@ ); name = LangChainDemo; packageProductDependencies = ( - A08CC7642BA37494007A8248 /* LangGraph */, - A04EAC2D2BA4572E00C49DC0 /* LangChain */, + A0E162E12BA7187800AC563D /* LangChain */, + A0D23D852BA718D400CFF615 /* LangGraph */, ); productName = LangChainDemo; productReference = A08CC7512BA373E9007A8248 /* LangChainDemo.app */; @@ -378,13 +378,13 @@ /* End XCLocalSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - A04EAC2D2BA4572E00C49DC0 /* LangChain */ = { + A0D23D852BA718D400CFF615 /* LangGraph */ = { isa = XCSwiftPackageProductDependency; - productName = LangChain; + productName = LangGraph; }; - A08CC7642BA37494007A8248 /* LangGraph */ = { + A0E162E12BA7187800AC563D /* LangChain */ = { isa = XCSwiftPackageProductDependency; - productName = LangGraph; + productName = LangChain; }; /* End XCSwiftPackageProductDependency section */ }; diff --git a/LangChainDemo/LangChainDemo/AgentExecutor.swift b/LangChainDemo/LangChainDemo/AgentExecutor.swift index 9104152..d0d0c33 100644 --- a/LangChainDemo/LangChainDemo/AgentExecutor.swift +++ b/LangChainDemo/LangChainDemo/AgentExecutor.swift @@ -235,7 +235,11 @@ public func runAgent( input: String, llm: LLM, tools: [BaseTool], callbacks: [Ba let runner = try workflow.compile() - let result = try await runner.invoke(inputs: [ "input": input, "chat_history": [] ]) - - print( result ) + for try await result in runner.stream(inputs: [ "input": input, "chat_history": [] ]) { + print( "-------------") + print( "Agent Output of \(result.node)" ) + print( result.state ) + } + print( "-------------") + }