Introducing a new version of knowledge which is my search engine / bookmark system in which I designed my own AI feed without the noise of X
HN user
raphaelty
PhD in NLP, I love Open Source
While semantic search shine at various tasks including advanced search engine and recommender systems, it did not shine that much on coding task so far appart from benchmarks available in papers. We think standard semantic code search tools lack of advanced filtering features. A key element to code search is to be able to reduce "search space", i.e reduce the set of likely candidates given the intent of the user or the coding agent. We think semantic search alone is not enough and needs to be paired with advanced filters such as GREP filters to succeed.
Very interesting, wondering if there are other heavily used algorithm which could benefit a lot from a "Flash" version but don't have one today
Very cool to spot such missing feature from Vision Language Models
Very interesting, willing to try burn
Blog introducing late-interaction models with max-similarity scoring function visualization. pylate-rs is a rust crate providing python and wasm bindings.
Very interesting work! Starred the project. Would love to see such features integrated into the compiler itself Anyway, fully agree with you on the complementarity of ML and Rust
I created my personnal search engine to index and retrieve content I like. I like the idea of keeping track of content you like without too much effort.
https://github.com/raphaelsty/knowledge
I did not find yet a solution that suit me for knowledge which is not an online webpage / pdf.
Thank you for this ! Knowledge is primarly inspired by http://www.semanlink.net/sl/home
Author here, I like the idea to have a public and personal search-engine. I'd love to deep dive in some people bookmarks such as expert in NLP field in order to get clue / a point of view on problem I want to solve but those informations are not available most of the time
Amazed by 3d-force-graph js library
It upload content some of my friends like (github stars) and they have very good taste, so when I'm looking for a document / information on a new topic in machine learning or databases I like to give it a chance
I did develop this when I was PhD student in NLP. I think it's fine to learn to develop a personal search system if you want to learn.
The ask button is provided by chatgpt api here
The library is clean and well documented
You could recommend content based on user query, tag content produced by the user, use colbert as part of a ChatBot to show evidences to the user questions
Yes, ColBERT is fast because you can pre-compute most embeddings. It's important to compute documents embeddings only once. neural-cherche do not compute embeddings on the fly and the retrieve method ask for queries and documents embeddings rather than queries and documents texts.
Documents and queries embeddings can be obtained using .encode_documents and .encode_queries methods
I save most of my embeddings (python dictionnary with documents id as key and embeddings as values) using joblib in a Bucket in the cloud. I don't really know if it's a good pratice but it does scale fine to few millions documents for offline (no real-time) applications.
It's because of the loss of the model. I ask the model to produce a higher similarity between the query and the positive document rather than between the query and the negative document. I'll add more losses soon so there are more choices
Nice, it might already be compatible with BGE, I'll try it and add it to the documentation soon
Yes exactly
In the documentation there is an evaluation module with detailed informations. The idea is to gather relevant pairs of queries and documents that are not part of the training set. Then the idea is to measure, using various metrics, how your model can retrieve accurate documents.
Hi, there is a single loss right now, but I plan to add some Sentence Transformers losses. ColBERT is slow as a retriever, but is quite efficient as a Ranker on GPU (way faster than cross-encoder). I plan to release pre-trained checkpoints on HuggingFace with benchmarks using BEIRand inference speed info.
Cherche 2.0 is now available, and it's been optimized for batch-computing, along with other new features. Whether you're a practitioner, researcher, or hacker interested in semantic search, Cherche might be a good fit for your needs.
I build my personnal search engine which record things I like on twitter, blog posts etc.. It automatically calls those APIs using Github Action and store them in an open source database (json file)
I actualy use it at least twice a week to retrieve content I bookmarked, so I'm happy to have created such a tool.
The app: https://raphaelsty.github.io/knowledge/?query=bayesian
The Github: https://github.com/raphaelsty/knowledge
I think 10 million documents is a large corpus. A retriever like Sklearn TfIdf will have a hard time handling it in a reasonable time. The main goal of Cherche is to prototype a neural search engine quickly and with a large choice of retrievers and rankers for corpus sizes < 1 million documents which is a common use case in the industry.
Search implements a wrapper of the Python ElasticSearch client that is scalable and dedicated to corpora composed of tens of millions of documents.
Thank you for these great resources.
Hi,
1) The dependency on the Elasticsearch python client allows Elasticsearch to be used as a retriever. The same goes for Lunr. It might be interesting to separate the different dependencies.
2) Of course I'll update it.
I'm more used to reading than posting on Hacker News. I'll do better next time. :)
Knowledges graphs are structured resources in the form of graphs that contain knowledge. These resources are used in a large number of applications linked to the machine learning.
I just published a library dedicated to knowledges graphs embeddings. The Mkb API is inspired by Scikit Learn. I provide modular tools for building latent graph representations.