アゼストでは、ChatGPTを活用して、テクニカルな内容の共有やテクニックの研究などをまとめた社内テックブログを運用しています。
そのブログの中から厳選した内容をいくつか公開いたします!
今回は、UI/UXチームの湯が作成した、ネット記事をPPTに変換する便利な方法をご紹介いたします!
LangChainについて学ぶことから始まり、それをスライドにまとめる過程を経て、その内容をスライド形式のプレゼンテーションに変換する方法を詳しく解説します。
さらに、Markdownを用いたスライド作成ツールMarpの使用方法についても紹介します。
LangChain Development Course
You:
下記の英語を日本語に翻訳してもらいますか?
Welcome to this short course on LangChain for large
language model application development.
By prompting an LLM or large language model,
it is now possible to develop AI applications
much faster than ever before.
But an application can require prompting
an LLM multiple times and parsing its output, and so there's
a lot of glue code that needs to be written.
LangChain, created by Harrison Chase makes this
development process much easier. I'm thrilled to have Harrison here, who
had built this short course in collaboration with DeepLearning.ai to
teach how to use this amazing tool.
Thanks for having me. I'm really excited to be here. LangChain
started as an open source framework for building LLM
applications. It came about when I was talking to a bunch
of folks in the field who were building more
complex applications and saw some common abstractions in terms
of how they were being developed.
And we've been really thrilled at the community adoption of
LangChain so far.
And so look forward to sharing it with
everyone here and look forward to seeing what
people build with it.
And in fact, as a sign of LangChain's momentum, not
only does it have numerous users, but there are also many
hundreds of contributors to the open source, and this has been
instrumental for its rapid rate of development. This
team really ships code and features at an amazing pace.
So hopefully, after this short course, you'll
be able to quickly put together some really cool
applications using LangChain, and who knows, maybe
you even decide to contribute back to the
open source LangChain effort.
LangChain is an open source development
framework for building LLM applications.
We have two different packages, a Python one and a JavaScript one.
They're focused on composition and modularity. So
they have a lot of individual components that
can be used in conjunction with each other
or by themselves. And so that's one of the key value adds. And then
the other key value add is a bunch of different use cases. So chains
of ways of combining these modular components into
more end-to-end applications making it very easy to get
started with those use cases. In this class, we'll
cover the common components of LangChain. So we'll talk about models.
We'll talk about prompts, which are how you get models to
do useful and interesting things.
We'll talk about indexes, which are ways of ingesting
data so that you can combine it with models. And
then we'll talk about chains, which are more end-to-end use cases along
with agents, which are a very exciting type of end-to-end use case which uses
the model as a reasoning engine.
We're also grateful to Ankush Gola, who is a co-founder of LangChain alongside Harrison
Chase, for also putting a lot of thought into
these materials and helping with the
creation of this short course.
And on the DeepLearning.AI side, Geoff Ludwig, Eddy Shyu, and
Diala Ezzeddine have also contributed to
these materials.
And so with that, let's go on to the next video, where we'll learn
about LangChain's models, prompts, and parsers.
ChatGPT:
「大規模言語モデル(LLM)アプリケーション開発のためのLangChainについての短期コースへようこそ。大規模言語モデルをプロンプトすることにより、これまで以上に迅速にAIアプリケーションを開発することが可能になりました。しかし、アプリケーションではLLMを複数回プロンプトすることやその出力をパースすることが必要となるため、大量の接着コードが書かれる必要があります。LangChainは、Harrison Chase氏によって開発され、この開発プロセスを大幅に簡易化します。DeepLearning.aiとの共同でこの短期コースを開発したHarrison氏をここに迎えることができ、大変光栄です。
私を迎えてくれてありがとう。ここにいることがとても楽しみです。LangChainはLLMアプリケーションを構築するためのオープンソースフレームワークとして始まりました。これは、私がフィールドの多くの人々と話をして、より複雑なアプリケーションを構築していて、その開発方法に一定の抽象化があることを認識したときに生まれました。そして、これまでにLangChainがコミュニティからどれほど採用されてきたか、本当に感動しています。そして、ここにいる皆さんと共有することを楽しみにしていますし、皆さんが何を作り上げるのかを楽しみにしています。
事実、LangChainの勢いの証として、多数のユーザーを持つだけでなく、オープンソースへの寄稿者も何百人もいることが、その急速な開発において重要な要因となっています。このチームは本当に素晴らしいペースでコードや機能をリリースしています。だからこそ、この短期コースを終えた後、あなたはLangChainを使って本当にクールなアプリケーションをすぐに作り上げることができるかもしれませんし、誰が知るか、あなたはオープンソースのLangChainプロジェクトに貢献することを決意するかもしれません。
LangChainは、LLMアプリケーションを構築するためのオープンソース開発フレームワークです。私たちはPythonとJavaScriptの2つの異なるパッケージを提供しています。それらは組み合わせとモジュール性に重点を置いています。つまり、それぞれが他のものと組み合わせて使用できる、または単独で使用できる個々のコンポーネントが多くあります。そして、これが一つの重要な価値提供となっています。そしてもう一つの価値提供とは、様々な使用例です。つまり、これらのモジュラーコンポーネントを組み合わせてよりエンドツーエンドのアプリケーションを作り出す方法のチェーンがたくさんあります。これにより、それらの使用例を始めやすくなります。
このクラスでは、LangChainの共通コンポーネントをカバーします。私たちはモデルについて語ります。そして、モデルが有用で興味深いことを実行する方法を得るためのプロンプトについて語ります。そして、データを取り込む方法としてのインデックスについて語ります。そして、エンドツーエンドの使用例であるチェーンと、モデルを推論エンジンとして使用する非常にエキサイティングなタイプのエンドツーエンドの使用例であるエージェントについて語ります。
また、LangChainの共同創設者であるAnkush Gola氏も、これらの教材に多くの思考を費やし、この短期コースの作成に協力してくれたことに感謝しています。そして、DeepLearning.AIの一員であるGeoff Ludwig、Eddy Shyu、およびDiala Ezzeddineも、これらの教材に対して貢献してくれました。
では、これで次のビデオに移りましょう。そこでは、LangChainのモデル、プロンプト、パーサーについて学びます。」
You:
Markdownをslideに作成する方法が分かりますか?
ChatGPT:
はい、Markdownファイルからスライドを作成する方法はいくつかありますが、以下に一般的なツールとその方法を紹介します。
- Pandoc: Pandocは、MarkdownファイルをHTML、PDF、ePub、docxなどの多くの形式に変換する強力なコマンドラインツールです。スライドの作成もサポートしています。たとえば、MarkdownをReveal.jsのスライドに変換するには次のコマンドを使用します。
pandoc -t revealjs -s myslides.md -o myslides.html
このコマンドでは、-t revealjs
は出力形式を指定し、-s
はスタンドアロン(つまり完全なHTML文書を生成)を指定し、myslides.md
は入力ファイル、myslides.html
は出力ファイルです。
- Marp: MarpはMarkdownを使ったスライド作成専用のエディタで、Markdownでスライドを記述するとリアルタイムにプレビューを表示します。独自の記法を追加してスライドの見た目を調整したり、スライド間の遷移効果を追加することも可能です。出力形式はHTMLとPDFが選択可能です。
- Jupyter Notebook: Jupyter NotebookもMarkdownを使ってスライドを作成することができます。Jupyter Notebookにはスライドショー機能があり、Markdownで記述したセルをスライドに設定することができます。最終的なスライドはJupyter Notebookを
nbconvert
を使ってHTML形式(Reveal.jsのスライド)に変換します。
これらのツールを使用することで、Markdownを使ってスライドを作成し、HTMLやPDFなどの形式で出力することが可能です。使用するツールは、あなたの要件や好みによります。
You:
上記の翻訳文を基づいて、Slideの形で説明資料を作りたいです。 翻訳文の内容をPandocで変換できるmarkdownのコードを生成してください。
ChatGPT:
以下に、PandocがサポートするMarkdown形式を使って、スライド用のMarkdownコードを作成します。
—
title: LangChainについての短期コース
author: Harrison Chase
date: 2023-07-28
—
# LangChainとは
LangChainは、大規模言語モデル(LLM)アプリケーション開発のためのオープンソースフレームワークです。
LLMをプロンプトすることにより、これまで以上に迅速にAIアプリケーションを開発することが可能になりました。
—
# LangChainの利点
LangChainは、Harrison Chase氏によって開発され、LLMを複数回プロンプトするという開発プロセスを大幅に簡易化します。
—
# LangChainの始まり
LangChainは、より複雑なアプリケーションを構築するための一定の抽象化を見つけたときに生まれました。
—
# LangChainの成長
LangChainの採用が進んでおり、その結果、その開発が急速に進んでいます。
—
# LangChainとオープンソース
LangChainは、オープンソースの努力を通じて急速に開発されています。
これは、LangChainが持つユーザーの数だけでなく、オープンソースへの多数の寄稿者のおかげです。
—
# LangChainの開発フレームワーク
LangChainはPythonとJavaScriptの2つの異なるパッケージを提供しています。
これらは組み合わせとモジュール性に重点を置いており、多くの個々のコンポーネントがあります。
—
# LangChainの使用例
LangChainでは、これらのモジュラーコンポーネントを組み合わせて
よりエンドツーエンドのアプリケーションを作り出す方法のチェーンがたくさんあります。
—
# LangChainのコンポーネント
LangChainでは、モデル、プロンプト、インデックス、チェーンとエージェントについて語ります。
—
# 謝辞
LangChainの共同創設者であるAnkush Gola氏と、DeepLearning.AIの一員であるGeoff Ludwig、Eddy Shyu、およびDiala Ezzeddineに感謝します。
—
# 次について
次のビデオでは、LangChainのモデル、プロンプト、パーサーについて学びます。
このMarkdownコードを.md
ファイルに保存し、以下のようなコマンドを使用すると、HTML形式のスライドを作成することができます。
pandoc -t revealjs -s yourfile.md -o yourfile.html
ここでyourfile.md
は上記のMarkdownが保存されたファイル名を、yourfile.html
は出力したいHTMLファイル名を指定してください。
You:
Marp 知っていますか?
ChatGPT:
はい、Marpを知っています。
Marpは、Markdownを使用してプレゼンテーションスライドを作成するためのシンプルで使いやすいツールです。基本的には、通常のMarkdown形式を使用してドキュメントを作成し、それをスライドショーとして表示するための特別な指示を追加します。
Marpはオープンソースで、主に以下の2つのバージョンがあります:
- Marp CLI: Marp CLI (Command Line Interface) は、MarkdownをHTML、PDF、または画像ファイルに変換するためのコマンドラインツールです。これにより、Marpで作成したスライドをシェア可能な形式に変換できます。
- Marp for VS Code: Marp for VS Codeは、Visual Studio Codeエディター用のMarp拡張機能です。これにより、VS Code内で直接Marpスライドを作成およびプレビューできます。
これらのツールを使用すると、Markdownファイルからスライドを直接作成し、その結果を即座にプレビューすることができます。また、Marpはカスタムテーマをサポートしているため、スライドの見た目を自分の好みに合わせて調整することも可能です。
You:
私はMacを使っています。 Marp Cliをインストールしても、コマンドを実行したら結局エラーが出ました。 Marp for VSCodeでしたら問題なく使えました。
ChatGPT:
Marp for VS Codeを問題なく使えているのであれば、それを使用してスライドを作成するのが最善の方法と言えます。Marp for VS Codeは非常に直感的で、リアルタイムのプレビュー機能があるため、作成したスライドを確認しながらMarkdownを記述することが可能です。 また、Marp for VS Codeでは、エクスポート機能を使用してスライドをPDF形式等で保存することも可能です。
You:
今までの会話を整理したいです。日本語でマインドマップの形で下記のステップでまとめてください。 1.まず「マインドマップ:」という文字列を先頭に入れてください。 2.そして改行を入れてください。 3.マインドマップの内容を作ってください。必ずmarkdownの記述方式で出力してください。
ChatGPT:
以下に、この会話をマインドマップの形式で整理した内容を示します。
上記のマインドマップは、今回の会話の主要なステップと主題を整理したものです。最初にLangChainについて学び、その内容をスライドにまとめる過程を経て、最後に今までの会話をマインドマップ形式で整理しました。
You:
今までの会話をブログに作りたい。マインドマップ作成の内容を除いて、 タイトルと集約文、そしてSEO対応のため、キーワードを「,」区切りでまとめてください。出力文のフォーマットは「タイトル:」「集約文:」「キーワード:」の形でお願いいたします。「タイトル:」「集約文:」「キーワード:」は改行2回で区切りしてください。そして「タイトル」「集約文」「キーワード」以外の説明がいりません。そして日本語で出力してください。
ChatGPT:
タイトル: LangChainの紹介とスライド作成方法
集約文: このブログでは、LangChainについて学ぶことから始まり、それをスライドにまとめる過程を経て、その内容をスライド形式のプレゼンテーションに変換する方法を詳しく解説します。さらに、Markdownを用いたスライド作成ツールMarpの使用方法についても紹介します。
キーワード: LangChain, スライド作成, Marp, Marp for VS Code, AIアプリケーション開発, Markdown, 大規模言語モデル, LLM, プレゼンテーション作成, オープンソース
Marp VsCode Pluginダウンロード先
https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode
作成した資料のプレビュー