В моем предыдущем посте я говорил о запуске терминального приложения с открытым исходным кодом на базе GenAI. На этой неделе задачей было добавить новую функцию в проект другого пользователя. Поскольку нам пришлось сотрудничать с кем-то новым, я объединился с Лили, которая разработала приложение с функциями улучшения кода, похожими на мои, но у нее есть крысиный образ!
Если у вас будет время, не стесняйтесь взглянуть на ее проект-крысу-помощницу.
Ее код написан на TypeScript, и, честно говоря, у меня не так уж много опыта в этом. Я немного беспокоился о том, чтобы добавить новые функции, чтобы случайно ничего не сломать. Забавно: TypeScript кажется мне гораздо сложнее по сравнению с другими ООП-языками, такими как Java или C. Но я решил, что это хорошая возможность для обучения, поэтому решил погрузиться в это дело.
Нашей целью было добавить новую опцию (-t) для отображения использования токена как для ответа, так и для приглашения. Итак, я начал с открытия проблемы в ее репозитории, чтобы описать эту функцию, а затем форкнул проект для локальной работы.
Приложение использовало GROQ API для своих функций LLM, и, к счастью, существовал простой способ получить доступ к информации об использовании токена через поле «использование» в ответе API:
Поскольку приложение использовало yargs для аргументов командной строки, добавить еще один параметр было довольно просто. Я сделал так, чтобы, если пользователь указывал -t или --token-usage, приложение отображало информацию о токене в конце вывода вместе с ответом AI. Я протестировал его несколько раз и убедился, что он не нарушает существующие функции. Когда это было подтверждено, код был отправлен на мою вилку, и я сделал запрос на включение.
Прошло много времени с тех пор, как я делал запрос на включение, поэтому я быстро погуглил команды и обнаружил, что есть простой способ сделать это через VS Code (серьезно, где бы я был без него?).
Я добавил краткое описание новой функции и отправил запрос на включение:
Именно тогда пару часов назад я увидел уведомление о запросе на включение Лили в моем репозитории. Я быстро проверил код, протестировал его локально, и он отлично сработал! Я проверил, есть ли какие-либо проблемы с другими вариантами, и их не было. Я использовал API Gemini, поэтому он отличался от API завершения чата Open AI, обычно используемого другими, но ей все же удалось заставить его работать.
Я не нашел никаких проблем или улучшений, которые можно было бы предложить, поэтому принял ее запрос на включение и объединил его с основной веткой. Было очень весело (и нервно), когда кто-то внес свой вклад в ваш код, потому что вы не знаете, чего ожидать и возникнут ли у него проблемы из-за вашего рунического кода.
Но в итоге все прошло гладко, и это заставило меня оценить, как крупные проекты с открытым исходным кодом сотрудничают и асинхронно совершенствуются с помощью запросов на включение.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3