The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Open-source obsidian.md sync server
<a href="https://github.com/acheong08/obsidian-sync">https://github.com/acheong08/obsidian-sync</a><p>Hello HN,<p>I'm a recent high school graduate and can't afford $8 per month for the official sync service, so I tried my hand at replicating the server.<p>It's still missing a few features, such as file recovery and history, but the basic sync is working.<p>To the creators of Obsidian.md: I'm probably violating the TOS, and I'm sorry. I'll take down the repository if asked. It's not ready for production and is highly inefficient; Not competition, so I hope you'll be lenient.
Show HN: Open-source obsidian.md sync server
<a href="https://github.com/acheong08/obsidian-sync">https://github.com/acheong08/obsidian-sync</a><p>Hello HN,<p>I'm a recent high school graduate and can't afford $8 per month for the official sync service, so I tried my hand at replicating the server.<p>It's still missing a few features, such as file recovery and history, but the basic sync is working.<p>To the creators of Obsidian.md: I'm probably violating the TOS, and I'm sorry. I'll take down the repository if asked. It's not ready for production and is highly inefficient; Not competition, so I hope you'll be lenient.
Show HN: SQL Formatter
Show HN: Gentrace – evaluation and observability for generative AI
Hi HN,<p>Gentrace is our new evaluation and observability tool for generative AI (open beta).<p>Generative pipelines are hard to evaluate because outputs are subjective. Lots of developers end up just doing “gut checks” on a few inputs before shipping changes, or they build up a spreadsheet of test cases that they manually run through the pipeline. Some companies outsource filling out the spreadsheet. However, in any of these cases, you end up with a very slow and expensive process for evaluation.<p>At one point, we did this too. Gentrace is the result of a pivot; it was an internal tool we used to automatically grade new PRs as developers shipped changes to generative pipelines that other people thought might be useful.<p>Gentrace makes pre-production testing of generative pipelines continuous and nearly instantaneous. In Gentrace, you:<p>- Import and/or construct suites of test data
- Use a combination of AI and heuristic evaluators to grade for quality, hallucination, safety, etc
- Use our interface to correct automated grades or add your own (yourself or a member of your team)<p>Gentrace integrates at a code level for evaluation, meaning we test your generative AI pipeline the way you would test normal code. This allows you to test more than just prompt changes; for example, you can compare models (eg Claude 2 vs GPT-4 vs GPT 3.5 vs Llama 2) or see the effects of additional chained steps (”Rewrite the previous answer in the following tone:”).<p>Here’s a video overview that goes into a bit more detail: <a href="https://youtu.be/XxgDPSrTWIw" rel="nofollow noreferrer">https://youtu.be/XxgDPSrTWIw</a><p>In production, Gentrace observes for speed, cost, and data flow. It also shows real user feedback as well. We do this by integrating via our SDK at a code level; Gentrace does not proxy requests.<p>Soon, we’ll allow you to convert production data into test cases, allowing customer support to turn bad production generations into “failing tests” for AI teams to make pass.<p>We process interim steps and multiple outputs as well, helping evaluate agent flows / chains where the “last output” isn’t always the only thing that matters.<p>There’s been a lot of observability tools published recently. We differ from those by focusing more strongly on blending observability with strong evaluation and by using an SDK rather than a “man-in-the-middle” approach to capturing data (ie Gentrace can be down and your request to OpenAI will still succeed).<p>Within the evaluation landscape, we differentiate by integrating with code (see above for benefits) for capturing generative outputs and by providing a customizable UI workflow for building evaluators. In Gentrace, you start with off-the-shelf automated evaluators and then customize them to your specific task. You also build and run new evaluators on old generative outputs. Finally, you easily override automated evaluators and/or blend automated evaluation with evaluation by humans on your team.<p>We also focus on being suitable for business use. We are SOC 2 Type 1 compliant (Type 2 coming shortly), have robust legal documentation around data processing, security, and privacy, and have already passed several vendor legal and security reviews at large technology companies.<p>Our standard usage-based pricing is available on the website: <a href="https://gentrace.ai/pricing" rel="nofollow noreferrer">https://gentrace.ai/pricing</a><p>If you are building features with generative AI, we would love to get your feedback. You can self-serve sign up (without a credit card) for a 14 day trial here: <a href="https://gentrace.ai/" rel="nofollow noreferrer">https://gentrace.ai/</a><p>We’re available right here for feedback and questions. We’re also available at support@gentrace.ai.<p>Best,
Doug, Vivek, and Daniel
Show HN: Gentrace – evaluation and observability for generative AI
Hi HN,<p>Gentrace is our new evaluation and observability tool for generative AI (open beta).<p>Generative pipelines are hard to evaluate because outputs are subjective. Lots of developers end up just doing “gut checks” on a few inputs before shipping changes, or they build up a spreadsheet of test cases that they manually run through the pipeline. Some companies outsource filling out the spreadsheet. However, in any of these cases, you end up with a very slow and expensive process for evaluation.<p>At one point, we did this too. Gentrace is the result of a pivot; it was an internal tool we used to automatically grade new PRs as developers shipped changes to generative pipelines that other people thought might be useful.<p>Gentrace makes pre-production testing of generative pipelines continuous and nearly instantaneous. In Gentrace, you:<p>- Import and/or construct suites of test data
- Use a combination of AI and heuristic evaluators to grade for quality, hallucination, safety, etc
- Use our interface to correct automated grades or add your own (yourself or a member of your team)<p>Gentrace integrates at a code level for evaluation, meaning we test your generative AI pipeline the way you would test normal code. This allows you to test more than just prompt changes; for example, you can compare models (eg Claude 2 vs GPT-4 vs GPT 3.5 vs Llama 2) or see the effects of additional chained steps (”Rewrite the previous answer in the following tone:”).<p>Here’s a video overview that goes into a bit more detail: <a href="https://youtu.be/XxgDPSrTWIw" rel="nofollow noreferrer">https://youtu.be/XxgDPSrTWIw</a><p>In production, Gentrace observes for speed, cost, and data flow. It also shows real user feedback as well. We do this by integrating via our SDK at a code level; Gentrace does not proxy requests.<p>Soon, we’ll allow you to convert production data into test cases, allowing customer support to turn bad production generations into “failing tests” for AI teams to make pass.<p>We process interim steps and multiple outputs as well, helping evaluate agent flows / chains where the “last output” isn’t always the only thing that matters.<p>There’s been a lot of observability tools published recently. We differ from those by focusing more strongly on blending observability with strong evaluation and by using an SDK rather than a “man-in-the-middle” approach to capturing data (ie Gentrace can be down and your request to OpenAI will still succeed).<p>Within the evaluation landscape, we differentiate by integrating with code (see above for benefits) for capturing generative outputs and by providing a customizable UI workflow for building evaluators. In Gentrace, you start with off-the-shelf automated evaluators and then customize them to your specific task. You also build and run new evaluators on old generative outputs. Finally, you easily override automated evaluators and/or blend automated evaluation with evaluation by humans on your team.<p>We also focus on being suitable for business use. We are SOC 2 Type 1 compliant (Type 2 coming shortly), have robust legal documentation around data processing, security, and privacy, and have already passed several vendor legal and security reviews at large technology companies.<p>Our standard usage-based pricing is available on the website: <a href="https://gentrace.ai/pricing" rel="nofollow noreferrer">https://gentrace.ai/pricing</a><p>If you are building features with generative AI, we would love to get your feedback. You can self-serve sign up (without a credit card) for a 14 day trial here: <a href="https://gentrace.ai/" rel="nofollow noreferrer">https://gentrace.ai/</a><p>We’re available right here for feedback and questions. We’re also available at support@gentrace.ai.<p>Best,
Doug, Vivek, and Daniel
Show HN: Gentrace – evaluation and observability for generative AI
Hi HN,<p>Gentrace is our new evaluation and observability tool for generative AI (open beta).<p>Generative pipelines are hard to evaluate because outputs are subjective. Lots of developers end up just doing “gut checks” on a few inputs before shipping changes, or they build up a spreadsheet of test cases that they manually run through the pipeline. Some companies outsource filling out the spreadsheet. However, in any of these cases, you end up with a very slow and expensive process for evaluation.<p>At one point, we did this too. Gentrace is the result of a pivot; it was an internal tool we used to automatically grade new PRs as developers shipped changes to generative pipelines that other people thought might be useful.<p>Gentrace makes pre-production testing of generative pipelines continuous and nearly instantaneous. In Gentrace, you:<p>- Import and/or construct suites of test data
- Use a combination of AI and heuristic evaluators to grade for quality, hallucination, safety, etc
- Use our interface to correct automated grades or add your own (yourself or a member of your team)<p>Gentrace integrates at a code level for evaluation, meaning we test your generative AI pipeline the way you would test normal code. This allows you to test more than just prompt changes; for example, you can compare models (eg Claude 2 vs GPT-4 vs GPT 3.5 vs Llama 2) or see the effects of additional chained steps (”Rewrite the previous answer in the following tone:”).<p>Here’s a video overview that goes into a bit more detail: <a href="https://youtu.be/XxgDPSrTWIw" rel="nofollow noreferrer">https://youtu.be/XxgDPSrTWIw</a><p>In production, Gentrace observes for speed, cost, and data flow. It also shows real user feedback as well. We do this by integrating via our SDK at a code level; Gentrace does not proxy requests.<p>Soon, we’ll allow you to convert production data into test cases, allowing customer support to turn bad production generations into “failing tests” for AI teams to make pass.<p>We process interim steps and multiple outputs as well, helping evaluate agent flows / chains where the “last output” isn’t always the only thing that matters.<p>There’s been a lot of observability tools published recently. We differ from those by focusing more strongly on blending observability with strong evaluation and by using an SDK rather than a “man-in-the-middle” approach to capturing data (ie Gentrace can be down and your request to OpenAI will still succeed).<p>Within the evaluation landscape, we differentiate by integrating with code (see above for benefits) for capturing generative outputs and by providing a customizable UI workflow for building evaluators. In Gentrace, you start with off-the-shelf automated evaluators and then customize them to your specific task. You also build and run new evaluators on old generative outputs. Finally, you easily override automated evaluators and/or blend automated evaluation with evaluation by humans on your team.<p>We also focus on being suitable for business use. We are SOC 2 Type 1 compliant (Type 2 coming shortly), have robust legal documentation around data processing, security, and privacy, and have already passed several vendor legal and security reviews at large technology companies.<p>Our standard usage-based pricing is available on the website: <a href="https://gentrace.ai/pricing" rel="nofollow noreferrer">https://gentrace.ai/pricing</a><p>If you are building features with generative AI, we would love to get your feedback. You can self-serve sign up (without a credit card) for a 14 day trial here: <a href="https://gentrace.ai/" rel="nofollow noreferrer">https://gentrace.ai/</a><p>We’re available right here for feedback and questions. We’re also available at support@gentrace.ai.<p>Best,
Doug, Vivek, and Daniel
Show HN: Pip install inference, open source computer vision deployment
Deploying vision models is time consuming and tedious. Setting up dependencies. Fixing conflicts. Configuring TRT acceleration. Flashing (and re-flashing) NVIDIA Jetsons. A streamlined, developer-friendly solution for inference is needed.<p>We, the Roboflow team, have been hard at work open sourcing Inference, an open source vision deployment solution. Our solution is designed with developers in mind, offering a HTTP-based interface. Run models on your hardware without having to write architecture-specific inference code. Here's a demo showing how to go from a model to GPU inference on a video of a football game in ~10 minutes:<p><a href="https://www.youtube.com/watch?v=at-yuwIMiN4">https://www.youtube.com/watch?v=at-yuwIMiN4</a><p>Inference powers millions of daily API calls for global sports broadcasts, one of the world’s largest railways, a leading electric car manufacturer, and multiple other Fortune 500 companies, along with countless hackers’ hobby and research projects. Inference works in Docker and supports CPU (ARM and x86), NVIDIA GPU, and TRT. Inference manages dependencies and the environment. All you need to do is make HTTP requests to the server.<p>YOLOv5, YOLOv8, YOLACT, CLIP, SAM, and other popular vision models are supported (some models need to be hosted on Roboflow first, see the docs; we're working on bring your own model weights!).<p>Try it out and tell us what you think!
Show HN: Pip install inference, open source computer vision deployment
Deploying vision models is time consuming and tedious. Setting up dependencies. Fixing conflicts. Configuring TRT acceleration. Flashing (and re-flashing) NVIDIA Jetsons. A streamlined, developer-friendly solution for inference is needed.<p>We, the Roboflow team, have been hard at work open sourcing Inference, an open source vision deployment solution. Our solution is designed with developers in mind, offering a HTTP-based interface. Run models on your hardware without having to write architecture-specific inference code. Here's a demo showing how to go from a model to GPU inference on a video of a football game in ~10 minutes:<p><a href="https://www.youtube.com/watch?v=at-yuwIMiN4">https://www.youtube.com/watch?v=at-yuwIMiN4</a><p>Inference powers millions of daily API calls for global sports broadcasts, one of the world’s largest railways, a leading electric car manufacturer, and multiple other Fortune 500 companies, along with countless hackers’ hobby and research projects. Inference works in Docker and supports CPU (ARM and x86), NVIDIA GPU, and TRT. Inference manages dependencies and the environment. All you need to do is make HTTP requests to the server.<p>YOLOv5, YOLOv8, YOLACT, CLIP, SAM, and other popular vision models are supported (some models need to be hosted on Roboflow first, see the docs; we're working on bring your own model weights!).<p>Try it out and tell us what you think!
Show HN: Fast vector similarity using Rust and Python
I recently found myself computing the similarity between lots of very high dimensional vectors (i.e., sentence embedding vectors from LLMs), and I wanted to try some more powerful measures of similarity/dependency than just Cosine similarity, which seems to be the default for everything nowadays because of its computational efficiency.<p>There are many other more involved measures that can detect more subtle relationships, but the problem is that some of them are quite slow to compute, especially if you're trying to do it in Python. For my favorite measure of statistical dependency, Hoeffding's D, that's true even if you use Numpy. Since I recently learned Rust and wanted to learn how to make Python packages using Rust, I put together this new library that I call Fast Vector Similarity.<p>I was blown away by the performance of Rust and the quality of the tooling while making this. And even though it required a lot of fussing with Github Actions, I was also really impressed with just how easy it was to make a Python library using Rust that could be automatically compiled into wheels for every combination of platform (Linux, Windows, Mac) and Python Version (3.8 through 3.11) and uploaded to PyPi, all triggered by a commit to the repo and handled by Github's servers-- and all for free if you're working on a public repo!<p>Anyway, this library can easily be installed to try out using `pip install fast_vector_similarity`, and you can see some simple demo Python code in the readme to show how to use it.<p>Aside from exposing some very high performance implementations of some very nice similarity measures, I also included the ability to get robust estimates of these measures using the Bootstrap method. Basically, if you have two very high dimensional vectors, instead of using the entire vector to measure similarity, you can take the same random subset of indices from both vectors and compute the similarity of just those elements. Then you repeat the process hundreds or thousands of times and look at the robust average (i.e., throw away the results outside the 25th percentile to 75th percentile and average the remaining ones, to reduce the impact of outliers) and standard deviation of the results. Obviously this is very demanding of performance, but it's still reasonable if you're not trying to compute it for too many vectors.<p>Everything is designed to fully saturate the performance of multi-core machines by extensive use of broadcasting/vectorization and the use of paralell processing via the Rayon library. I was really impressed with how easy and low-overhead it is to make highly parallelized code in Rust, especially compared to coming from Python, where you have to jump through a lot of hoops to use multiprocessing and there is a ton of overhead.<p>Anyway, please let me know what you think. I'm looking to add more measures of similarity if I can find ones that can be efficiently computed (I already gave up on including HSIC because I couldn't get it to go fast enough, even using BLAS/LAPACK).
Show HN: Fast vector similarity using Rust and Python
I recently found myself computing the similarity between lots of very high dimensional vectors (i.e., sentence embedding vectors from LLMs), and I wanted to try some more powerful measures of similarity/dependency than just Cosine similarity, which seems to be the default for everything nowadays because of its computational efficiency.<p>There are many other more involved measures that can detect more subtle relationships, but the problem is that some of them are quite slow to compute, especially if you're trying to do it in Python. For my favorite measure of statistical dependency, Hoeffding's D, that's true even if you use Numpy. Since I recently learned Rust and wanted to learn how to make Python packages using Rust, I put together this new library that I call Fast Vector Similarity.<p>I was blown away by the performance of Rust and the quality of the tooling while making this. And even though it required a lot of fussing with Github Actions, I was also really impressed with just how easy it was to make a Python library using Rust that could be automatically compiled into wheels for every combination of platform (Linux, Windows, Mac) and Python Version (3.8 through 3.11) and uploaded to PyPi, all triggered by a commit to the repo and handled by Github's servers-- and all for free if you're working on a public repo!<p>Anyway, this library can easily be installed to try out using `pip install fast_vector_similarity`, and you can see some simple demo Python code in the readme to show how to use it.<p>Aside from exposing some very high performance implementations of some very nice similarity measures, I also included the ability to get robust estimates of these measures using the Bootstrap method. Basically, if you have two very high dimensional vectors, instead of using the entire vector to measure similarity, you can take the same random subset of indices from both vectors and compute the similarity of just those elements. Then you repeat the process hundreds or thousands of times and look at the robust average (i.e., throw away the results outside the 25th percentile to 75th percentile and average the remaining ones, to reduce the impact of outliers) and standard deviation of the results. Obviously this is very demanding of performance, but it's still reasonable if you're not trying to compute it for too many vectors.<p>Everything is designed to fully saturate the performance of multi-core machines by extensive use of broadcasting/vectorization and the use of paralell processing via the Rayon library. I was really impressed with how easy and low-overhead it is to make highly parallelized code in Rust, especially compared to coming from Python, where you have to jump through a lot of hoops to use multiprocessing and there is a ton of overhead.<p>Anyway, please let me know what you think. I'm looking to add more measures of similarity if I can find ones that can be efficiently computed (I already gave up on including HSIC because I couldn't get it to go fast enough, even using BLAS/LAPACK).
Show HN: Dataherald AI – Natural Language to SQL Engine
Hi HN community. We are excited to open source Dataherald’s natural-language-to-SQL engine today (<a href="https://github.com/Dataherald/dataherald">https://github.com/Dataherald/dataherald</a>). This engine allows you to set up an API from your structured database that can answer questions in plain English.<p>GPT-4 class LLMs have gotten remarkably good at writing SQL. However, out-of-the-box LLMs and existing frameworks would not work with our own structured data at a necessary quality level. For example, given the question “what was the average rent in Los Angeles in May 2023?” a reasonable human would either assume the question is about Los Angeles, CA or would confirm the state with the question asker in a follow up. However, an LLM translates this to:<p>select price from rent_prices where city=”Los Angeles” AND month=”05” AND year=”2023”<p>This pulls data for Los Angeles, CA and Los Angeles, TX without getting columns to differentiate between the two. You can read more about the challenges of enterprise-level text-to-SQL in this blog post I wrote on the topic: <a href="https://medium.com/dataherald/why-enterprise-natural-language-to-sql-is-hard-8849414f41c" rel="nofollow noreferrer">https://medium.com/dataherald/why-enterprise-natural-languag...</a><p>Dataherald comes with “batteries-included.” It has best-in-class implementations of core components, including, but not limited to: a state of the art NL-to-SQL agent, an LLM-based SQL-accuracy evaluator. The architecture is modular, allowing these components to be easily replaced. It’s easy to set up and use with major data warehouses.<p>There is a “Context Store” where information (NL2SQL examples, schemas and table descriptions) is used for the LLM prompts to make the engine get better with usage. And we even made it fast!<p>This version allows you to easily connect to PG, Databricks, BigQuery or Snowflake and set up an API for semantic interactions with your structured data. You can then add business and data context that are used for few-shot prompting by the engine.<p>The NL-to-SQL agent in this open source release was developed by our own Mohammadreza Pourreza, whose DIN-SQL algorithm is currently top of the Spider (<a href="https://yale-lily.github.io/spider" rel="nofollow noreferrer">https://yale-lily.github.io/spider</a>) and Bird (<a href="https://bird-bench.github.io/" rel="nofollow noreferrer">https://bird-bench.github.io/</a>) NL 2 SQL benchmarks. This agent has outperformed the Langchain SQLAgent anywhere from 12%-250%.5x (depending on the provided context) in our own internal benchmarking while being only ~15s slower on average.<p>Needless to say, this is an early release and the codebase is under swift development. We would love for you to try it out and give us your feedback! And if you are interested in contributing, we’d love to hear from you!
Show HN: Dataherald AI – Natural Language to SQL Engine
Hi HN community. We are excited to open source Dataherald’s natural-language-to-SQL engine today (<a href="https://github.com/Dataherald/dataherald">https://github.com/Dataherald/dataherald</a>). This engine allows you to set up an API from your structured database that can answer questions in plain English.<p>GPT-4 class LLMs have gotten remarkably good at writing SQL. However, out-of-the-box LLMs and existing frameworks would not work with our own structured data at a necessary quality level. For example, given the question “what was the average rent in Los Angeles in May 2023?” a reasonable human would either assume the question is about Los Angeles, CA or would confirm the state with the question asker in a follow up. However, an LLM translates this to:<p>select price from rent_prices where city=”Los Angeles” AND month=”05” AND year=”2023”<p>This pulls data for Los Angeles, CA and Los Angeles, TX without getting columns to differentiate between the two. You can read more about the challenges of enterprise-level text-to-SQL in this blog post I wrote on the topic: <a href="https://medium.com/dataherald/why-enterprise-natural-language-to-sql-is-hard-8849414f41c" rel="nofollow noreferrer">https://medium.com/dataherald/why-enterprise-natural-languag...</a><p>Dataherald comes with “batteries-included.” It has best-in-class implementations of core components, including, but not limited to: a state of the art NL-to-SQL agent, an LLM-based SQL-accuracy evaluator. The architecture is modular, allowing these components to be easily replaced. It’s easy to set up and use with major data warehouses.<p>There is a “Context Store” where information (NL2SQL examples, schemas and table descriptions) is used for the LLM prompts to make the engine get better with usage. And we even made it fast!<p>This version allows you to easily connect to PG, Databricks, BigQuery or Snowflake and set up an API for semantic interactions with your structured data. You can then add business and data context that are used for few-shot prompting by the engine.<p>The NL-to-SQL agent in this open source release was developed by our own Mohammadreza Pourreza, whose DIN-SQL algorithm is currently top of the Spider (<a href="https://yale-lily.github.io/spider" rel="nofollow noreferrer">https://yale-lily.github.io/spider</a>) and Bird (<a href="https://bird-bench.github.io/" rel="nofollow noreferrer">https://bird-bench.github.io/</a>) NL 2 SQL benchmarks. This agent has outperformed the Langchain SQLAgent anywhere from 12%-250%.5x (depending on the provided context) in our own internal benchmarking while being only ~15s slower on average.<p>Needless to say, this is an early release and the codebase is under swift development. We would love for you to try it out and give us your feedback! And if you are interested in contributing, we’d love to hear from you!
Show HN: Dataherald AI – Natural Language to SQL Engine
Hi HN community. We are excited to open source Dataherald’s natural-language-to-SQL engine today (<a href="https://github.com/Dataherald/dataherald">https://github.com/Dataherald/dataherald</a>). This engine allows you to set up an API from your structured database that can answer questions in plain English.<p>GPT-4 class LLMs have gotten remarkably good at writing SQL. However, out-of-the-box LLMs and existing frameworks would not work with our own structured data at a necessary quality level. For example, given the question “what was the average rent in Los Angeles in May 2023?” a reasonable human would either assume the question is about Los Angeles, CA or would confirm the state with the question asker in a follow up. However, an LLM translates this to:<p>select price from rent_prices where city=”Los Angeles” AND month=”05” AND year=”2023”<p>This pulls data for Los Angeles, CA and Los Angeles, TX without getting columns to differentiate between the two. You can read more about the challenges of enterprise-level text-to-SQL in this blog post I wrote on the topic: <a href="https://medium.com/dataherald/why-enterprise-natural-language-to-sql-is-hard-8849414f41c" rel="nofollow noreferrer">https://medium.com/dataherald/why-enterprise-natural-languag...</a><p>Dataherald comes with “batteries-included.” It has best-in-class implementations of core components, including, but not limited to: a state of the art NL-to-SQL agent, an LLM-based SQL-accuracy evaluator. The architecture is modular, allowing these components to be easily replaced. It’s easy to set up and use with major data warehouses.<p>There is a “Context Store” where information (NL2SQL examples, schemas and table descriptions) is used for the LLM prompts to make the engine get better with usage. And we even made it fast!<p>This version allows you to easily connect to PG, Databricks, BigQuery or Snowflake and set up an API for semantic interactions with your structured data. You can then add business and data context that are used for few-shot prompting by the engine.<p>The NL-to-SQL agent in this open source release was developed by our own Mohammadreza Pourreza, whose DIN-SQL algorithm is currently top of the Spider (<a href="https://yale-lily.github.io/spider" rel="nofollow noreferrer">https://yale-lily.github.io/spider</a>) and Bird (<a href="https://bird-bench.github.io/" rel="nofollow noreferrer">https://bird-bench.github.io/</a>) NL 2 SQL benchmarks. This agent has outperformed the Langchain SQLAgent anywhere from 12%-250%.5x (depending on the provided context) in our own internal benchmarking while being only ~15s slower on average.<p>Needless to say, this is an early release and the codebase is under swift development. We would love for you to try it out and give us your feedback! And if you are interested in contributing, we’d love to hear from you!
Show HN: Dataherald AI – Natural Language to SQL Engine
Hi HN community. We are excited to open source Dataherald’s natural-language-to-SQL engine today (<a href="https://github.com/Dataherald/dataherald">https://github.com/Dataherald/dataherald</a>). This engine allows you to set up an API from your structured database that can answer questions in plain English.<p>GPT-4 class LLMs have gotten remarkably good at writing SQL. However, out-of-the-box LLMs and existing frameworks would not work with our own structured data at a necessary quality level. For example, given the question “what was the average rent in Los Angeles in May 2023?” a reasonable human would either assume the question is about Los Angeles, CA or would confirm the state with the question asker in a follow up. However, an LLM translates this to:<p>select price from rent_prices where city=”Los Angeles” AND month=”05” AND year=”2023”<p>This pulls data for Los Angeles, CA and Los Angeles, TX without getting columns to differentiate between the two. You can read more about the challenges of enterprise-level text-to-SQL in this blog post I wrote on the topic: <a href="https://medium.com/dataherald/why-enterprise-natural-language-to-sql-is-hard-8849414f41c" rel="nofollow noreferrer">https://medium.com/dataherald/why-enterprise-natural-languag...</a><p>Dataherald comes with “batteries-included.” It has best-in-class implementations of core components, including, but not limited to: a state of the art NL-to-SQL agent, an LLM-based SQL-accuracy evaluator. The architecture is modular, allowing these components to be easily replaced. It’s easy to set up and use with major data warehouses.<p>There is a “Context Store” where information (NL2SQL examples, schemas and table descriptions) is used for the LLM prompts to make the engine get better with usage. And we even made it fast!<p>This version allows you to easily connect to PG, Databricks, BigQuery or Snowflake and set up an API for semantic interactions with your structured data. You can then add business and data context that are used for few-shot prompting by the engine.<p>The NL-to-SQL agent in this open source release was developed by our own Mohammadreza Pourreza, whose DIN-SQL algorithm is currently top of the Spider (<a href="https://yale-lily.github.io/spider" rel="nofollow noreferrer">https://yale-lily.github.io/spider</a>) and Bird (<a href="https://bird-bench.github.io/" rel="nofollow noreferrer">https://bird-bench.github.io/</a>) NL 2 SQL benchmarks. This agent has outperformed the Langchain SQLAgent anywhere from 12%-250%.5x (depending on the provided context) in our own internal benchmarking while being only ~15s slower on average.<p>Needless to say, this is an early release and the codebase is under swift development. We would love for you to try it out and give us your feedback! And if you are interested in contributing, we’d love to hear from you!
Show HN: Dataherald AI – Natural Language to SQL Engine
Hi HN community. We are excited to open source Dataherald’s natural-language-to-SQL engine today (<a href="https://github.com/Dataherald/dataherald">https://github.com/Dataherald/dataherald</a>). This engine allows you to set up an API from your structured database that can answer questions in plain English.<p>GPT-4 class LLMs have gotten remarkably good at writing SQL. However, out-of-the-box LLMs and existing frameworks would not work with our own structured data at a necessary quality level. For example, given the question “what was the average rent in Los Angeles in May 2023?” a reasonable human would either assume the question is about Los Angeles, CA or would confirm the state with the question asker in a follow up. However, an LLM translates this to:<p>select price from rent_prices where city=”Los Angeles” AND month=”05” AND year=”2023”<p>This pulls data for Los Angeles, CA and Los Angeles, TX without getting columns to differentiate between the two. You can read more about the challenges of enterprise-level text-to-SQL in this blog post I wrote on the topic: <a href="https://medium.com/dataherald/why-enterprise-natural-language-to-sql-is-hard-8849414f41c" rel="nofollow noreferrer">https://medium.com/dataherald/why-enterprise-natural-languag...</a><p>Dataherald comes with “batteries-included.” It has best-in-class implementations of core components, including, but not limited to: a state of the art NL-to-SQL agent, an LLM-based SQL-accuracy evaluator. The architecture is modular, allowing these components to be easily replaced. It’s easy to set up and use with major data warehouses.<p>There is a “Context Store” where information (NL2SQL examples, schemas and table descriptions) is used for the LLM prompts to make the engine get better with usage. And we even made it fast!<p>This version allows you to easily connect to PG, Databricks, BigQuery or Snowflake and set up an API for semantic interactions with your structured data. You can then add business and data context that are used for few-shot prompting by the engine.<p>The NL-to-SQL agent in this open source release was developed by our own Mohammadreza Pourreza, whose DIN-SQL algorithm is currently top of the Spider (<a href="https://yale-lily.github.io/spider" rel="nofollow noreferrer">https://yale-lily.github.io/spider</a>) and Bird (<a href="https://bird-bench.github.io/" rel="nofollow noreferrer">https://bird-bench.github.io/</a>) NL 2 SQL benchmarks. This agent has outperformed the Langchain SQLAgent anywhere from 12%-250%.5x (depending on the provided context) in our own internal benchmarking while being only ~15s slower on average.<p>Needless to say, this is an early release and the codebase is under swift development. We would love for you to try it out and give us your feedback! And if you are interested in contributing, we’d love to hear from you!
Show HN: Cosmic Media – Search millions of stock photos and videos
Hello HN,<p>I’m Tony, the CEO of Cosmic (https://www.cosmicjs.com), we provide a headless CMS and API toolkit to create and deliver content to websites and apps. Today, we are releasing Cosmic Media which enables you to search millions of high-quality, royalty-free, stock photos, videos, and vectors from popular online media services: Unsplash, Pexels, Giphy, and Pixabay from one convenient interface. It also includes AI-generated images from OpenAI. Check it out here: https://cosmicmedia.vercel.app<p>We built it to solve our own need to consolidate our existing media extensions, which were individual media extensions using the Unsplash API and Pexels Video API, and we thought, "why not combine them into one"? Rather than search from different stock media websites, seems like it would be nice to aggregate it into one interface. Then we sort of thought about what else might someone want for adding media to their content, so we added DALL-E AI image generation. We've been using it internally and find that it's saved us some time when searching for media to add to our blog posts.<p>We are offering it as both a stand-alone open source tool and as a Cosmic extension which can be added to your projects for easy access during content creation from the Cosmic dashboard. Check out the code and feel free to customize and extend it to suit your needs: https://github.com/cosmicjs/cosmic-media-extension<p>Let me know what you think in the comments.<p>- Tony
Show HN: Cosmic Media – Search millions of stock photos and videos
Hello HN,<p>I’m Tony, the CEO of Cosmic (https://www.cosmicjs.com), we provide a headless CMS and API toolkit to create and deliver content to websites and apps. Today, we are releasing Cosmic Media which enables you to search millions of high-quality, royalty-free, stock photos, videos, and vectors from popular online media services: Unsplash, Pexels, Giphy, and Pixabay from one convenient interface. It also includes AI-generated images from OpenAI. Check it out here: https://cosmicmedia.vercel.app<p>We built it to solve our own need to consolidate our existing media extensions, which were individual media extensions using the Unsplash API and Pexels Video API, and we thought, "why not combine them into one"? Rather than search from different stock media websites, seems like it would be nice to aggregate it into one interface. Then we sort of thought about what else might someone want for adding media to their content, so we added DALL-E AI image generation. We've been using it internally and find that it's saved us some time when searching for media to add to our blog posts.<p>We are offering it as both a stand-alone open source tool and as a Cosmic extension which can be added to your projects for easy access during content creation from the Cosmic dashboard. Check out the code and feel free to customize and extend it to suit your needs: https://github.com/cosmicjs/cosmic-media-extension<p>Let me know what you think in the comments.<p>- Tony
Show HN: Points and Miles Database
Show HN: Points and Miles Database
Show HN: OpenCopilot – Build and embed open-source AI copilots into your product
Hey HN<p>OpenCopilot is an OSS framework which helps devs to build open-source AI Copilots that actually work and embed into their product with ease.<p>Why another LLM framework?<p>Twitter is full of impressive LLM applications but once you peel off the curtains it’s clear that they are just demos. The reason being because building an AI Copilot that goes beyond a Twitter demo can be complex, time-consuming and unreliable.<p>Our team has been in the AI space since 2018 and built numerous LLM apps & copilots. While doing that, we got approached by many startups saying they’d also like to build a copilot for their product but they haven’t been able to get it reliable, fast or cost-effective enough for production use. Thus we built OpenCopilot framework, so devs can intuitively get AI Copilots running in less than 10 minutes and iterate towards a useful Copilot in a single day.<p>We believe every product, company and individual will have their Copilot in the future. Thus, we’d love your feedback, questions and constructive criticism.