Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snowflake ✕ LangChain でできること
Search
Toru Hiyama
March 10, 2025
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Snowflake ✕ LangChain でできること
Toru Hiyama
March 10, 2025
More Decks by Toru Hiyama
See All by Toru Hiyama
Snowpark for Python を効率的に使いこなすスタートライン(UDF)
toru_data
0
110
SPCSでエンドツーエンドな深層学習に挑戦してみた
toru_data
1
170
Streamlit Meetup Workshop:Streamlitのコントリビューションに挑戦してみよう
toru_data
0
130
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
170
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Accessibility Awareness
sabderemane
1
140
Mobile First: as difficult as doing things right
swwweet
225
10k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Abbi's Birthday
coloredviolet
2
8.1k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Become a Pro
speakerdeck
PRO
31
6k
Transcript
© 2025 NTT DATA Japan Corporation © 2025 NTT DATA
Japan Corporation Snowflake ✕ LangChain でできること SnowVillage Data Heroes Talk ~ SnowflakeのAI/LLMについて語ろう! 2025年3月10日 株式会社NTTデータ Snowflakeビジネス推進室 檜山 徹 1
© 2025 NTT DATA Japan Corporation 2 Snowflake Cortex Agents
… 爆誕! https://www.snowflake.com/en/blog/ai-data-agents-snowflake-cortex/ Cortex Agentsについては、解説ブログも書いたので、もしよかったら見てみてください!
© 2025 NTT DATA Japan Corporation 3 自分でもエージェント作ってみたくない…?
© 2025 NTT DATA Japan Corporation 4 Snowflake ✕ LangChain
でできること ここ一ヶ月で、Snowflakeで使えるLangChainのバージョンもv0.1からv0.3に 上がっています(=LangChainの波動を感じる…!) ▪ 2025年1月30日の私のつぶやき(v0.1) ▪ 2025年3月10日時点のライブラリ(v0.3) https://repo.anaconda.com/pkgs/snowflake/ LangChainについて、 は後ほど
© 2025 NTT DATA Japan Corporation 5 【2025年最新】 Snowflake ✕
LangChain でできること
© 2025 NTT DATA Japan Corporation 6 自己紹介 檜山 徹(ひやま
とおる) 株式会社NTTデータ Snowflakeビジネス推進室 所属 X(Twitter) @toru_data
© 2025 NTT DATA Japan Corporation 7 【2025年最新】 Snowflake ✕
LangChain でできること 本日はSnowflake上で動作させられるLangChain機能をいくつかご紹介します。 • Python UDFでドキュメント取り込み by Snowpark&LangChain • LangChain Agent on Snowflake(Snowflake Anacondaライブラリ) • LLMツール • RAGツール • SQLツール • LangGraph on Snowflake(持ち込みライブラリ) これにより、 Snowflake ✕ LangChain の世界観を理解し、 LangChain on Snowflake を今すぐ始められるようになることを目指します 他にも色々あると思うよ! 今回は一例ということで。
© 2025 NTT DATA Japan Corporation 8 LangChain とは? LLMを統合することで、様々なLLMアプリケーションを構築するためのOSS
モデル メッセージ Chain エージェント チャットボット ドキュメントの要約 データ分析
© 2025 NTT DATA Japan Corporation 9 Python UDF でドキュメント取り込み
© 2025 NTT DATA Japan Corporation 10 Python UDF でドキュメント取り込み
Snowpark Python UDF と LangChain の DocumentLoader を使って、 スケーラブルに様々なドキュメントの取り込みを行います。 Loader.load() UDF File Path PDF Text aa.pdf bb.xlsx このドキュメントは、~~ ユーザー名 ユーザーID ・・・ xx.docx 概要 XXシステムは、~~ 出力テキスト … … File Path aa.pdf bb.xlsx xx.docx … 入力ドキュメント Loader.load() Loader.load()
© 2025 NTT DATA Japan Corporation 11 Python UDF でドキュメント取り込み
試しに、PDF を読み込むドキュメントローダーを作成します。 ▪ UDF実装(load_pdf 関数) ▪ UDF呼び出し 今回の検証コードはまとめて GitHubに上げているので、 まったりと御覧ください。
© 2025 NTT DATA Japan Corporation 12 Python UDF でドキュメント取り込み
実行した結果、12個のPDFファイルを10秒でテキストに変換できました PDFだけでなく、オフィス(パワポ、Wordなど)・Webページなども取り込める ストリームを使った差分更新もでき、効率的
© 2025 NTT DATA Japan Corporation 13 LangChainエージェント
© 2025 NTT DATA Japan Corporation 14 LangChain エージェントとは? 様々なツールを活用して、入力されたプロンプトに対する回答を出力できるLLM機能
➢ 今回は、組み込みの Zero Shot ReAct エージェントを利用した動的なツール選択により、 いい感じの出力を生成することを期待します。 ユーザー入力 出力 エージェント ツール LLM RAG SQL …
© 2025 NTT DATA Japan Corporation 15 LangChain エージェント ツール(LLM)
LangChainのLLMクラスを継承し、 Snowflake Cortex用のLLMモデルを 作成しています。 コードでは、モデルの指定やセッションの 入力、Complete関数の呼び出しを 行っているだけで、実は簡素です。
© 2025 NTT DATA Japan Corporation 16 LangChain エージェント ツール(RAG)
次の2つのクラスを継承して、RAGを ツール化しています。 • Snowflake: CortexSearchRetriever • LangChain:BaseTool
© 2025 NTT DATA Japan Corporation 17 LangChain エージェント ツール(SQL)
Snowflakeの任意のテーブルにクエリを 実行できるツールです。 どんなテーブル・カラムがあるかを調査し たり、エラー内容を自己解決したりする ように構成しています。 参考:https://medium.com/snowflake/just-the-gist-developing-a-custom-langchain-tool-that-uses-snowpark-session-6dd86316c464
© 2025 NTT DATA Japan Corporation 18 これまで作成したツールをもとに、 エージェントを定義します。 LangChain
エージェント エージェント定義
© 2025 NTT DATA Japan Corporation 19 LangChain エージェント 実行の様子
その1 ▪ 与えたツールを使って情報収集… ▪ 失敗したら自分でやり直し
© 2025 NTT DATA Japan Corporation 20 LangChain エージェント 実行の様子
その2 SQLクエリで取得した結果と、RAGで取得した結果を組み合わせて、 最終的なインサイトをエージェント自ら生成できた。(すごくない…?)
© 2025 NTT DATA Japan Corporation 21 LangGraph
© 2025 NTT DATA Japan Corporation 22 LangGraph LangGraphは、LangChainよりも柔軟にLLM実行グラフを構築できるOSS from
langgraph.graph import END, START, StateGraph from langgraph.graph.message import add_messages from langgraph.prebuilt import ToolNode, tools_condition class State(TypedDict): messages: Annotated[list, add_messages] graph_builder = StateGraph(State) graph_builder.add_node("chatbot", chatbot) tool_node = ToolNode(tools=[tool]) graph_builder.add_node("tools", tool_node) graph_builder.add_conditional_edges("chatbot", tools_condition) graph_builder.add_edge("tools", "chatbot") graph_builder.add_edge(START, "chatbot") https://langchain-ai.github.io/langgraph/tutorials/introduction/#part-3-adding-memory-to-the-chatbot
© 2025 NTT DATA Japan Corporation 23 LangGraph の環境準備 2025年3月10時点ではLangGraphがSnowflake
Anacondaパッケージに 存在しないため、パッケージアップロードを実施し、SiSで使えることを確認する。 といっても、アップロード自体は、天下のSnowflake CLI様により2コマンドだけ。
© 2025 NTT DATA Japan Corporation 24 LangGraph を実行してみる SiS上でLangGraphが動く!
今回はここまでですが、もっと 複雑なグラフを組んでいくことも できそうです!
© 2025 NTT DATA Japan Corporation 25 おわりに Snowflake ✕
LangChain により、Snowflakeに蓄積されたデータを使って、 LLMで自律的に分析させることの未来が垣間見えました! どこまで実用できるのか?は正直私も分かってません( ここ重要!)が、 Snowflakeで様々なLangChainの機能が「動くこと」は確認できました。 • https://github.com/THiyama/LangChain-Snowflake-Test • 現地参加の方は、実際に動いている様子を見ながら話しましょう! 今後、Snowflakeもこの領域をどんどん強めていくと思うので、 我々もしっかり追従(むしろ追い越し)していきましょう
None