The blog of deepset's Haystack, an open source framework for building LLM pipelines, RAG, and AI agents.
HN commenters mention it mostly because another project shares the Haystack name, which they say causes confusion and a namespace conflict with this active framework.
Thanks for the spotlight :) We've spent quite a lot of time working on the Agents lately, and it's definitely a big focus. Couple of extra points to reflect on some of the comments here. It's quite straightforward to build a hybrid NLP backend with Haystack combining either hosted LLM (e.g., OpenAI or Cohere), or local, smaller Transformer models, or both. Agents add another level of control on top of that, as described in the article and in the comments. This provides more flexibility wrt bridging it to the relevant data and extract/generate accurate non-hallucinatory answers. Join our Discord too :) https://haystack.deepset.ai/community
Indeed this tutorial on Haystack is a good one as an example: https://haystack.deepset.ai/tutorials/22_pipeline_with_promptnode
It combines a retrieval step followed by a prompt layer which inserts the relevant context into the prompt. You can however change the 'retrieval step' with something that uses a proper embedding model and OpenAI also provides those if you want to. I tend to use lighter (cheaper) OSS models for this step though. PS: There's some functionality in the PromptNode to make sure you don't exceed prompt limit.
I used Haystack due to the readily available colab notebook[1] for their tutorials. I wanted to feed my own text corpus to it, and that was the fastest way available.
Langchain docs are helpful, and it would be even better if you published an end-to-end notebook using a popular dataset. Definitely looking forward to try langchain as I dive deeper into this.
1. https://haystack.deepset.ai/blog/how-to-build-a-semantic-search-engine-in-python
Did you really have to pick the same name as the Haystack open source AI framework? https://haystack.deepset.ai/ https://github.com/deepset-ai/haystack
It's a very active project and it's confusing to have two projects with the same name. Besides, I don't understand why you'd give a "2D digital whiteboard that automatically draws connections between code as you navigate and edit files" the name haystack.
Namespace conflict, and yes it does matter. Just as "mamba" was an anaconda package manager re-implementation before it got commandeered by the LLM research crowd, now Haystack is being stolen away from Deepset: https://github.com/deepset-ai/haystack
https://haystack.deepset.ai/
I haven't tried any of them but there's semantic-kernel and autogen by Microsoft, and Haystack.
https://github.com/microsoft/semantic-kernel
https://github.com/microsoft/autogen
https://haystack.deepset.ai/