Slide 1

Slide 1 text

GraphAI GraphAI by Receptron team

Slide 2

Slide 2 text

Multi Agent AI AI/Rag/DB/APIを複雑に組み合わせ た複合AI 実行の順番は? 非同期で効率よく動く? プログラミング,デバックが大変 GraphAI by Receptron team

Slide 3

Slide 3 text

非同期プログラミング 問題 これらの組み合わせだけでも効率良い プログラミングをするのは難しい GraphAI by Receptron team

Slide 4

Slide 4 text

実行時間/実行場所の問題 1つ1つが20秒かかる場合、40個組み合わせると13分かかる 非同期、並列実行は必須 1つ1つの処理が独立しているほうがよい timeout/実行状況の把握 テストしやすい クライアント(ブラウザ), サーバで分散させたい バッチやAPI化する場合は、全てサーバで動かしたい GraphAI by Receptron team

Slide 5

Slide 5 text

GraphAI - データフロープログラミング TypeScriptで書かれたデータフロープログラミング Graph=グラフ理論のグラフ(not 円グラフ、棒グラフ) 有向非巡回グラフ Node(Agent)とEdge(矢印=データの流れ) Agentが1つのNodeに対応 Agent = LLM/Rag/APIなど実行する1つの関数 Agentの動作結果を次のAgentの入力として渡す GraphAI by Receptron team

Slide 6

Slide 6 text

GraphAI - TypeScript AgentはTypeScript サーバ(Node.js)とブラウザで同じコードがそのまま動く ブラウザで動作、デバックできる Node.jsでPCの開発も可能 Agent単体でテスト可能。再利用が容易 GraphData YAML/JSON 構造化されたデータならなんでもOK GraphAI by Receptron team

Slide 7

Slide 7 text

GraphAI - サーバ クライアント Agentは、ブラウザやNodeの固有の機能を使わない限りは、ブラウ ザとNode.jsのどちらでも動く Graphをブラウザで実行させ、各Agentを必要に応じてブラウザ、 サーバに動的に振り分け可能 LLMはAPI KEYが必要なのでサーバ データの単純な処理はブラウザ DBへのアクセスはサーバ Agentの設定をしておけば、Graphを使うユーザはほぼ意識しな くても良い(透過的) GraphAI by Receptron team

Slide 8

Slide 8 text

GraphAI - サーバ クライアント Agent AgentInfoを整備しておく Server GraphAIのサーバ仕様に合わせる Agent一覧を返すAPI + 各Agentを実行するAPI 標準化に合わせて実装しておけば、設定いらずで動的な切り替えが 可能 このインタフェースに合わせておけばサーバはPythonなどでもOK Streamも対応 GraphAI by Receptron team

Slide 9

Slide 9 text

GraphAI - Agent Agent const sampleAgent: AgentFunction = async ({ params, inputs }) => { return { params, inputs }; }; inputs = 前のNodeの結果を受け取る param = GraphDataでAgentにわたす値 結果(次のNodeや出力に渡す値)をreturnする GraphAI by Receptron team

Slide 10

Slide 10 text

GraphAI - AgentInfo const sampleAgentInfo: AgentFunctionInfo = { name: "sampleAgent", agent: sampleAgent, // agent関数 samples: [ // DocumentやUnit test用のサンプル { inputs: sampleInput, result: sampleResult, }, ], description: "Sample agent", category: ["LLM"], repository: "https://github.com/isamu/graphai_doc", }; GraphAI by Receptron team

Slide 11

Slide 11 text

GraphAI - GraphData version: 0.5 nodes: echo: agent: "echoAgent" params: message: "echo" bypass: agent: "bypassAgent" inputs: [:echo] isResult: true echo nodeでechoというメッセージを作成、bypass nodeがそれを受け 取り、結果として出力 GraphAI by Receptron team

Slide 12

Slide 12 text

GraphAI アプリケーション例 GraphAI by Receptron team

Slide 13

Slide 13 text

GraphAI サンプルと開発ツール Webデモ https://github.com/isamu/graphai-stream-web https://github.com/receptron/graphai-demo-web ブラウザのYAMLエディター https://github.com/receptron/graphai-playground GUIでグラフを作成するツール https://github.com/receptron/graphai-litegraph GraphAI by Receptron team

Slide 14

Slide 14 text

GraphAI Document 公式ドキュメント https://github.com/receptron/graphai/blob/main/packages/grap hai/README.md チュートリアル https://github.com/receptron/graphai/blob/main/docs/Tutorial. md zenn https://zenn.dev/topics/graphai GraphAI by Receptron team