genetic-programming
sketch
genetic-programming | sketch | |
---|---|---|
1 | 20 | |
5 | 2,197 | |
- | -0.0% | |
10.0 | 4.4 | |
over 8 years ago | 4 months ago | |
Common Lisp | Python | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
genetic-programming
-
Replacing a SQL analyst with 26 recursive GPT prompts
A couple of thoughts jumped out after reading this: transforms and meta-learning.
An old trick in AI is to transform the medium to Lisp because it can be represented as a syntax-free tree that always runs. In this case, working with SQL directly led to syntax errors which returned no results. It would probably be more fruitful to work with relational algebra and tuple relational calculus (I had to look that up hah) represented as Lisp and convert the final answer back to SQL. But I'm honestly impressed that ChatGPT's SQL answers mostly worked anyway!
https://en.wikipedia.org/wiki/Genetic_programming
http://www.cis.umassd.edu/~ivalova/Spring08/cis412/Ectures/G...
https://www.gene-expression-programming.com/GepBook/Chapter1...
https://github.com/gdobbins/genetic-programming
I actually don't know how far things have come with meta-learning as far as AIs tuning their own hyperparameters. Well, a quick google search turned up this:
https://cloud.google.com/ai-platform/training/docs/hyperpara...
So I would guess that this is the secret sauce that's boosted AI to such better performance in the last year or two. It's always been obvious to do that, but it requires a certain level of computing power to be able to run trainings thousands of times to pick the best learners.
Anyway, my point is that the author is doing the above steps semi-manually, but AIs are beginning to self-manage. Recursion sounds like a handy term to convey that. ChatGPT is so complex compared to what he is doing that I don't see any reason why it couldn't take his place too! And with so many eyeballs on this stuff, we probably only have a year or two before AI can do it all.
I'm regurgitating 20 year old knowledge here as an armchair warrior. Insiders are so far beyond this. But see, everything I mentioned is so much easier to understand than neural networks, that there's no reason why NNs can't use these techniques themselves. The hard work has already been done, now it's just plug n chug.
sketch
-
Ask HN: What have you built with LLMs?
We've made a lot of data tooling things based on LLMs, and are in the process of rebranding and launching our main product.
1. sketch (in notebook, ai for pandas) https://github.com/approximatelabs/sketch
2. datadm (open source, "chat with data", with support for the open source LLMs (https://github.com/approximatelabs/datadm)
3. Our main product: julyp. https://julyp.com/ (currently under very active rebrand and cleanup) -- but a "chat with data" style app, with a lot of specialized features. I'm also streaming me using it (and sometimes building it) every weekday on twitch to solve misc data problems (https://www.twitch.tv/bluecoconut)
For your next question, about the stack and deploy:
-
Pandas AI β The Future of Data Analysis
This morning I added a "Related Projects" [3] Section to the Buckaroo docs. If Buckaroo doesn't solve your problem, look at one of the other linked projects (like Mito).
[1] https://github.com/approximatelabs/sketch
[2] https://github.com/paddymul/buckaroo
[3] https://buckaroo-data.readthedocs.io/en/latest/FAQ.html
-
Ask HN: What's your favorite GPT powered tool?
For GPT/Copilot style help for pandas, in notebooks REPL flow (without needing to install plugins), I built sketch. I genuinely use it every-time I'm working on pandas dataframes for a quick one-off analysis. Just makes the iteration loop so much faster. (Specifically the `.sketch.howto`, anecdotally I actually don't use `.sketch.ask` anymore)
https://github.com/approximatelabs/sketch
-
RasaGPT: First headless LLM chatbot built on top of Rasa, Langchain and FastAPI
https://github.com/approximatelabs/lambdaprompt It has served all of my personal use-cases since making it, including powering `sketch` (copilot for pandas) https://github.com/approximatelabs/sketch
Core things it does: Uses jinja templates, does sync and async, and most importantly treats LLM completion endpoints as "function calls", which you can compose and build structures around just with simple python. I also combined it with fastapi so you can just serve up any templates you want directly as rest endpoints. It also offers callback hooks so you can log & trace execution graphs.
All together its only ~600 lines of python.
I haven't had a chance to really push all the different examples out there, but most "complex behaviors", so there aren't many patterns to copy. But if you're comfortable in python, then I think it offers a pretty good interface.
I hope to get back to it sometime in the next week to introduce local-mode (eg. all the open source smaller models are now available, I want to make those first-class)
-
[D] The best way to train an LLM on company data
Please look at sketch and langchain pandas/SQL plugins. I have seen excellent results with both of these approaches. Both of these approaches will require you to send metadata to openAI.
-
Meet Sketch: An AI code Writing Assistant For Pandas
π Understand your data through questions π Create code from plain text Quick Read: https://www.marktechpost.com/2023/02/01/meet-sketch-an-ai-code-writing-assistant-for-pandas/ Github: https://github.com/approximatelabs/sketch
-
Replacing a SQL analyst with 26 recursive GPT prompts
(3) Asking for re-writes of failed queries (happens occasionally) also helps
The main challenge I think with a lot of these "look it works" tools for data applications, is how do you get an interface that actually will be easy to adopt. The chat-bot style shown here (discord and slack integration) I can see being really valuable, as I believe there has been some traction with these style integrations with data catalog systems recently. People like to ask data questions to other people in slack, adding a bot that tries to answer might short-circuit a lot of this!
We built a prototype where we applied similar techniques to the pandas-code-writing part of the stack, trying to help keep data scientists / data analysts "in flow", integrating the code answers in notebooks (similar to how co-pilot puts suggestions in-line) -- and released https://github.com/approximatelabs/sketch a little while ago.
-
FLiP Stack Weekly for 21 Jan 2023
Python AI Helper https://github.com/approximatelabs/sketch
- LangChain: Build AI apps with LLMs through composability
- Show HN: Sketch β AI code-writing assistant that understands data content
What are some alternatives?
olympe - Query your database in plain english
RasaGPT - π¬ RasaGPT is the first headless LLM chatbot platform built on top of Rasa and Langchain. Built w/ Rasa, FastAPI, Langchain, LlamaIndex, SQLModel, pgvector, ngrok, telegram
lambdaprompt - Ξ»prompt - A functional programming interface for building AI systems
lmql - A language for constraint-guided and efficient LLM programming.
zillion - Make sense of it all. Semantic data modeling and analytics with a sprinkle of AI. https://totalhack.github.io/zillion/
gpt_index - LlamaIndex (GPT Index) is a project that provides a central interface to connect your LLM's with external data. [Moved to: https://github.com/jerryjliu/llama_index]
pandas-ai - Chat with your database (SQL, CSV, pandas, polars, mongodb, noSQL, etc). PandasAI makes data analysis conversational using LLMs (GPT 3.5 / 4, Anthropic, VertexAI) and RAG.
langchain - β‘ Building applications with LLMs through composability β‘ [Moved to: https://github.com/langchain-ai/langchain]
rasa - π¬ Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
viper - Simple, expressive pipeline syntax to transform and manipulate data with ease
ccl - Clozure Common Lisp
LiteratureReviewBot - Experiment to use GPT-3 to help write grant proposals.