Садржај поста
Всем привет! Продолжаю погружаться в мир LLM и поражаться, сколько всего уже сделано. Сегодня изучал Model Context Protocol (MCP) — протокол, позволяющий научить LLM работать с внешними инструментами, например, с Git. Сегодня был в шоке от того, насколько круто это реализовано. Например, мы хотим добавить команды Git. Сначала описываем, какие есть доступные инструменты: Tool( name=GitTools.STATUS, description="Shows the working tree status", inputSchema=GitStatus.schema(), ) Так LLM узнаёт о доступных возможностях и о том, в каком формате требуется ввод для каждого «инструмента». После того как мы познакомили LLM с доступными инструментами, добавляем функцию обработки команд. Например, для Git это будет выглядеть так: @server.call_tool() async def call_tool(name: str, arguments: dict) -> list[TextContent]: ... repo = git.Repo(repo_path) match name: case GitTools.STATUS: status = git_status(repo) return [TextContent( type="text", text=f"Repository status:\n{status}" )] Я удивлён, насколько это просто! Возник вопрос для знатоков! Как вы добавляете в контекст внутреннюю документацию, которая не доступна по публичным ссылкам. Оставляйте комментарии - обменяемся опытом