LLMCheatsheets.jl — это пакет Julia, который позволяет легко и мгновенно обучать модели ИИ новым пакетам и репозиториям, создавая шпаргалки из репозиториев GitHub. Этот инструмент устраняет разрыв между удобочитаемой документацией и представлением знаний, удобным для искусственного интеллекта, обеспечивая плавную интеграцию с языковыми моделями и помощниками искусственного интеллекта.
По умолчанию мы берем подмножество папок и файлов в предоставленном репозитории и суммируем их с помощью LLM в единую шпаргалку.
Чтобы установить LLMCheatsheets.jl, используйте менеджер пакетов Julia и URL-адрес репозитория (он еще не зарегистрирован):
using Pkg
Pkg . add (url = " https://github.com/svilupp/LLMCheatsheets.jl " )
Кончик
Если вы столкнулись с ограничениями скорости при доступе к API GitHub, вы можете настроить личный токен доступа и установить его как переменную среды GITHUB_API_KEY
чтобы увеличить лимит запросов до 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 " ])
Вы можете использовать другой LLM, передав аргумент model
функциям.
create_cheatsheet (repo; save_path = true , model = " gpt4om " )
Вы можете предоставить специальные инструкции, которые помогут ИИ создать шпаргалку:
create_cheatsheet (repo; special_instructions = " Focus on the data structures and their interactions. " )
Вы также можете просто экспортировать функции ai* из PromptingTools.jl, чтобы использовать их с 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, вы можете уменьшить количество одновременных задач суммирования в create_cheatsheet
, установив меньшее число, например ntasks=5
или ntasks=2
(зависит от вашего уровня API).
Настройте личный токен доступа и установите его как ENV["GITHUB_API_KEY"]
. Он будет автоматически загружен в переменную LLMCheatsheets.GITHUB_API_KEY
.
Вы можете настроить личный токен доступа для GitHub API, выполнив следующие действия:
Затем вы можете установить его как ENV["GITHUB_API_KEY"]
или LLMCheatsheets.GITHUB_API_KEY
.
Для получения дополнительной информации об использовании LLMCheatsheets.jl обратитесь к документации.
Если у вас возникнут какие-либо проблемы или возникнут вопросы, откройте проблему в репозитории GitHub.