The best Hacker News stories from Show from the past day
Latest posts:
Show HN: We built a FOSS documentation CMS with a pretty GUI
Kalmia started as a small hobby project about two months ago, but it quickly evolved when we needed a better solution to manage our office's documentation. It has now become our go-to tool for both internal and user-facing docs.<p>Recently, we decided to open source it, as we believe others might benefit from a lightweight, customizable documentation system like this. We're excited to see how the community can take it further, contribute, and adapt it to their own needs!
Show HN: We built a FOSS documentation CMS with a pretty GUI
Kalmia started as a small hobby project about two months ago, but it quickly evolved when we needed a better solution to manage our office's documentation. It has now become our go-to tool for both internal and user-facing docs.<p>Recently, we decided to open source it, as we believe others might benefit from a lightweight, customizable documentation system like this. We're excited to see how the community can take it further, contribute, and adapt it to their own needs!
Show HN: Node.js ORM to query SQL database through an array-like API
Hello everyone! I'm exited to share a NodeJS package I was working on for the past two months.<p>The package is designed to simplify querying SQL databases through an array-like API. Qustar supports PostgreSQL, SQLite, MySQL, and MariaDB, and offers TypeScript support for a robust development experience.<p>It's in early stage of development. I would like to hear your thoughts about it.
Show HN: Node.js ORM to query SQL database through an array-like API
Hello everyone! I'm exited to share a NodeJS package I was working on for the past two months.<p>The package is designed to simplify querying SQL databases through an array-like API. Qustar supports PostgreSQL, SQLite, MySQL, and MariaDB, and offers TypeScript support for a robust development experience.<p>It's in early stage of development. I would like to hear your thoughts about it.
Show HN: Node.js ORM to query SQL database through an array-like API
Hello everyone! I'm exited to share a NodeJS package I was working on for the past two months.<p>The package is designed to simplify querying SQL databases through an array-like API. Qustar supports PostgreSQL, SQLite, MySQL, and MariaDB, and offers TypeScript support for a robust development experience.<p>It's in early stage of development. I would like to hear your thoughts about it.
Show HN: Node.js ORM to query SQL database through an array-like API
Hello everyone! I'm exited to share a NodeJS package I was working on for the past two months.<p>The package is designed to simplify querying SQL databases through an array-like API. Qustar supports PostgreSQL, SQLite, MySQL, and MariaDB, and offers TypeScript support for a robust development experience.<p>It's in early stage of development. I would like to hear your thoughts about it.
Show HN: Laminar – Open-Source DataDog + PostHog for LLM Apps, Built in Rust
Hey HN, we’re Robert, Din and Temirlan from Laminar (<a href="https://www.lmnr.ai">https://www.lmnr.ai</a>), an open-source observability and analytics platform for complex LLM apps. It’s designed to be fast, reliable, and scalable. The stack is RabbitMQ for message queues, Postgres for storage, Clickhouse for analytics, Qdrant for semantic search - all powered by Rust.<p>How is Laminar different from the swarm of other “LLM observability” platforms?<p>On the observability part, we’re focused on handling full execution traces, not just LLM calls. We built a Rust ingestor for OpenTelemetry (Otel) spans with GenAI semantic conventions. As LLM apps get more complex (think Agents with hundreds of LLM and function calls, or complex RAG pipelines), full tracing is critical. With Otel spans, we can: 1. Cover the entire execution trace. 2. Keep the platform future-proof 3. Leverage an amazing OpenLLMetry (<a href="https://github.com/traceloop/openllmetry">https://github.com/traceloop/openllmetry</a>), open-source package for span production.<p>The key difference is that we tie text analytics directly to execution traces. Rich text data makes LLM traces unique, so we let you track “semantic metrics” (like what your AI agent is actually saying) and connect those metrics to where they happen in the trace. If you want to know if your AI drive-through agent made an upsell, you can design an LLM extraction pipeline in our builder (more on it later), host it on Laminar, and handle everything from event requests to output logging. Processing requests simply come as events in the Otel span.<p>We think it’s a win to separate core app logic from LLM event processing. Most devs don’t want to manage background queues for LLM analytics processing but still want insights into how their Agents or RAGs are working.<p>Our Pipeline Builder uses graph UI where nodes are LLM and util functions, and edges showing data flow. We built a custom task execution engine with support of parallel branch executions, cycles and branches (it’s overkill for simple pipelines, but it’s extremely cool and we’ve spent a lot of time designing a robust engine). You can also call pipelines directly as API endpoints. We found them to be extremely useful for iterating on and separating LLM logic. Laminar also traces pipeline directly, which removes the overhead of sending large outputs over the network.<p>One thing missing from all LLM observability platforms right now is an adequate search over traces. We’re attacking this problem by indexing each span in a vector DB and performing hybrid search at query time. This feature is still in beta, but we think it’s gonna be crucial part of our platform going forward.<p>We also support evaluations. We loved the “run everything locally, send results to a server” approach from Braintrust and Weights & Biases, so we did that too: a simple SDK and nice dashboards to track everything. Evals are still early, but we’re pushing hard on them.<p>Our goal is to make Laminar the Supabase for LLMOps - the go-to open-source comprehensive platform for all things LLMs / GenAI. In it’s current shape, Laminar is just few weeks old and developing rapidly, we’d love any feedback or for you to give Laminar a try in your LLM projects!
Show HN: Laminar – Open-Source DataDog + PostHog for LLM Apps, Built in Rust
Hey HN, we’re Robert, Din and Temirlan from Laminar (<a href="https://www.lmnr.ai">https://www.lmnr.ai</a>), an open-source observability and analytics platform for complex LLM apps. It’s designed to be fast, reliable, and scalable. The stack is RabbitMQ for message queues, Postgres for storage, Clickhouse for analytics, Qdrant for semantic search - all powered by Rust.<p>How is Laminar different from the swarm of other “LLM observability” platforms?<p>On the observability part, we’re focused on handling full execution traces, not just LLM calls. We built a Rust ingestor for OpenTelemetry (Otel) spans with GenAI semantic conventions. As LLM apps get more complex (think Agents with hundreds of LLM and function calls, or complex RAG pipelines), full tracing is critical. With Otel spans, we can: 1. Cover the entire execution trace. 2. Keep the platform future-proof 3. Leverage an amazing OpenLLMetry (<a href="https://github.com/traceloop/openllmetry">https://github.com/traceloop/openllmetry</a>), open-source package for span production.<p>The key difference is that we tie text analytics directly to execution traces. Rich text data makes LLM traces unique, so we let you track “semantic metrics” (like what your AI agent is actually saying) and connect those metrics to where they happen in the trace. If you want to know if your AI drive-through agent made an upsell, you can design an LLM extraction pipeline in our builder (more on it later), host it on Laminar, and handle everything from event requests to output logging. Processing requests simply come as events in the Otel span.<p>We think it’s a win to separate core app logic from LLM event processing. Most devs don’t want to manage background queues for LLM analytics processing but still want insights into how their Agents or RAGs are working.<p>Our Pipeline Builder uses graph UI where nodes are LLM and util functions, and edges showing data flow. We built a custom task execution engine with support of parallel branch executions, cycles and branches (it’s overkill for simple pipelines, but it’s extremely cool and we’ve spent a lot of time designing a robust engine). You can also call pipelines directly as API endpoints. We found them to be extremely useful for iterating on and separating LLM logic. Laminar also traces pipeline directly, which removes the overhead of sending large outputs over the network.<p>One thing missing from all LLM observability platforms right now is an adequate search over traces. We’re attacking this problem by indexing each span in a vector DB and performing hybrid search at query time. This feature is still in beta, but we think it’s gonna be crucial part of our platform going forward.<p>We also support evaluations. We loved the “run everything locally, send results to a server” approach from Braintrust and Weights & Biases, so we did that too: a simple SDK and nice dashboards to track everything. Evals are still early, but we’re pushing hard on them.<p>Our goal is to make Laminar the Supabase for LLMOps - the go-to open-source comprehensive platform for all things LLMs / GenAI. In it’s current shape, Laminar is just few weeks old and developing rapidly, we’d love any feedback or for you to give Laminar a try in your LLM projects!
Show HN: Hacker League – Open-Source Rocket League on Linux
Show HN: Hacker League – Open-Source Rocket League on Linux
Show HN: AnythingLLM – Open-Source, All-in-One Desktop AI Assistant
Hey HN!<p>This is Tim from AnythingLLM (<a href="https://github.com/Mintplex-Labs/anything-llm">https://github.com/Mintplex-Labs/anything-llm</a>). AnythingLLM is an open-source desktop assistant that brings together RAG (Retrieval-Augmented Generation), agents, embeddings, vector databases, and more—all in one seamless package.<p>We built AnythingLLM over the last year iterating and iterating from user feedback. Our primary mission is to enable people with a layperson understanding of AI to be able to use AI with little to no setup for either themselves, their jobs, or just to try out using AI as an assistant but with *privacy by default*.<p>From these iterations & feedback, we have a couple of key learnings I wanted to share:<p>- "Chat with your docs" solutions are a dime-a-dozen<p>- Agent frameworks require knowing how to code or are too isolated from other tools<p>- Users do not care about benchmarks, only outputs. The magic box needs to be magic to them.<p>- Asking Consumers to start a docker container or open a terminal is a non-starter for most.<p>- Privacy by default is non-negotiable. Either by personal preference or legal constraints<p>- Everything needs to be in one place<p>From these ideas, we landed on the current state of AnythingLLM:<p>- Everything in AnythingLLM is private by default, but fully customizable for advanced users.<p>- Built-in LLM provider, but can swap at any time to the hundreds of other local or cloud LLM providers & models.<p>- Built-in Vector Database, most users don't even know that it is there.<p>- Built-in Embedding model, but of course can change if the user wants to.<p>- Scrape websites, import Github/GitLab repos, YouTube Transcripts, Confluence spaces - all of this is already built in for the user.<p>- An entire baked-in agent framework that works seamlessly within the app. We even pre-built a handful of agent skills for customers. Custom plugins are in the next update and will be able to be built with code, or a no-code builder.<p>- All of this just works out of the box in a single installable app that can run on any consumer-grade laptop. Everything a user does, chats, or configures is stored on the user's device. Available for Mac, Windows, and Linux<p>We have been actively maintaining and working on AnythingLLM via our open-source repo for a while now and welcome contributors as we hopefully launch a Community Hub soon to really proliferate users' abilities to add more niche agent skills, data connectors, and more.<p>*But there is even more*<p>We view the desktop app as a hyper-accessible single-player version of AnythingLLM. We publish a Docker image too (<a href="https://hub.docker.com/r/mintplexlabs/anythingllm" rel="nofollow">https://hub.docker.com/r/mintplexlabs/anythingllm</a>) that supports multi-user management with permissioning so that you can easily bring AnythingLLM into an organization with all of the same features with minimal headache or lift.<p>The Docker image is for those more adept with a CLI, but being able to comfortably go from a single-user to a multi-user version of the same familiar app was very important for us.<p>AnythingLLM aims to be more than a UI for LLMs, we are building a comprehensive tool to leverage LLMs and all that they can do while maintaining user privacy and not needing to be an expert on AI to do it.<p><a href="https://anythingllm.com/" rel="nofollow">https://anythingllm.com/</a>
Show HN: AnythingLLM – Open-Source, All-in-One Desktop AI Assistant
Hey HN!<p>This is Tim from AnythingLLM (<a href="https://github.com/Mintplex-Labs/anything-llm">https://github.com/Mintplex-Labs/anything-llm</a>). AnythingLLM is an open-source desktop assistant that brings together RAG (Retrieval-Augmented Generation), agents, embeddings, vector databases, and more—all in one seamless package.<p>We built AnythingLLM over the last year iterating and iterating from user feedback. Our primary mission is to enable people with a layperson understanding of AI to be able to use AI with little to no setup for either themselves, their jobs, or just to try out using AI as an assistant but with *privacy by default*.<p>From these iterations & feedback, we have a couple of key learnings I wanted to share:<p>- "Chat with your docs" solutions are a dime-a-dozen<p>- Agent frameworks require knowing how to code or are too isolated from other tools<p>- Users do not care about benchmarks, only outputs. The magic box needs to be magic to them.<p>- Asking Consumers to start a docker container or open a terminal is a non-starter for most.<p>- Privacy by default is non-negotiable. Either by personal preference or legal constraints<p>- Everything needs to be in one place<p>From these ideas, we landed on the current state of AnythingLLM:<p>- Everything in AnythingLLM is private by default, but fully customizable for advanced users.<p>- Built-in LLM provider, but can swap at any time to the hundreds of other local or cloud LLM providers & models.<p>- Built-in Vector Database, most users don't even know that it is there.<p>- Built-in Embedding model, but of course can change if the user wants to.<p>- Scrape websites, import Github/GitLab repos, YouTube Transcripts, Confluence spaces - all of this is already built in for the user.<p>- An entire baked-in agent framework that works seamlessly within the app. We even pre-built a handful of agent skills for customers. Custom plugins are in the next update and will be able to be built with code, or a no-code builder.<p>- All of this just works out of the box in a single installable app that can run on any consumer-grade laptop. Everything a user does, chats, or configures is stored on the user's device. Available for Mac, Windows, and Linux<p>We have been actively maintaining and working on AnythingLLM via our open-source repo for a while now and welcome contributors as we hopefully launch a Community Hub soon to really proliferate users' abilities to add more niche agent skills, data connectors, and more.<p>*But there is even more*<p>We view the desktop app as a hyper-accessible single-player version of AnythingLLM. We publish a Docker image too (<a href="https://hub.docker.com/r/mintplexlabs/anythingllm" rel="nofollow">https://hub.docker.com/r/mintplexlabs/anythingllm</a>) that supports multi-user management with permissioning so that you can easily bring AnythingLLM into an organization with all of the same features with minimal headache or lift.<p>The Docker image is for those more adept with a CLI, but being able to comfortably go from a single-user to a multi-user version of the same familiar app was very important for us.<p>AnythingLLM aims to be more than a UI for LLMs, we are building a comprehensive tool to leverage LLMs and all that they can do while maintaining user privacy and not needing to be an expert on AI to do it.<p><a href="https://anythingllm.com/" rel="nofollow">https://anythingllm.com/</a>
Show HN: AnythingLLM – Open-Source, All-in-One Desktop AI Assistant
Hey HN!<p>This is Tim from AnythingLLM (<a href="https://github.com/Mintplex-Labs/anything-llm">https://github.com/Mintplex-Labs/anything-llm</a>). AnythingLLM is an open-source desktop assistant that brings together RAG (Retrieval-Augmented Generation), agents, embeddings, vector databases, and more—all in one seamless package.<p>We built AnythingLLM over the last year iterating and iterating from user feedback. Our primary mission is to enable people with a layperson understanding of AI to be able to use AI with little to no setup for either themselves, their jobs, or just to try out using AI as an assistant but with *privacy by default*.<p>From these iterations & feedback, we have a couple of key learnings I wanted to share:<p>- "Chat with your docs" solutions are a dime-a-dozen<p>- Agent frameworks require knowing how to code or are too isolated from other tools<p>- Users do not care about benchmarks, only outputs. The magic box needs to be magic to them.<p>- Asking Consumers to start a docker container or open a terminal is a non-starter for most.<p>- Privacy by default is non-negotiable. Either by personal preference or legal constraints<p>- Everything needs to be in one place<p>From these ideas, we landed on the current state of AnythingLLM:<p>- Everything in AnythingLLM is private by default, but fully customizable for advanced users.<p>- Built-in LLM provider, but can swap at any time to the hundreds of other local or cloud LLM providers & models.<p>- Built-in Vector Database, most users don't even know that it is there.<p>- Built-in Embedding model, but of course can change if the user wants to.<p>- Scrape websites, import Github/GitLab repos, YouTube Transcripts, Confluence spaces - all of this is already built in for the user.<p>- An entire baked-in agent framework that works seamlessly within the app. We even pre-built a handful of agent skills for customers. Custom plugins are in the next update and will be able to be built with code, or a no-code builder.<p>- All of this just works out of the box in a single installable app that can run on any consumer-grade laptop. Everything a user does, chats, or configures is stored on the user's device. Available for Mac, Windows, and Linux<p>We have been actively maintaining and working on AnythingLLM via our open-source repo for a while now and welcome contributors as we hopefully launch a Community Hub soon to really proliferate users' abilities to add more niche agent skills, data connectors, and more.<p>*But there is even more*<p>We view the desktop app as a hyper-accessible single-player version of AnythingLLM. We publish a Docker image too (<a href="https://hub.docker.com/r/mintplexlabs/anythingllm" rel="nofollow">https://hub.docker.com/r/mintplexlabs/anythingllm</a>) that supports multi-user management with permissioning so that you can easily bring AnythingLLM into an organization with all of the same features with minimal headache or lift.<p>The Docker image is for those more adept with a CLI, but being able to comfortably go from a single-user to a multi-user version of the same familiar app was very important for us.<p>AnythingLLM aims to be more than a UI for LLMs, we are building a comprehensive tool to leverage LLMs and all that they can do while maintaining user privacy and not needing to be an expert on AI to do it.<p><a href="https://anythingllm.com/" rel="nofollow">https://anythingllm.com/</a>
Show HN: Graphiti – LLM-Powered Temporal Knowledge Graphs
Hey HN! We're Paul, Preston, and Daniel from Zep. We've just open-sourced Graphiti, a Python library for building temporal Knowledge Graphs using LLMs.<p>Graphiti helps you create and query graphs that evolve over time. Knowledge Graphs have been explored extensively for information retrieval. What makes Graphiti unique is its ability to build a knowledge graph while handling changing relationships and maintaining historical context.<p>At Zep, we build a memory layer for LLM applications. Developers use Zep to recall relevant user information from past conversations without including the entire chat history in a prompt. Accurate context is crucial for LLM applications. If an AI agent doesn't remember that you've changed jobs or confuses the chronology of events, its responses can be jarring or irrelevant, or worse, inaccurate.<p>Before Graphiti, our approach to storing and retrieving user “memory” was, in effect, a specialized RAG pipeline. An LLM extracted “facts” from a user’s chat history. Semantic search, reranking, and other techniques then surfaced facts relevant to the current conversation back to a developer for inclusion in their prompt.<p>We attempted to reconcile how new information may change our understanding of existing facts:<p>Fact: “Kendra loves Adidas shoes”<p>User message: “I’m so angry! My favorite Adidas shoes fell apart! Puma’s are my new favorite shoes!”<p>Facts:<p>- “Kendra used to love Adidas shoes but now prefers Puma.”<p>- “Kendra’s Adidas shoes fell apart.”<p>Unfortunately, this approach became problematic. Reconciling facts from increasingly complex conversations challenged even frontier LLMs such as gpt-4o. We saw incomplete facts, poor recall, and hallucinations. Our RAG search also failed at times to capture the nuanced relationships between facts, leading to irrelevant or contradictory information being retrieved.<p>We tried fixing these issues with prompt optimization but saw diminishing returns on effort. We realized that a graph would help model a user’s complex world, potentially addressing these challenges.<p>We were intrigued by Microsoft’s GraphRAG, which expanded on RAG text chunking with a graph to better model a document corpus. However, it didn't solve our core problem: GraphRAG is designed for static documents and doesn't natively handle temporality.<p>So, we built Graphiti, which is designed from the ground up to handle constantly changing information, hybrid semantic and graph search, and scale:<p>- Temporal Awareness: Tracks changes in facts and relationships over time. Graph edges include temporal metadata to record relationship lifecycles.<p>- Episodic Processing: Ingests data as discrete episodes, maintaining data provenance and enabling incremental processing.<p>- Hybrid Search: Semantic and BM25 full-text search, with the ability to rerank results by distance from a central node.<p>- Scalable: Designed for large datasets, parallelizing LLM calls for batch processing while preserving event chronology.<p>- Varied Sources: Ingests both unstructured text and structured data.<p>Graphiti has significantly improved our ability to maintain accurate user context. It does a far better job of fact reconciliation over long, complex conversations. Node distance reranking, which places a user at the center of the graph, has also been a valuable tool. Quantitative data evaluation results may be a future ShowHN.<p>Work is ongoing, including:<p>1. Improving support for faster and cheaper small language models.<p>2. Exploring fine-tuning to improve accuracy and reduce latency.<p>3. Adding new querying capabilities, including search over neighborhood (sub-graph) summaries.<p>## Getting Started<p>Graphiti is open source and available on GitHub: <a href="https://github.com/getzep/graphiti">https://github.com/getzep/graphiti</a>.<p>We'd love to hear your thoughts. Please also consider contributing!
Show HN: Graphiti – LLM-Powered Temporal Knowledge Graphs
Hey HN! We're Paul, Preston, and Daniel from Zep. We've just open-sourced Graphiti, a Python library for building temporal Knowledge Graphs using LLMs.<p>Graphiti helps you create and query graphs that evolve over time. Knowledge Graphs have been explored extensively for information retrieval. What makes Graphiti unique is its ability to build a knowledge graph while handling changing relationships and maintaining historical context.<p>At Zep, we build a memory layer for LLM applications. Developers use Zep to recall relevant user information from past conversations without including the entire chat history in a prompt. Accurate context is crucial for LLM applications. If an AI agent doesn't remember that you've changed jobs or confuses the chronology of events, its responses can be jarring or irrelevant, or worse, inaccurate.<p>Before Graphiti, our approach to storing and retrieving user “memory” was, in effect, a specialized RAG pipeline. An LLM extracted “facts” from a user’s chat history. Semantic search, reranking, and other techniques then surfaced facts relevant to the current conversation back to a developer for inclusion in their prompt.<p>We attempted to reconcile how new information may change our understanding of existing facts:<p>Fact: “Kendra loves Adidas shoes”<p>User message: “I’m so angry! My favorite Adidas shoes fell apart! Puma’s are my new favorite shoes!”<p>Facts:<p>- “Kendra used to love Adidas shoes but now prefers Puma.”<p>- “Kendra’s Adidas shoes fell apart.”<p>Unfortunately, this approach became problematic. Reconciling facts from increasingly complex conversations challenged even frontier LLMs such as gpt-4o. We saw incomplete facts, poor recall, and hallucinations. Our RAG search also failed at times to capture the nuanced relationships between facts, leading to irrelevant or contradictory information being retrieved.<p>We tried fixing these issues with prompt optimization but saw diminishing returns on effort. We realized that a graph would help model a user’s complex world, potentially addressing these challenges.<p>We were intrigued by Microsoft’s GraphRAG, which expanded on RAG text chunking with a graph to better model a document corpus. However, it didn't solve our core problem: GraphRAG is designed for static documents and doesn't natively handle temporality.<p>So, we built Graphiti, which is designed from the ground up to handle constantly changing information, hybrid semantic and graph search, and scale:<p>- Temporal Awareness: Tracks changes in facts and relationships over time. Graph edges include temporal metadata to record relationship lifecycles.<p>- Episodic Processing: Ingests data as discrete episodes, maintaining data provenance and enabling incremental processing.<p>- Hybrid Search: Semantic and BM25 full-text search, with the ability to rerank results by distance from a central node.<p>- Scalable: Designed for large datasets, parallelizing LLM calls for batch processing while preserving event chronology.<p>- Varied Sources: Ingests both unstructured text and structured data.<p>Graphiti has significantly improved our ability to maintain accurate user context. It does a far better job of fact reconciliation over long, complex conversations. Node distance reranking, which places a user at the center of the graph, has also been a valuable tool. Quantitative data evaluation results may be a future ShowHN.<p>Work is ongoing, including:<p>1. Improving support for faster and cheaper small language models.<p>2. Exploring fine-tuning to improve accuracy and reduce latency.<p>3. Adding new querying capabilities, including search over neighborhood (sub-graph) summaries.<p>## Getting Started<p>Graphiti is open source and available on GitHub: <a href="https://github.com/getzep/graphiti">https://github.com/getzep/graphiti</a>.<p>We'd love to hear your thoughts. Please also consider contributing!
Show HN: I'm making an AI scraper called FetchFox
Hi! I'm Marcell, and I'm working on FetchFox (<a href="https://fetchfoxai.com" rel="nofollow">https://fetchfoxai.com</a>). It's a Chrome extension that lets you use AI to scrape any website for any data. I'd love to get your feedback.<p>Here's a quick demo showing how you can use it to scrape leads from an auto dealer directory. What's cool is that it scrapes non-uniform pages, which is quite hard to do with "traditional" scrapers: <a href="https://youtu.be/wPbyPSFsqzA" rel="nofollow">https://youtu.be/wPbyPSFsqzA</a><p>A little background: I've written lots and lots of scrapers over the last 10+ years. They're fun to write when they work, but the internet has changed in ways that make them harder to write. One change has been the increasing complexity of web pages due to SPAs and obfuscated CSS/HTML.<p>I started experimenting with using ChatGPT to parse pages, and it's surprisingly effective. It can take the raw text and/or HTML of a page, and answer most scraping requests. And in addition to traditional scraping thigns like pulling out prices, it can extract subjective data, like summarizing the tone of an article.<p>As an example, I used FetchFox to scrape Hacker News comment threads. I asked it for the number of comments, and also for a summary of the topic and tone of the articles. Here are the results: <a href="https://fetchfoxai.com/s/cSXpBs3qBG" rel="nofollow">https://fetchfoxai.com/s/cSXpBs3qBG</a> . You can see the prompt I used for this scrape here: <a href="https://imgur.com/uBQRIYv" rel="nofollow">https://imgur.com/uBQRIYv</a><p>Right now, the tool does a "two step" scrape. It starts with an initial page, (like LinkedIn) and looks for specific types of links on that page, (like links to software engineer profiles). It does this using an LLM, which receives a list of links from the page, and looks for the relevant ones.<p>Then, it queues up each link for an individual scrape. It directs Chrome to visit the pages, get the text/HTML, and then analyze it using an LLM.<p>There are options for how fast/slow to do the scrape. Some sites (like HN) are friendly, and you can scrape them very fast. For example here's me scraping Amazon with 50 tabs: <a href="https://x.com/ortutay/status/1824344168350822434" rel="nofollow">https://x.com/ortutay/status/1824344168350822434</a> . Other sites (like LinkedIn) have strong anti-scraping measures, so it's better to use the "1 foreground tab" option. This is slower, but it gives better results on those sites.<p>The extension is 100% free forever if you use your OpenAI API key. It's also free "for now" with our backend server, but if that gets overloaded or too expensive we'll have to introduce a paid plan.<p>Last thing, you can check out the code at <a href="https://github.com/fetchfox/fetchfox">https://github.com/fetchfox/fetchfox</a> . Contributions welcome :)
Show HN: I'm making an AI scraper called FetchFox
Hi! I'm Marcell, and I'm working on FetchFox (<a href="https://fetchfoxai.com" rel="nofollow">https://fetchfoxai.com</a>). It's a Chrome extension that lets you use AI to scrape any website for any data. I'd love to get your feedback.<p>Here's a quick demo showing how you can use it to scrape leads from an auto dealer directory. What's cool is that it scrapes non-uniform pages, which is quite hard to do with "traditional" scrapers: <a href="https://youtu.be/wPbyPSFsqzA" rel="nofollow">https://youtu.be/wPbyPSFsqzA</a><p>A little background: I've written lots and lots of scrapers over the last 10+ years. They're fun to write when they work, but the internet has changed in ways that make them harder to write. One change has been the increasing complexity of web pages due to SPAs and obfuscated CSS/HTML.<p>I started experimenting with using ChatGPT to parse pages, and it's surprisingly effective. It can take the raw text and/or HTML of a page, and answer most scraping requests. And in addition to traditional scraping thigns like pulling out prices, it can extract subjective data, like summarizing the tone of an article.<p>As an example, I used FetchFox to scrape Hacker News comment threads. I asked it for the number of comments, and also for a summary of the topic and tone of the articles. Here are the results: <a href="https://fetchfoxai.com/s/cSXpBs3qBG" rel="nofollow">https://fetchfoxai.com/s/cSXpBs3qBG</a> . You can see the prompt I used for this scrape here: <a href="https://imgur.com/uBQRIYv" rel="nofollow">https://imgur.com/uBQRIYv</a><p>Right now, the tool does a "two step" scrape. It starts with an initial page, (like LinkedIn) and looks for specific types of links on that page, (like links to software engineer profiles). It does this using an LLM, which receives a list of links from the page, and looks for the relevant ones.<p>Then, it queues up each link for an individual scrape. It directs Chrome to visit the pages, get the text/HTML, and then analyze it using an LLM.<p>There are options for how fast/slow to do the scrape. Some sites (like HN) are friendly, and you can scrape them very fast. For example here's me scraping Amazon with 50 tabs: <a href="https://x.com/ortutay/status/1824344168350822434" rel="nofollow">https://x.com/ortutay/status/1824344168350822434</a> . Other sites (like LinkedIn) have strong anti-scraping measures, so it's better to use the "1 foreground tab" option. This is slower, but it gives better results on those sites.<p>The extension is 100% free forever if you use your OpenAI API key. It's also free "for now" with our backend server, but if that gets overloaded or too expensive we'll have to introduce a paid plan.<p>Last thing, you can check out the code at <a href="https://github.com/fetchfox/fetchfox">https://github.com/fetchfox/fetchfox</a> . Contributions welcome :)
Show HN: Mem0 – open-source Memory Layer for AI apps
Hey HN! We're Taranjeet and Deshraj, the founders of Mem0 (<a href="https://mem0.ai">https://mem0.ai</a>). Mem0 adds a stateful memory layer to AI applications, allowing them to remember user interactions, preferences, and context over time. This enables AI apps to deliver increasingly personalized and intelligent experiences that evolve with every interaction. There’s a demo video at <a href="https://youtu.be/VtRuBCTZL1o" rel="nofollow">https://youtu.be/VtRuBCTZL1o</a> and a playground to try out at <a href="https://app.mem0.ai/playground">https://app.mem0.ai/playground</a>. You'll need to sign up to use the playground – this helps ensure responses are more tailored to you by associating interactions with an individual profile.<p>Current LLMs are stateless—they forget everything between sessions. This limitation leads to repetitive interactions, a lack of personalization, and increased computational costs because developers must repeatedly include extensive context in every prompt.<p>When we were building Embedchain (an open-source RAG framework with over 2M downloads), users constantly shared their frustration with LLMs’ inability to remember anything between sessions. They had to repeatedly input the same context, which was costly and inefficient. We realized that for AI to deliver more useful and intelligent responses, it needed memory. That’s when we started building Mem0.<p>Mem0 employs a hybrid datastore architecture that combines graph, vector, and key-value stores to store and manage memories effectively. Here is how it works:<p>Adding memories: When you use mem0 with your AI App, it can take in any messages or interactions and automatically detects the important parts to remember.<p>Organizing information: Mem0 sorts this information into different categories: - Facts and structured data go into a key-value store for quick access. - Connections between things (like people, places, or objects) are saved in a graph store that understands relationships between different entities. - The overall meaning and context of conversations are stored in a vector store that allows for finding similar memories later.<p>Retrieving memories: When given an input query, Mem0 searches for and retrieves related stored information by leveraging a combination of graph traversal techniques, vector similarity and key-value lookups. It prioritizes the most important, relevant, and recent information, making sure the AI always has the right context, no matter how much memory is stored.<p>Unlike traditional AI applications that operate without memory, Mem0 introduces a continuously learning memory layer. This reduces the need to repeatedly include long blocks of context in every prompt, which lowers computational costs and speeds up response times. As Mem0 learns and retains information over time, AI applications become more adaptive and provide more relevant responses without relying on large context windows in each interaction.<p>We’ve open-sourced the core technology that powers Mem0—specifically the memory management functionality in the vector and graph databases, as well as the stateful memory layer—under the Apache 2.0 license. This includes the ability to add, organize, and retrieve memories within your AI applications.<p>However, certain features that are optimized for production use, such as low latency inference, and the scalable graph and vector datastore for real-time memory updates, are part of our paid platform. These advanced capabilities are not part of the open-source package but are available for those who need to scale memory management in production environments.<p>We’ve made both our open-source version and platform available for HN users. You can check out our GitHub repo (<a href="https://github.com/mem0ai/mem0">https://github.com/mem0ai/mem0</a>) or explore the platform directly at <a href="https://app.mem0.ai/playground">https://app.mem0.ai/playground</a>.<p>We’d love to hear what you think! Please feel free to dive into the playground, check out the code, and share any thoughts or suggestions with us. Your feedback will help shape where we take Mem0 from here!
Show HN: Mem0 – open-source Memory Layer for AI apps
Hey HN! We're Taranjeet and Deshraj, the founders of Mem0 (<a href="https://mem0.ai">https://mem0.ai</a>). Mem0 adds a stateful memory layer to AI applications, allowing them to remember user interactions, preferences, and context over time. This enables AI apps to deliver increasingly personalized and intelligent experiences that evolve with every interaction. There’s a demo video at <a href="https://youtu.be/VtRuBCTZL1o" rel="nofollow">https://youtu.be/VtRuBCTZL1o</a> and a playground to try out at <a href="https://app.mem0.ai/playground">https://app.mem0.ai/playground</a>. You'll need to sign up to use the playground – this helps ensure responses are more tailored to you by associating interactions with an individual profile.<p>Current LLMs are stateless—they forget everything between sessions. This limitation leads to repetitive interactions, a lack of personalization, and increased computational costs because developers must repeatedly include extensive context in every prompt.<p>When we were building Embedchain (an open-source RAG framework with over 2M downloads), users constantly shared their frustration with LLMs’ inability to remember anything between sessions. They had to repeatedly input the same context, which was costly and inefficient. We realized that for AI to deliver more useful and intelligent responses, it needed memory. That’s when we started building Mem0.<p>Mem0 employs a hybrid datastore architecture that combines graph, vector, and key-value stores to store and manage memories effectively. Here is how it works:<p>Adding memories: When you use mem0 with your AI App, it can take in any messages or interactions and automatically detects the important parts to remember.<p>Organizing information: Mem0 sorts this information into different categories: - Facts and structured data go into a key-value store for quick access. - Connections between things (like people, places, or objects) are saved in a graph store that understands relationships between different entities. - The overall meaning and context of conversations are stored in a vector store that allows for finding similar memories later.<p>Retrieving memories: When given an input query, Mem0 searches for and retrieves related stored information by leveraging a combination of graph traversal techniques, vector similarity and key-value lookups. It prioritizes the most important, relevant, and recent information, making sure the AI always has the right context, no matter how much memory is stored.<p>Unlike traditional AI applications that operate without memory, Mem0 introduces a continuously learning memory layer. This reduces the need to repeatedly include long blocks of context in every prompt, which lowers computational costs and speeds up response times. As Mem0 learns and retains information over time, AI applications become more adaptive and provide more relevant responses without relying on large context windows in each interaction.<p>We’ve open-sourced the core technology that powers Mem0—specifically the memory management functionality in the vector and graph databases, as well as the stateful memory layer—under the Apache 2.0 license. This includes the ability to add, organize, and retrieve memories within your AI applications.<p>However, certain features that are optimized for production use, such as low latency inference, and the scalable graph and vector datastore for real-time memory updates, are part of our paid platform. These advanced capabilities are not part of the open-source package but are available for those who need to scale memory management in production environments.<p>We’ve made both our open-source version and platform available for HN users. You can check out our GitHub repo (<a href="https://github.com/mem0ai/mem0">https://github.com/mem0ai/mem0</a>) or explore the platform directly at <a href="https://app.mem0.ai/playground">https://app.mem0.ai/playground</a>.<p>We’d love to hear what you think! Please feel free to dive into the playground, check out the code, and share any thoughts or suggestions with us. Your feedback will help shape where we take Mem0 from here!
Show HN: An open-source implementation of AlphaFold3
Hi HN - we’re the founders of Ligo Biosciences and are excited to share an open-source implementation of AlphaFold3, the frontier model for protein structure prediction.<p>Google DeepMind and their new startup Isomorphic Labs, are expanding into drug discovery. They developed AlphaFold3 as their model to accelerate drug discovery and create demand from big pharma. They already signed Novartis and Eli Lilly for $3 billion - Google’s becoming a pharma company! (<a href="https://www.isomorphiclabs.com/articles/isomorphic-labs-kicks-off-2024-with-two-pharmaceutical-collaborations" rel="nofollow">https://www.isomorphiclabs.com/articles/isomorphic-labs-kick...</a>)<p>AlphaFold3 is a biomolecular structure prediction model that can do three main things: (1) Predict the structure of proteins; (2) Predict the structure of drug-protein interactions; (3) Predict nucleic acid - protein complex structure.<p>AlphaFold3 is incredibly important for science because it vastly accelerates the mapping of protein structures. It takes one PhD student their entire PhD to do one structure. With AlphaFold3, you get a prediction in minutes on par with experimental accuracy.<p>There’s just one problem: when DeepMind published AlphaFold3 in May (<a href="https://www.nature.com/articles/s41586-024-07487-w" rel="nofollow">https://www.nature.com/articles/s41586-024-07487-w</a>), there was no code. This
brought up questions about reproducibility (<a href="https://www.nature.com/articles/d41586-024-01463-0" rel="nofollow">https://www.nature.com/articles/d41586-024-01463-0</a>) as well as complaints from the scientific community (<a href="https://undark.org/2024/06/06/opinion-alphafold-3-open-source/" rel="nofollow">https://undark.org/2024/06/06/opinion-alphafold-3-open-sourc...</a>).<p>AlphaFold3 is a fundamental advance in structure modeling technology that the entire biotech industry deserves to be able to reap the benefits from. Its applications are vast, including:<p>- CRISPR gene editing technologies, where scientists can see exactly how the DNA interacts with the scissor Cas protein;<p>- Cancer research - predicting how a potential drug binds to the cancer target. One of the highlights in DeepMind’s paper is the prediction of a clinical KRAS inhibitor in complex with its target.<p>- Antibody / nanobody to target predictions. AlphaFold3 improves accuracy on this class of molecules 2 fold compared to the next best tool.<p>Unfortunately, no companies can use it since it is under a non-commercial license!<p>Today we are releasing the full model trained on single chain proteins (capability 1 above), with the other two capabilities to be trained and released soon. We also include the training code. Weights will be released once training and benchmarking is complete. We wanted this to be truly open source so we used the Apache 2.0 license.<p>Deepmind published the full structure of the model, along with each components’ pseudocode in their paper. We translated this fully into PyTorch, which required more reverse engineering than we thought!<p>When building the initial version, we discovered multiple issues in DeepMind’s paper that would interfere with the training - we think the deep learning community might find these especially interesting. (Diffusion folks, we would love feedback on this!) These include:<p>- MSE loss scaling differs from Karras et al. (2022). The weighting provided in the paper does not downweigh the loss at high noise levels.<p>- Omission of residual layers in the paper - we add these back and see benefits in gradient flow and convergence. Anyone have any idea why Deepmind may have omitted the residual connections in the DiT blocks?<p>- The MSA module, in its current form, has dead layers. The last pair weighted averaging and transition layers cannot contribute to the pair representation, hence no grads. We swap the order to the one in the ExtraMsaStack in AlphaFold2. An alternative solution would be to use weight sharing, but whether this is done is ambiguous in the paper.<p>More about those issues here: <a href="https://github.com/Ligo-Biosciences/AlphaFold3">https://github.com/Ligo-Biosciences/AlphaFold3</a><p>How this came about: we are building Ligo (YC S24), where we are using ideas from AlphaFold3 for enzyme design. We thought open sourcing it was a nice side quest to benefit the community.<p>For those on Twitter, there was a good thread a few days ago that has more information:
<a href="https://twitter.com/ArdaGoreci/status/1830744265007480934" rel="nofollow">https://twitter.com/ArdaGoreci/status/1830744265007480934</a>.<p>A few shoutouts:
A huge thanks to OpenFold for pioneering the previous open source implementation of AlphaFold
We did a lot of our early prototyping with proteinFlow developed by Lisa at AdaptyvBio we also look forward to partnering with them to bring you the next versions!
We are also partnering with Basecamp Research to supply this model with the best sequence data known to science.
Matthew Clark (<a href="https://batisio.co.uk" rel="nofollow">https://batisio.co.uk</a>) for his amazing animations!<p>We’re around to answer questions and look forward to hearing from you!