LLMCheatsheets.jlは、GitHub リポジトリからチートシートを作成することで、AI モデルに新しいパッケージやリポジトリについて簡単かつ瞬時に教えることができる Julia パッケージです。このツールは、人間が読めるドキュメントと AI に適した知識表現の間のギャップを埋め、言語モデルや AI アシスタントとのシームレスな統合を可能にします。
デフォルトでは、提供されたリポジトリ内のフォルダーとファイルのサブセットを取得し、LLM を使用してそれらを 1 つのチートシートに要約します。
LLMCheatsheets.jl をインストールするには、Julia パッケージ マネージャーとリポジトリ URL (まだ登録されていません) を使用します。
using Pkg
Pkg . add (url = " https://github.com/svilupp/LLMCheatsheets.jl " )
ヒント
GitHub API にアクセスするときにレート制限が発生した場合は、個人用アクセス トークンをセットアップし、それを環境変数GITHUB_API_KEY
として設定して、リクエスト制限を 1 時間あたり 5000 に増やすことができます。
ここでは、LLMCheatsheets.jl を使用して GitHub リポジトリのチートシートを作成する方法の基本的な例を示します。
using LLMCheatsheets
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " )
create_cheatsheet (repo; save_path = true );
save_path = true
の場合、チートシートは現在の作業ディレクトリのllm-cheatsheets
フォルダーに保存されます。
舞台裏で何が起こっているのか:
repo.paths
およびrepo.file_types
に一致するすべての関連ファイルが検索されます。ファイルを個別に生成し、自分で処理するための低レベル インターフェイスについては、 examples/create_for_promptingtools.jl
を参照してください。
場合によっては、ファイルを要約せずにダウンロードしたい場合があります。それはcollect
関数を使用して行うことができます。
files_str = collect (repo)
files_str
スキャンされたすべてのファイルが連結された文字列になります。 ChatGPT または Claude.ai で使用するには、 clipboard
機能を使用してクリップボードにコピーします ( files_str|>clipboard
。
デフォルトでは、スキャンおよびダウンロードされるファイルは、それぞれrepo.paths
およびrepo.file_types
です。
デフォルトでは、 repo.paths
には["src", "docs/src", "README.md"]
が含まれ、 repo.file_types
には[".jl", ".md"]
が含まれます。これらは、 GitHubRepo
オブジェクトの作成時にカスタマイズできます。
たとえば、フォルダーのexamples
と.txt
ファイルを追加して、これから要約する内容をカスタマイズします。
repo = GitHubRepo ( " https://github.com/username/repository " ; paths = [ " examples " , " README.md " ], file_types = [ " .jl " , " .md " , " .txt " ])
model
引数を関数に渡すことで、別の LLM を使用できます。
create_cheatsheet (repo; save_path = true , model = " gpt4om " )
AI がチートシートを生成するようガイドするための特別な指示を提供できます。
create_cheatsheet (repo; special_instructions = " Focus on the data structures and their interactions. " )
PromptingTools.jl から ai* 関数をエクスポートして、LLMCheatsheets.jl で使用することもできます。
using LLMCheatsheets
# Re-export aigenerate, pprint from PromptingTools
using LLMCheatsheets : aigenerate, pprint
# Or import PromptingTools directly
# using PromptingTools
repo = GitHubRepo ( " https://github.com/svilupp/PromptingTools.jl " ; paths = [ " docs/src " , " README.md " ])
files_str = collect (repo)
msg = aigenerate ( " Read through these files: $(files_str) nn Answer the question: What is the function for creating prompt templates? " )
pprint (msg)
The function for creating prompt templates in the `PromptingTools.jl` package is `create_template`. This function allows you to define a prompt with placeholders and save it for later use. The syntax is:
```julia
create_template(; user=<user prompt>,
system=<system prompt>, load_as=<template name>)
```
This function generates a vector of messages, which you can use directly in the `ai*` functions. If you provide the `load_as` argument, it will also register the template in the template store,
allowing you to access it later using its name.
LLM プロバイダーによってレート制限を受けている場合は、 ntasks=5
またはntasks=2
(API レベルに応じて) などの低い数値を設定することで、 create_cheatsheet
で同時集計タスクの数を減らすことができます。
個人用アクセス トークンをセットアップし、 ENV["GITHUB_API_KEY"]
として設定します。これは変数LLMCheatsheets.GITHUB_API_KEY
に自動的にロードされます。
次の手順に従って、GitHub API の個人アクセス トークンをセットアップできます。
次に、それをENV["GITHUB_API_KEY"]
またはLLMCheatsheets.GITHUB_API_KEY
として設定できます。
LLMCheatsheets.jl の使用方法の詳細については、ドキュメントを参照してください。
問題が発生した場合や質問がある場合は、GitHub リポジトリで問題を開いてください。