How to parse tool calls from OpenAI, Anthropic and Google
How to turn tool calls from different LLM providers into one common interface without losing the identifiers that correlate each result.
InputBash<div class="pulser1"></div><style>.pulser1 {width: 30px;height: 30px;background-color: #09f;border-radius: 50%;position: relative;}.pulser1:hover {scale: 2;background: purple;box-shadow: 0 0 10px purple;}</style>Copied
InputBash<div class="pulser2"></div><style>.pulser2 {width: 30px;height: 30px;background-color: #09f;border-radius: 50%;position: relative;transition: 1s;}.pulser2:hover {scale: 2;background: purple;box-shadow: 0 0 10px purple;}</style>Copied
InputBash<div class="pulser3"></div><style>.pulser3 {width: 30px;height: 30px;background-color: #09f;border-radius: 50%;position: relative;}.pulser3:hover {scale: 2;background: purple;box-shadow: 0 0 10px purple;}.pulser3 {transition: 1s;}.pulser3 {transition-property: background-color, scale;}</style>Copied
InputBash<svg width="220" height="220" viewBox="0 0 220 220"><title xml:lang="en">Planets loader</title><circle id="orbit1" cx="50%" cy="50%" r="55px" fill="none" stroke="#f8f3dc" /><circle id="orbit2" cx="50%" cy="50%" r="75px" fill="none" stroke="#f8f3dc" /><circle id="orbit3" cx="50%" cy="50%" r="95px" fill="none" stroke="#f8f3dc" /><circle id="sun" cx="50%" cy="50%" r="28px" fill="#fecb2f" /><circle id="mars" cx="50%" cy="50%" r="8px" fill="#69b3b2" /><circle id="mercury" cx="50%" cy="50%" r="8px" fill="#fa3757" /><circle id="saturn" cx="50%" cy="50%" r="8px" fill="#ffa4a4" /></svg><style>@keyframes rotation {from {transform: rotate(0deg)translate(var(--translate))rotate(0deg);}to {transform: rotate(360deg)translate(var(--translate))rotate(-360deg);}}#mercury {--translate: -55px;animation: rotation 4s linear infinite;}#mars {--translate: -75px;animation: rotation 5s -1s linear infinite;}#saturn {--translate: -95px;animation: rotation 8s -3s linear infinite;}</style>Copied
InputBash<section class="porto"><div class="content-container flex-wrapper"><div class="vertical-scroll-container"><img onerror="this.parentNode.removeChild(this)" src="https://marianabeldi.github.io/scroll-driven-sardinas/img/porto1.svg" alt="sardinas bajo en sodio"><img onerror="this.parentNode.removeChild(this)" src="https://marianabeldi.github.io/scroll-driven-sardinas/img/porto2.svg" alt="sardinas sin piel"><img onerror="this.parentNode.removeChild(this)" src="https://marianabeldi.github.io/scroll-driven-sardinas/img/porto3.svg" alt="sardinas en agua"><img onerror="this.parentNode.removeChild(this)" src="https://marianabeldi.github.io/scroll-driven-sardinas/img/porto4.svg" alt="sardinas al limon"></div></div></section><style>.porto {color: #f5dbc8;padding: 32px;text-align: center;}.porto p {font-size: 1.1rem;font-weight: 500;letter-spacing: 0.03em;max-width: 40ch;}.flex-wrapper {align-items: center;display: flex;justify-content: center;gap: 2rem;}.content-container {margin-inline: auto;width: 90vw;}.vertical-scroll-container {align-items: center;display: flex;flex-direction: column;/* flex: 1 1 50%; */gap: 6rem 0;min-width: 400px;overflow-y: scroll;scrollbar-color: #3848a0 #1b2767;scroll-snap-type: y mandatory;padding: 200px 20px;height: 100px;}.vertical-scroll-container img {scroll-snap-align: center;width: 400px;animation: slideInOut;animation-timeline: view();}@keyframes slideInOut {from {transform: scale(.8) translateY(100px);opacity: 0;}to {transform: scale(1) translateY(0);opacity: 1;}0% {transform: scale(1) translateY(0);opacity: 1;}100% {transform: scale(.8) translateY(-100px);opacity: 0}}@media screen and (max-width: 40em) {.vertical-scroll-container img {padding: 0;width: 300px;}}</style>Copied
InputBash<div class="animation-contanier"><div class="wrapper"><div class="static-text">for your</div><ul class="dynamic-text"><li><span>Slack Channels</span></li><li><span>GitHub Repositories</span></li><li><span>Jira Boards</span></li><li><span>Trello Boards</span></li><li><span>GitLab Repositories</span></li><li><span>Google Drives</span></li><li><span>One Drives</span></li><li><span>Slack Groups </span></li><li><span>Google Events</span></li><li><span>Microsoft Events</span></li><li><span>Keeper Folder</span></li></ul></div></div><style>.wrapper {display: inline-flex}.wrapper .static-text {font-size: 2.7rem;color: #fff;font-weight: 400;}.wrapper .dynamic-text{top: -4px;margin-left: 15px;height: 85px;line-height: 1.5;position: relative;overflow: hidden;}.dynamic-text li{color: yellow;background-color: #1e263f;list-style: none;font-size: 2.7rem;font-size: 60px;position: relative;animation: slide 22s steps(11) infinite;top: 0;}@keyframes slide {100% {top: -990px;}}.dynamic-text li span{position: relative;}.dynamic-text li span::after{content: "";position: absolute;height: 100%;width: 100%;border-left: 2px solid #fff;background-color: #1e263f;padding: 5px;left: 0;animation: typing 2s steps(17) infinite;}@keyframes typing {60%, 100% {left: 100%;margin: 0 -40px 0 40px;}}</style>Copied
InputBash<div class="animated rotateInDownRight">Example</div><style>@keyframes rotateInDownRight {from {-webkit-transform-origin: right bottom;transform-origin: right bottom;-webkit-transform: rotate3d(0, 0, 1, 45deg);transform: rotate3d(0, 0, 1, 45deg);opacity: 0;}to {-webkit-transform-origin: right bottom;transform-origin: right bottom;-webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);opacity: 1;}}.animated {-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-fill-mode: both;animation-fill-mode: both;animation: rotateInDownRight 1s linear infinite;}</style>Copied
How to turn tool calls from different LLM providers into one common interface without losing the identifiers that correlate each result.
A practical guide to designing tools an LLM can discover, adapting them to any LLM provider, executing them safely, and ...
How the Gymnasia AI agent is built: a BYOK conversational coach with local tools and a food estimator that reads macros ...
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
AI agents, powered by LLMs, promise to transform applications. But are they simple executors today or future intelligent collaborators? To reach their...
Learn to create an IA system to execute efficiently on a device
Hugging Face spaces allow us to run models with very simple demos, but what if the demo breaks? Or if the user deletes it? That's why I've created docker containers with some interesting spaces, to be able to use them locally, whatever happens. In fact, if you click on any project view button, it may take you to a space that doesn't work.
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
Dataset with jokes in English
Use: Fine-tuning text generation models for humor
Dataset with translations from English to Spanish
Use: Training English-Spanish translation models
Dataset with Netflix movies and series
Use: Netflix catalog analysis and recommendation systems