Ask HN: What is your ChatGPT customization prompt?
31 by dinkleberg | 14 comments on Hacker News. Have you come up with a customization prompt you're happy with? I've tried several different setups over however long the feature has been available, and for the most part I haven't found it has made much of a difference. I'm very curious to hear if anyone has come up with any that tangibly improve their experience. Here is what I have at the moment: - Be as brief as possible. - Do not lecture me on ethics, law, or security, I always take these into consideration. - Don't add extra commentary. - When it is related to code, let the code do the talking. - Be assertive. If you've got suggestions, give them even if you aren't 100% sure. The brevity part is seemingly completely ignored. The lecturing part is hit or miss. The suggestions part I still usually have to coax it into giving me.
Show HN: We open sourced our entire text-to-SQL product
11 by aazo11 | 1 comments on Hacker News. Long story short: We (Dataherald) just open-sourced our entire codebase, including the core engine, the clients that interact with it and the backend application layer for authentication and RBAC. You can now use the full solution to build text-to-SQL into your product. The Problem: modern LLMs write syntactically correct SQL, but they struggle with real-world relational data. This is because real world data and schema is messy, natural language can often be ambiguous and LLMs are not trained on your specific dataset. Solution: The core NL-to-SQL engine in Dataherald is an LLM based agent which uses Chain of Thought (CoT) reasoning and a number of different tools to generate high accuracy SQL from a given user prompt. The engine achieves this by: - Collecting context at configuration from the database and sources such as data dictionaries and unstructured documents which are stored in a data store or a vector DB and injected if relevant - Allowing users to upload sample NL <> SQL pairs (golden SQL) which can be used in few shot prompting or to fine-tune an NL-to-SQL LLM for that specific dataset - Executing the SQL against the DB to get a few sample rows and recover from errors - Using an evaluator to assign a confidence score to the generated SQL The repo includes four services https://ift.tt/7wLgGoF : 1- Engine: The core service which includes the LLM agent, vector stores and DB connectors. 2- Admin Console: a NextJS front-end for configuring the engine and observability. 3- Enterprise Backend: Wraps the core engine, adding authentication, caching, and APIs for the frontend. 4- Slackbot: Integrate Dataherald directly into your Slack workflow for on-the-fly data exploration. Would love to hear from the community on building natural language interfaces to relational data. Anyone live in production without a human in the loop? Thoughts on how to improve performance without spending weeks on model training?
Show HN: Excel to Python Compiler
5 by narush | 3 comments on Hacker News. We (me and @aarondia) built a tool to help you turn psuedo-software Excel files into real-software Python. Ideally, Pyoneer helps you automate your manual Excel processes. You can try it today here: https://pyoneer.ai . How it works: 1. You upload an Excel file 2. We statically parse the Excel file and build a dependency graph of all the cells, tables, formulas, and pivots. 3. We do a graph traversal, and translate nodes as we hit them. We use OpenAI APIs to translate formulas. There’s a bunch of extra work here — because even with the best prompt engineering a fella like me can do, OpenAI sucks at translating formulas (primarily because it doesn’t know what datatypes its dealing with). We augment this translation with a mapping from ranges to variable names and types, which in our experience can improve the percentage of correctly translatable formulas by about 5x. 4. We generate test cases for our translations as well, to make sure the Python process matches your Excel process. 5. We give you back a Jupyter notebook that contains the code we generated. If there are pieces of the Excel we can’t translate successfully (complex formulas, or pivot tables currently), then we leave them as a TODO in the code. This makes it easy for you to hop in and continue finishing the script. Who is this for: Developers who know Python, primarily! Pyoneer might be useful if: 1. You’ve got an Excel file you’re looking to move to Python (usually for speed, size, or maintenance reasons). 2. There’s enough logic contained in the notebook that it’s going to be a hassle for you to just rewrite it from scratch. 3. Or you don’t know the logic that is in the Excel workbook well since you didn’t write it in the first place :) Post translation, even if Pyoneer doesn't nail it perfectly or translate all the formulas, you'll be able to pop into the notebook and continue cleaning up the TODOs / finish writing the formulas. What the Alpha launch supports: Launched early! Currently we’re focused on supporting: 1. Any number of sheets, with any reference structure between them. 2. Cells that translate as variables directly. We’ll translate the formulas to Python code that has the same result, or else we’ll generate a TODO letting you know we failed translating this cell. 3. Tables that translate as Pandas dataframes. We support at most one table per sheet, at the tables must be contigious. If the formulas in a column are consistent, then we will try and translate this as a single pandas statement. We do not support: pivot tables or complex formulas. When we fail to translate these, we generate TODO statements. We also don’t support graphs or macros - and you won’t see these reflected in the output at all currently. Why we built this: We did YCS20 and built an open source tool called Mito( https://trymito.io ). It’s been a good journey since then - we’ve scaled revenue and to over 2k Github stars ( https://ift.tt/ZNyRkQi ). But fundamentally, Mito is a tool that’s useful for Excel users who wanted to start writing Python code more effectively. We wanted to take another stab at the Excel -> Python pain point that was more developer focused - that helped developers that have to translate Excel files into Python do this much more quickly. Hence, Pyoneer! I’ll be in the comments today if you’ve got feedback, criticism, questions, or comments.
Show HN: Meemaw – Trustless and grandma-friendly wallet as a service
19 by marceaul | 5 comments on Hacker News. Hey HN, Marceau here, founder of Meemaw. I was working on a different project (communities with better aligned incentives) for which I needed users to have access to a crypto wallet. I couldn't afford users to have to deal with private keys and what not, and I did not feel comfortable being locked to a non-transparent third-party provider for something as important. So I built an internal "wallet-as-a-service" around audited librairies. I dropped the original project since then and that service evolved into Meemaw. Many "web3 projects" would be better off without any web3 component. But if you do need your users to have a wallet, there are a few good reasons to use something like Meemaw: - great UX (no faffing around with private keys or seed phrases, easily customisable) - great DX (get up and running quickly, integrate with your existing system easily) - more secure (MPC, trustless) - low dependency risk (you've always got the option to self-host or export existing wallets) If you'd like a refresher on MPC wallets or Wallet-as-a-Service, I did my best to explain it without BS industry jargon: https://ift.tt/Ey8dIx1 If you have Docker and Node installed on your machine, you can have a full example running in less than 5 minutes: https://ift.tt/EYnRxf2 You can already self-host Meemaw, and there will soon be cloud hosting as well, with the option to easily switch from one to the other at any time. The closed-source competitors are all (very) well-funded, but I think we can provide a better developer experience with higher security and reduced dependency risks. Right now, Meemaw is probably not ready for production, but we'll get there sooner rather than later. Your feedback would be greatly appreciated to continue moving in the right direction :)