No Clocks

No Clocks

2764 bookmarks
Newest
Generative AI beginner's guide | Google Cloud
Generative AI beginner's guide | Google Cloud
Learn about generative AI workflows in Vertex AI, available models (including Gemini), and how to start building your generative AI app.
·cloud.google.com·
Generative AI beginner's guide | Google Cloud
AI agents
AI agents
An artificial intelligence (AI) agent refers to a system or program that is capable of autonomously performing tasks on behalf of a user or another system.
·ibm.com·
AI agents
An introduction to function calling and tool use
An introduction to function calling and tool use
In this blog post, we’ll explore how AI Models Are Learning to Do Instead of Just Say. We will explain how function calling works, its real-world applications, and how you can implement it using tools like Ollama and Llama 3.2. Whether you’re a developer looking to build AI-powered applications or simply curious about how AI is transforming the way we interact with APIs, this guide will walk you through everything you need to know.
·apideck.com·
An introduction to function calling and tool use
Describe R Stuff to Large Language Models
Describe R Stuff to Large Language Models
Provides a number of utilities for describing R objects and package documentation in plain text. For interactive use, this is especially powerful for describing relevant pieces of context to large language models. When used programmatically, these utilities can be registered with ellmer chats as tool calls, enabling language models to peruse package documentation and explore your computational environment.
·posit-dev.github.io·
Describe R Stuff to Large Language Models
Warp: The intelligent terminal
Warp: The intelligent terminal
Warp is the intelligent terminal with AI and your dev team's knowledge built-in. Available now on MacOS and Linux.
·warp.dev·
Warp: The intelligent terminal
HUD Open Data Site
HUD Open Data Site
The HUD-eGIS Storefront provides a one-stop shop where users can search for and discover HUD's geospatial datasets, web-based mapping, tools, and application program interfaces (APIs).
·hudgis-hud.opendata.arcgis.com·
HUD Open Data Site
HUD Open Data Site
HUD Open Data Site
The HUD-eGIS Storefront provides a one-stop shop where users can search for and discover HUD's geospatial datasets, web-based mapping, tools, and application program interfaces (APIs).
·hudgis-hud.opendata.arcgis.com·
HUD Open Data Site
Standalone shiny application with nhyris
Standalone shiny application with nhyris
Transform your R Shiny applications into standalone desktop apps with nhyris. This minimal framework leverages Electron to simplify packaging and distribution, ensuring your Shiny apps are cross-platform and easy to deploy. Learn how to get started, customize your project, and build your first Electron application with nhyris.
·blog.jahnen.io·
Standalone shiny application with nhyris
Ratios in Property Management Dashboards
Ratios in Property Management Dashboards
Don't make this simple mistake when calculating the average Rent per Square Foot. calculate average rent per square foot
·rentviewer.com·
Ratios in Property Management Dashboards
Three experiments in LLM code assist with RStudio and Positron - Tidyverse
Three experiments in LLM code assist with RStudio and Positron - Tidyverse
We've been experimenting with LLM-powered tools to streamline R data science and package development.
Twice a year, the tidyverse team sets a week aside for “spring cleaning,” bringing all of our R packages up to snuff with the most current tooling and standardizing various bits of our development process. Some of these updates can happen by calling a single function, while others are much more involved. One of those more involved updates is updating erroring code, transitioning away from base R (e.g.  stop()), rlang (e.g.  rlang::abort()), glue, and homegrown combinations of them. cli’s new syntax is easier to work with as a developer and more visually pleasing as a user.
In some cases, transitioning is almost as simple as Finding + Replacing rlang::abort() to cli::cli_abort():
# before: rlang::abort("`save_pred` can only be used if the initial results saved predictions.") # after: cli::cli_abort("{.arg save_pred} can only be used if the initial results saved predictions.")
In others, there’s a mess of ad-hoc pluralization, paste0()s, glue interpolations, and other assorted nonsense to sort through:
Thus was born clipal1, a (now-superseded) R package that allows users to select erroring code, press a keyboard shortcut, wait a moment, and watch the updated code be inlined in to the selection.
clipal was a huge boost for us in the most recent spring cleaning. Depending on the code being updated, these erroring calls used to take 30 seconds to a few minutes. With clipal, though, the model could usually get the updated code 80% or 90% of the way there in a couple seconds. Up to this point, irritated by autocomplete and frustrated by the friction of copying and pasting code and typing out the same bits of context into chats again and again, I had been relatively skeptical that LLMs could make me more productive. After using clipal for a week, though, I began to understand how seamlessly LLMs could automate the cumbersome and uninteresting parts of my work.
clipal itself is now superseded by pal, a more general solution to the problem that clipal solved. I’ve also written two additional packages like pal that solve two other classes of pal-like problems using similar tools, ensure and gander. In this post, I’ll write a bit about how I’ve used a pair of tools in three experiments that have made me much more productive as an R developer
After using clipal during our spring cleaning, I approached another spring cleaning task for the week: updating testing code. testthat 3.0.0 was released in 2020, bringing with it numerous changes that were both huge quality of life improvements for package developers and also highly breaking changes. While some of the task of converting legacy unit testing code to testthat 3e is relatively straightforward, other components can be quite tedious. Could I do the same thing for updating to testthat 3e that I did for transitioning to cli? I sloppily threw together a sister package to clipal that would convert tests for errors to snapshot tests, disentangle nested expectations, and transition from deprecated functions like ⁠expect_known_*(). ⁠(If you’re interested, the current prompt for that functionality is here.) That sister package was also a huge boost for me, but the package reused as-is almost every piece of code from clipal other than the prompt. Thus, I realized that the proper solution would provide all of this scaffolding to attach a prompt to a keyboard shortcut, but allow for an arbitrary set of prompts to help automate these wonky, cumbersome tasks.
The next week, pal was born. The pal package ships with three prompts centered on package development: the cli pal and testthat pal mentioned previously, as well as the roxygen pal, which drafts minimal roxygen documentation based on a function definition. Here’s what pal’s interface looks like now:
ensure
While deciding on the initial set of prompts that pal would include, I really wanted to include some sort of “write unit tests for this function” pal. To really address this problem, though, requires violating two of pal’s core assumptions:
All of the context that you need is in the selection and the prompt. In the case of writing unit tests, it’s actually pretty important to have other pieces of context. If a package provides some object type potato, in order to write tests for some function that takes potato as input, it’s likely very important to know how potatoes are created and the kinds of properties they have. pal’s sister package for writing unit tests, ensure, can thus “see” the rest of the file that you’re working on, as well as context from neighboring files like other .R source files, the corresponding test file, and package vignettes, to learn about how to interface with the function arguments being tested.
The LLM’s response can prefix, replace, or suffix the active selection in the same file. In the case of writing unit tests for R, the place that tests actually ought to go is in a corresponding test file in tests/testthat/. Via the RStudio API, ensure can open up the corresponding test file and write to it rather than the source file where it was triggered from.3
gander
·tidyverse.org·
Three experiments in LLM code assist with RStudio and Positron - Tidyverse