Lars Grammel Profile Banner
Lars Grammel Profile
Lars Grammel

@lgrammel

1,616
Followers
291
Following
372
Media
2,342
Statuses

Software Engineer @vercel (AI SDK)

Joined May 2009
Don't wanna be here? Send us removal request.
@lgrammel
Lars Grammel
6 months
Function calling with ModelFusion & OpenHermes 2.5 @Teknium1 🚀 This is the first time automatic function selection & calls work well for me with open source 7B models. Super excited about the potential for assistants that are powered by open source models. @Ollama_ai example:
Tweet media one
4
19
231
@lgrammel
Lars Grammel
2 months
Today is my first day at @vercel - super excited to help build the AI SDK!
29
2
187
@lgrammel
Lars Grammel
1 year
Rubberduck is an AI chatbot for developers. Here are a few ways how Rubberduck takes ChatGPT-like chat interfaces to the next level 👇
Tweet media one
3
13
154
@lgrammel
Lars Grammel
1 year
Introducing Rubberduck, the chat assistant that makes coding easier! Get help with code explanations, error diagnosis, and more, all within your IDE. Sign up for the alpha waitlist to try it out:
Tweet media one
3
12
137
@lgrammel
Lars Grammel
1 month
We shipped four new experimental functions in the AI SDK v3.0.15 that simplify calling LLMs: ◆ Text generation and streaming, including tool calling ◆ Structured object (JSON) generation and streaming You can use them with our OpenAI and Mistral providers.
Tweet media one
11
12
152
@lgrammel
Lars Grammel
1 year
GPTAgent.js v0.0.6 🤖 Example implementation of @yoheinakajima 's BabyAGI in TypeScript New model: gpt-3.5-turbo support #BabyAGI #typescript
Tweet media one
7
5
85
@lgrammel
Lars Grammel
1 month
Vercel AI SDK v3.0.19 adds tool use to the ai/core Anthropic provider. You can use it with generateText and generateObject:
Tweet media one
@AnthropicAI
Anthropic
1 month
Tool use is now available in beta to all customers in the Anthropic Messages API, enabling Claude to interact with external tools using structured outputs.
70
288
2K
7
8
86
@lgrammel
Lars Grammel
30 days
Vercel AI SDK v3.0.20 moves the following features out of experimental: ◆ StreamData ◆ useAssistant & AssistantResponse It also adds streaming support to AWS Bedrock/Cohere. Here's an updated example useCompletion route for the Next.js app router:
Tweet media one
5
4
84
@lgrammel
Lars Grammel
15 days
You can use Vercel AI SDK Core functions with OpenAI-compatible providers such as Groq, Perplexity and Fireworks. Here are a few example chat routes for the Next.js app router with streamText:
Tweet media one
Tweet media two
Tweet media three
7
6
73
@lgrammel
Lars Grammel
1 month
Vercel AI SDK v3.0.18 adds an Anthropic AI provider that can be used with streamText and generateText (only messages API, no tool calls yet). Here's a multi-modal text streaming example:
Tweet media one
6
5
65
@lgrammel
Lars Grammel
6 months
Wrapped up my first week contributing to the @vercel AI SDK. Super exciting project - great UI integrations and client/server interactions will take AI apps to the next level.
2
2
61
@lgrammel
Lars Grammel
6 months
The @vercel AI SDK supports ModelFusion streaming out of the box 🤯 Here is an example of using @Ollama_ai / Llama 2 chat with the AI SDK and ModelFusion:
Tweet media one
1
3
53
@lgrammel
Lars Grammel
5 months
I've added support for the @ollama chat API to ModelFusion. The API makes creating chatbots much easier! Here's a complete console chatbot example:
Tweet media one
2
8
45
@lgrammel
Lars Grammel
27 days
Update for AI SDK v3.0.22: The providers for the experimental AI Core functions (OpenAI, Mistral, Google, Anthropic) are now split into separate packages within the ai-sdk NPM org. You need to install the necessary packages to continue using these functions. Example usage:
Tweet media one
3
1
44
@lgrammel
Lars Grammel
17 days
The latest AI provider versions for the Vercel AI SDK simplify calling LLMs further. You don't need to specify the API via .chat() or .completion() any more when you use them with generateText, streamText, generateObject or streamObject:
Tweet media one
Tweet media two
Tweet media three
Tweet media four
6
1
43
@lgrammel
Lars Grammel
4 months
@abacaj I wonder if we truly want agents with full autonomy or if we actually want more restricted automation (that can still involve LLMs, RAG and so forth), especially in a business context?
3
0
41
@lgrammel
Lars Grammel
28 days
With OpenAI GPT-4-Turbo you can now use tools and multi-modal inputs at the same time. You can leverage this feature to derive structured data directly from images. Here is an example that uses generateObject from the AI SDK to describe and critique AI-generated art:
Tweet media one
Tweet media two
Tweet media three
0
2
40
@lgrammel
Lars Grammel
12 years
Tweet media one
3
45
33
@lgrammel
Lars Grammel
1 month
AI SDK v3.0.17 adds a Google Generative AI provider that can be used with streamText and generateText (incl. tool calls). Here's a command line gemini-pro chatbot:
Tweet media one
3
3
32
@lgrammel
Lars Grammel
14 days
The OpenAI provider for the Vercel AI SDK v0.0.7 supports object generation and streaming for @FireworksAI_HQ Here are examples that use firefunction-v1:
Tweet media one
Tweet media two
3
3
35
@lgrammel
Lars Grammel
1 year
In the next few days, I'll be building an open source chatbot extension for #vscode that uses #OpenAI #GPT . It'll be able to explain code, diagnose errors, and more. You can follow along in this twitter thread. #buildinpublic
Tweet media one
1
4
28
@lgrammel
Lars Grammel
6 months
Guide for running the BakLLaVA Vision LLM ( @far__el ) with llama.cpp ( @ggerganov ) and ModelFusion🤖👀
Tweet media one
@lgrammel
Lars Grammel
6 months
🚀 Exciting update! ModelFusion now supports multi-modal inputs (text & images) through llama.cpp @ggerganov ModelFusion + BakLLaVA in action 🎥👇
1
0
6
0
2
23
@lgrammel
Lars Grammel
10 months
@SullyOmarr @vercel I've been hacking on something similar in my spare time, bc I wanted something vendor-neutral. Would love to hear what you think.
1
2
22
@lgrammel
Lars Grammel
4 months
🧪With LLMs, you can easily generate fully typed, structured data, e.g. for tests, webpage content, and database seeding. My latest blog explores using @ollama and @Teknium1 's Nous-Hermes 2 Mixtral alongside Zod and ModelFusion for this use case. Here is the example code:
Tweet media one
1
4
20
@lgrammel
Lars Grammel
3 years
@curtiseinsmann Beautiful comment, explains the regexp so well 🤩 When you come across a complicated regexp without such a comment, using a tool like can help:
Tweet media one
1
1
19
@lgrammel
Lars Grammel
4 months
My take is that eventually almost all apps will include AI features. AI engineering will just be part of building apps, and it'll often happen in the language that the app is being built in. And many web apps are built in JS/TS.
@hrishioa
Hrishi
4 months
Controversial bet: JS/TS will win over python in the LLM space. Not for orchestrating models, but for application building. Quick reasons: 1. Easier packaging and delivery 2. LLM infra+orchestration will stabilize. Once you can run models efficiently with guided generation, you…
24
10
121
2
5
19
@lgrammel
Lars Grammel
3 months
@nisten @abacaj Not sure about that. I compared mistral-medium through the Mistral API with miqu-q5 using llama.cpp. They are pretty close for what I test (thought not exactly the same, and I didn't test code).
Tweet media one
Tweet media two
Tweet media three
Tweet media four
1
1
19
@lgrammel
Lars Grammel
1 month
First use of streamObject in the wild 🤩
@miiura
Yoshiki Miura
1 month
Introducing morph: a fully open-source AI-powered answer engine with a generative UI. Built with @vercel AI SDK, it delivers awesome streaming results. 👇 More details
90
193
1K
3
0
18
@lgrammel
Lars Grammel
6 months
I've added the ChatML prompt format to ModelFusion to support Open Hermes 2.5 by @Teknium1 Open Hermes 2.5 is currently on 2nd place in the @huggingface Open LLM leaderboard for the 7B class - it's a really good model that you can easily run on an M1 MacBook.
Tweet media one
@Teknium1
Teknium (e/λ)
6 months
Today I am releasing Open Hermes 2.5! This model used the Hermes 2 dataset, with an added ~100k examples of Code Instructions, created by @GlaiveAI ! This model was originally meant to be OpenHermes-2-Coder, but I discovered during the process that it also improved almost every…
Tweet media one
48
137
1K
0
1
17
@lgrammel
Lars Grammel
6 years
And last but not least, we've moved into our new @trifacta office in Berlin, and are looking for software engineers, customer solution architects, and customer success managers:
Tweet media one
Tweet media two
Tweet media three
0
6
16
@lgrammel
Lars Grammel
6 months
Documentation for using the Vercel AI SDK, ModelFusion & Ollama:
@lgrammel
Lars Grammel
6 months
The @vercel AI SDK supports ModelFusion streaming out of the box 🤯 Here is an example of using @Ollama_ai / Llama 2 chat with the AI SDK and ModelFusion:
Tweet media one
1
3
53
1
3
16
@lgrammel
Lars Grammel
8 years
Trifacta is looking for a #UX designer in Berlin - design the future of working with data!
Tweet media one
0
9
14
@lgrammel
Lars Grammel
6 months
@morgymcg @Teknium1 @jxnlco it’s much weaker than gpt-4 in my experience
@lgrammel
Lars Grammel
6 months
In my experiments w/ parallel function calls, I used gpt-4-1106-preview to solve middle-school math problems. Previously GPT-4 got all of them right. The new gpt-4-1106-preview does not. And I'm not the only one noticing this quality drop:
0
0
11
0
1
14
@lgrammel
Lars Grammel
4 months
Here's how I think about the software stack for LLM inference, from a JS/TS dev point of view: There are 6 levels that build on one another: 1) The model: the actual model that will be executed at inference time. Sometimes it's the providers models (e.g. GPT-4 et al for…
2
0
14
@lgrammel
Lars Grammel
3 months
TDD: Twitter Driven Development When you just add the next hacky thing to your app to get likes & retweets.
1
0
13
@lgrammel
Lars Grammel
3 years
@catalinmpit What are you looking for in particular? I've 30+ years of programming experience and I've worked / am working with all those technologies, but I usually just figure stuff & get it done as I need to - so don't necessarily have the depth that might be required for this.
0
0
13
@lgrammel
Lars Grammel
4 months
Some thoughts on LLM APIs and client libraries: Right now there is a trend that every LLM provider (OpenAI, Anthropic, Google, Mistral, Ollama...) has a unique API and is implementing client libraries for Python, JS, etc. This makes a lot of sense for branding reasons and to…
2
2
13
@lgrammel
Lars Grammel
7 months
🎉 ModelFusion has just hit 500 stars on GitHub! 🎉 Thanks to everyone for the incredible support. Your contributions and feedback are driving this project forward! Explore the current state of ModelFusion: #OpenSource #AI #TypeScript #MachineLearning
Tweet media one
1
2
13
@lgrammel
Lars Grammel
6 months
Next.js, @vercel AI SDK, Llama.cpp (by @ggerganov ), and ModelFusion starter with examples for: - Llama 2 chat - Mistral 7B ( @MistralAI ) - OpenHermes 2.5 ( @Teknium1 )
Tweet media one
2
1
12
@lgrammel
Lars Grammel
3 years
@afilina @KentBeck Oh yes, so true! It also means that the situation will only get worse, not better, since the developers won't have the time to refactor and clean up technical debt.
2
0
12
@lgrammel
Lars Grammel
1 year
✨Rubberduck for VS Code 1.0✨ Use AI-powered code edits, explanations, test generation, error diagnosis, and chat with the official OpenAI API. Rubberduck is open source! 👇
1
4
12
@lgrammel
Lars Grammel
6 months
In my experiments w/ parallel function calls, I used gpt-4-1106-preview to solve middle-school math problems. Previously GPT-4 got all of them right. The new gpt-4-1106-preview does not. And I'm not the only one noticing this quality drop:
0
0
11
@lgrammel
Lars Grammel
1 month
You can find out more in our docs: The new functions are currently experimental - we'd love to get your feedback!
1
1
11
@lgrammel
Lars Grammel
8 months
ModelFusion v0.26.0 released 🎉 Added @lmnt_com text-to-speech integration. With LMNT, you can transform your text into dynamic and captivating speech in the blink of an eye! 🚀🔊 Learn more:
0
5
11
@lgrammel
Lars Grammel
8 years
The weird things humans do with spreadsheets #csvconf
Tweet media one
0
4
11
@lgrammel
Lars Grammel
1 year
@JayScambler @yoheinakajima I wrote yet another TypeScript version of BabyAGI:
@lgrammel
Lars Grammel
1 year
GPTAgent.js v0.0.6 🤖 Example implementation of @yoheinakajima 's BabyAGI in TypeScript New model: gpt-3.5-turbo support #BabyAGI #typescript
Tweet media one
7
5
85
2
1
11
@lgrammel
Lars Grammel
6 months
Function call prompt inspired by @abacaj with a few improvements that increased robustness for me:
Tweet media one
@abacaj
anton
6 months
Some folks were asking how to do the function calling with openhermes-2.5, notebook is posted here now
Tweet media one
15
28
274
1
1
11
@lgrammel
Lars Grammel
6 months
🚀 New in ModelFusion: @Ollama_ai support! Use Ollama's local text generation, streaming, and embedding within your ModelFusion apps. Text streaming:
Tweet media one
1
2
11
@lgrammel
Lars Grammel
6 years
Google Cloud Dataprep by @trifacta , the product I've been working on for the past 2 years, has been updated with many new features and a design refresh:
1
5
11
@lgrammel
Lars Grammel
4 years
@jankeromnes @tlakomy Yes! I totally agree on the cost of unit tests, with one exception: they are great for testing algorithms with clearly defined, small interfaces. I usually go with the guideline from
Tweet media one
0
0
10
@lgrammel
Lars Grammel
4 months
@rohanpaul_ai For JS/TS, you can use llama.cpp and ModelFusion generateStructure. It automatically generates and uses GBNF grammars to constrain the output.
Tweet media one
0
0
10
@lgrammel
Lars Grammel
8 years
I'm looking for #devops engineers to join the @trifacta team in #Berlin - work with #gcp , #aws , #hadoop and more
0
16
9
@lgrammel
Lars Grammel
4 months
Streaming AI-generated, structured data w/ React & Ollama:
1
0
9
@lgrammel
Lars Grammel
1 month
2
1
10
@lgrammel
Lars Grammel
3 years
@oliverjumpertz @svpino Very true! However, if you don't ask for growth opportunities, or to work on areas/projects you want to work on, or to do open source or whatever it is - your manager / the company will not read your mind and give it to you. It's very important to be proactive and ask imo.
1
0
10
@lgrammel
Lars Grammel
3 months
I added an object generator tool to ModelFusion that creates structured outputs using JSON schemas. It could be quite useful for generating fictional data, e.g. for RPGs. Here is an example that generates enemies in a fantasy world:
Tweet media one
Tweet media two
Tweet media three
2
1
10
@lgrammel
Lars Grammel
4 years
Love this idea! Here are the software engineering books from my shelf that I’d recommend:
Tweet media one
@macerub
Mario Cervera
4 years
📚 This is my shelf of technical books. I would recommend all of them. They contain invaluable knowledge. ❓ Do you have any question about any of these books? If you do, you can leave me a comment in this tweet. I promise that I will do my best to answer 🙂
Tweet media one
27
33
255
4
0
10
@lgrammel
Lars Grammel
4 months
Streaming AI-generated objects with Next.js 14 & OpenAI gpt-4-turbo:
2
1
10
@lgrammel
Lars Grammel
7 years
Very excited and proud that Cloud Dataprep is now publicly available:
@Trifacta
Trifacta is now part of Alteryx—analytics for all!
7 years
Built in collaboration w/ Trifacta, @googlecloud Dataprep is now available in public beta! Explore the features:
0
23
30
0
1
9
@lgrammel
Lars Grammel
5 months
✨Introducing WhisperWriter ✨ A local & private voice controlled transcription panel Using Next.js, whisper.cpp, ModelFusion, and voice activity detection. (turn on audio; the transcriptions are better than what's in the video if you use stronger models)
1
0
8
@lgrammel
Lars Grammel
4 months
Flow engineering is here to stay. It is about communicating context and applying constraints to LLMs to achieve the desired outcome for a use case, and is an integral part of AI engineering.
@karpathy
Andrej Karpathy
4 months
Prompt engineering (or rather "Flow engineering") intensifies for code generation. Great reading and a reminder of how much alpha there is (pass @5 19% to 44%) in moving from a naive prompt:answer paradigm to a "flow" paradigm, where the answer is constructed iteratively.
Tweet media one
125
545
3K
0
1
9
@lgrammel
Lars Grammel
4 months
@ggerganov I've revamped the JS/TS client for llama.cpp server in ModelFusion. It is afaik the most complete client that's available for the llama.cpp server in JS/TS. It includes: - text generation - text streaming - structure generation with automatic gbnf creation from json…
2
0
8
@lgrammel
Lars Grammel
3 years
Learning tip New libraries, frameworks and programming languages come out *all the time*. A solid understanding of software engineering concepts is the key to learning them quickly - focus on the foundations that rarely change and the rest will be much easier!
0
3
8
@lgrammel
Lars Grammel
14 years
Great intro to #CSS resets: http://bit.ly/9zhzKP
0
3
8
@lgrammel
Lars Grammel
5 months
Added @MistralAI support to ModelFusion 🚀
Tweet media one
1
0
8
@lgrammel
Lars Grammel
11 months
New JS library I've been working on for the past few weeks (it's still early / experimental): It takes care of some of the annoying stuff when calling model APIs (e.g., retries, logging, throttling) and provides a simpler API:
Tweet media one
1
0
8
@lgrammel
Lars Grammel
3 years
Tech debt is such a negative metaphor. We could also think about removing tech debt as tech investment, and selling the benefits it creates (such as increased velocity, code quality, developer morale & retention, ability to hire) - without even calling it debt 🤔
3
1
8
@lgrammel
Lars Grammel
4 months
The @perplexity_ai online LLMs are brilliant. Up-to-date information from the web, exposed through a standard LLM interface. And the speed of their RAG is impressive. Gamechanger, especially for news.
Tweet media one
2
0
7
@lgrammel
Lars Grammel
6 years
I'm very excited that August is starting off with lots of announcements & goodness at @trifacta
1
0
8
@lgrammel
Lars Grammel
3 years
@catalinmpit GKE Kubernetes clusters are also down it seems. Fun Monday.
1
0
8
@lgrammel
Lars Grammel
8 years
Want to work on a #javascript app that redefines working w/ data? Apply to @trifacta #Berlin
Tweet media one
0
9
8
@lgrammel
Lars Grammel
9 months
I always enjoy the talks at the Berlin AI meetups. Today @langfuse was presenting on metrics and observability for LLMs.
Tweet media one
0
1
7
@lgrammel
Lars Grammel
1 year
⚡introducing chatbot.js ⚡ Setup your own AI chatbot HTTP server in less than 3 minutes. You can configure a chat template and access past messages. It's super basic atm, but it'll grow 🌱 #javascript #openai #NodeJS
0
1
7
@lgrammel
Lars Grammel
3 months
@nisten @abacaj For the mars calculation task I'm getting different results in llama.cpp (max 1024 tokens). Not saying that this is mistral-medium, but the difference seems to be closer than what I thought after seeing your tweet.
Tweet media one
Tweet media two
0
1
7
@lgrammel
Lars Grammel
9 months
Introducing ModelFusion: Build AI apps with JavaScript and TypeScript. ModelFusion is a toolbox, not a limiting framework. It's designed to grant you the full power and control over calling the AI models while keeping things clear and accessible.
0
1
6
@lgrammel
Lars Grammel
5 months
New blog post: Create your own local chatbot with Next.js, Ollama, OpenHermes 2.5 Mistral, the Vercel AI SDK, and ModelFusion.
0
0
6
@lgrammel
Lars Grammel
3 years
@oliverjumpertz Great tip! Got inpired and added it to the VS Code extension I'm developing - now I get automatically reminded about the exponentiation operator :)
1
0
7
@lgrammel
Lars Grammel
3 years
Love the current tech stack that I'm using: - Language: @typescript - Frontend @reactjs @MaterialUI #nextjs - Server: #nextjs #Kotlin - Backend: #graphql @HasuraHQ @PostgreSQL - Deployment on @kubernetesio @GCPcloud Most of it has been invented in the last 5-10 years 🤯
0
0
6
@lgrammel
Lars Grammel
3 years
I'm pretty happy with how powerful P42 is becoming. Here's an example of refactoring a small JS function using only automated code actions (no error-prone manual changes). I chain together 11 P42 refactorings and one VS Code cleanup to arrive at a much simpler function:
2
2
6
@lgrammel
Lars Grammel
3 years
P42+ adds repository analysis, automated pull request and commit review, and bulk changes for folders to complement the @p42ai JavaScript Assistant functionality. If you are using #GitHub , give it a try! It's free for public open-source projects. #javascript #typescript
@p42ai
P42 JS Assistant
3 years
Since the first private beta release exactly a year ago, P42 has grown from a code modernization tool for #GitHub to a programming assistant for #JavaScript and #TypeScript . P42 for GitHub has received a significant updated and is now P42+. Learn more:
0
1
4
0
3
5
@lgrammel
Lars Grammel
11 years
~"Given the starvation potential Node isn't a solution for CPU intensive problems. It's a solution for I/O problems." http://t.co/uvlnd4Qqvf
0
2
6
@lgrammel
Lars Grammel
6 months
🚀 ModelFusion now integrates SQLite as a vector store through SQLite VSS by @agarcia_me A huge shoutout to @experilearning for their amazing contribution to this extension. 🙌 Learn more:
Tweet media one
0
0
6
@lgrammel
Lars Grammel
2 years
Are you working on #JavaScript or #TypeScript projects in #vscode ? Here are 6 extensions that improve your editing experience with AI-generated code completions, automated formatting, linting, spell checking, and automated refactorings:
1
3
4
@lgrammel
Lars Grammel
4 years
@shreyas @giridharvc7 My experience: WAYRTTD is great to focus on a core issue - the 5 Whys can help identify layers of a problem and invest in fixing the problem at all those layers (e.g. in software engineering, fix the bug, improve logging to find it earlier, and improve the testing).
0
1
6
@lgrammel
Lars Grammel
3 years
Tired of modernizing your JavaScript and TypeScript code manually? I've created a codemod tool that helps you use new language features and apply best practices. You can directly open GitHub pull requests with suggestions. Check out P42: #buildInPublic
1
3
6
@lgrammel
Lars Grammel
10 years
great analogy by @jeffrey_heer "encounters with new data should bring the child-like excitement of opening a present" http://t.co/8NdEjWn4FR
1
2
6
@lgrammel
Lars Grammel
1 year
JS Agent v0.0.15 - New PDF summarizer example with GPT-4 and extract & rewrite pipeline - PDF loading - Better text extraction prompts - Changed summarize to extract text #ChatGPT #buildinpublic
0
0
6
@lgrammel
Lars Grammel
8 years
Care about data tools and quality? We're looking for a quality engineer @trifacta #Berlin
Tweet media one
0
6
4
@lgrammel
Lars Grammel
6 months
Function calling with OpenHermes 2.5, llama.cpp @ggerganov , and ModelFusion:
Tweet media one
1
0
6
@lgrammel
Lars Grammel
6 months
🚀 Exciting update! ModelFusion now supports multi-modal inputs (text & images) through llama.cpp @ggerganov ModelFusion + BakLLaVA in action 🎥👇
1
0
6
@lgrammel
Lars Grammel
1 year
Early module dependency visualization prototype that I've started to work on:
1
1
6
@lgrammel
Lars Grammel
4 years
Great insights on the shift to remote work this decade. Corona triggered it, but the new way of working (and living) is here to stay.
@chris_herd
Chris Herd
4 years
I've spoken to around 1,000 companies over the last 6 months about their plans for remote work going forward Here are a few things I've learned [ a thread ] 💻🏠🌍
435
5K
11K
2
2
6
@lgrammel
Lars Grammel
1 year
Chatting with an AI right next to your code is a pretty exciting experience. Building this feature was fun, and to my surprise, I started enjoying trying to understand unfamiliar code more, even when the AI answers were not always accurate.
@p42ai
P42 JS Assistant
1 year
✨ JS Assistant 2.10✨ New: Chat with AI about code explanations
0
1
3
0
0
6
@lgrammel
Lars Grammel
4 months
@abacaj Yeah. I've implemented that in some limited fashion in business contexts, and it works fairly well. Flow engineering will eventually evolve into that direction for some harder problems imo.
1
0
6
@lgrammel
Lars Grammel
6 years
We've upgraded our Trifacta Wrangler product with the latest and greatest features:
1
0
6