I am working on supporting compatibility with other embeddding models, and we will have that soon, for now I had to reduce the compatibility only to Sentence Transformers.
For what concerns page numbers, I am also working toward having better and more extensive metadata: everything is a big work-in-progress and will come in future releases!
Clelia Astra Bertelli
AI & ML interests
Recent Activity
Organizations
as-cle-bert's activity


So, there are two possibilities:
- If you mean customizing the embedder among the ones available within Sentence Transformers, it is very possible, you just have to change the
embedding_model
parameter when calling theingest
method - If you mean that you have your own embedding model (like saved on your PC), that is a tad more difficult. I think Sentence Transformer might allow loading the model from your PC as long as it is compatible with the package. I think that this guide might be useful in that regard
For now the package only supports Sentence Transformers models, in the future it will probably extend its support to other embedding models as well :)

What if I told you that you can do it within three to six lines of code?๐คฏ
Well, with my latest open-source project, ๐ข๐ง๐ ๐๐ฌ๐ญ-๐๐ง๐ฒ๐ญ๐ก๐ข๐ง๐ (https://github.com/AstraBert/ingest-anything), you can take all your non-PDF files, convert them to PDF, extract their text, chunk, embed and load them into a vector database, all in one go!๐
How? It's pretty simple!
๐ The input files are converted into PDF by PdfItDown (https://github.com/AstraBert/PdfItDown)
๐ The PDF text is extracted using LlamaIndex readers
๐ฆ The text is chunked exploiting Chonkie
๐งฎ The chunks are embedded thanks to Sentence Transformers models
๐๏ธ The embeddings are loaded into a Qdrant vector database
And you're done!โ
Curious of trying it? Install it by running:
๐ฑ๐ช๐ฑ ๐ช๐ฏ๐ด๐ต๐ข๐ญ๐ญ ๐ช๐ฏ๐จ๐ฆ๐ด๐ต-๐ข๐ฏ๐บ๐ต๐ฉ๐ช๐ฏ๐จ
And you can start using it in your python scripts!๐
Don't forget to star it on GitHub and let me know if you have any feedback! โก๏ธ https://github.com/AstraBert/ingest-anything

Hey @T-2000 , you're absolutely right! I'm in the process of making the application online so for now the repo got a bit messy, tomorrow it will be clean and ready to be spinned up also locally: sorry for the incovenient!

That's why I decided to build ๐๐๐ฌ๐ฎ๐ฆ๐ ๐๐๐ญ๐๐ก๐๐ซ (https://github.com/AstraBert/resume-matcher), a fully open-source application that scans your resume and searches the web for jobs that match with it!๐
The workflow is very simple:
๐ฆ A LlamaExtract agent parses the resume and extracts valuable data that represent your profile
๐๏ธThe structured data are passed on to a Job Matching Agent (built with LlamaIndex๐) that uses them to build a web search query based on your resume
๐ The web search is handled by Linkup, which finds the top matches and returns them to the Agent
๐ The agent evaluates the match between your profile and the jobs, and then returns a final answer to you
So, are you ready to find a job suitable for you?๐ผ You can spin up the application completely locally and with Docker, starting from the GitHub repo โก๏ธ https://github.com/AstraBert/resume-matcher
Feel free to leave your feedback and let me know in the comments if you want an online version of Resume Matcher as well!โจ

I used good old Canva (pro :)

The workflow behind ๐๐น๐ฎ๐บ๐ฎ๐ฅ๐ฒ๐๐ฒ๐ฎ๐ฟ๐ฐ๐ต๐ฒ๐ฟ is simple:
๐ฌ You submit a query
๐ก๏ธ Your query is evaluated by Llama 3 guard model, which deems it safe or unsafe
๐ง If your query is safe, it is routed to the Researcher Agent
โ๏ธ The Researcher Agent expands the query into three sub-queries, with which to search the web
๐ The web is searched for each of the sub-queries
๐ The retrieved information is evaluated for relevancy against your original query
โ๏ธ The Researcher Agent produces an essay based on the information it gathered, paying attention to referencing its sources
The agent itself is also built with easy-to-use and intuitive blocks:
๐ฆ LlamaIndex provides the agentic architecture and the integrations with the language models
โกGroq makes Llama-4 available with its lightning-fast inference
๐ Linkup allows the agent to deep-search the web and provides sourced answers
๐ช FastAPI does the heavy loading with wrapping everything within an elegant API interface
โฑ๏ธ Redis is used for API rate limiting
๐จ Gradio creates a simple but powerful user interface
Special mention also to Lovable, which helped me build the first draft of the landing page for LlamaResearcher!๐
If you're curious and you want to try LlamaResearcher, you can - completely for free and without subscription - for 30 days from now โก๏ธ https://llamaresearcher.com
And if you're like me, and you like getting your hands in code and build stuff on your own machine, I have good news: this is all open-source, fully reproducible locally and Docker-ready๐
Just go to the GitHub repo: https://github.com/AstraBert/llama-4-researcher and don't forget to star it, if you find it useful!โญ
As always, have fun and feel free to leave your feedbackโจ

Meet ๐๐ฒ๐๐๐ (๐ง๐pe๐ฆcript ๐ฉoice ๐ssistant, https://github.com/AstraBert/TySVA), your (speaking) AI companion for everyday TypeScript programming tasks!๐๏ธ
TySVA is a skilled TypeScript expert and, to provide accurate and up-to-date responses, she leverages the following workflow:
๐ฃ๏ธ If you talk to her, she converts the audio into a textual prompt, and use it a starting point to answer your questions (if you send a message, she'll use directly that๐ฌ)
๐ง She can solve your questions by (deep)searching the web and/or by retrieving relevant information from a vector database containing TypeScript documentation. If the answer is simple, she can also reply directly (no tools needed!)
๐ To ease her life, TySVA has all the tools she needs available through Model Context Protocol (MCP)
๐ Once she's done, she returns her answer to you, along with a voice summary of what she did and what solution she found
But how does she do that? What are her components?๐คจ
๐ Qdrant + HuggingFace give her the documentation knowledge, providing the vector database and the embeddings
๐ Linkup provides her with up-to-date, grounded answers, connecting her to the web
๐ฆ LlamaIndex makes up her brain, with the whole agentic architecture
๐ค ElevenLabs gives her ears and mouth, transcribing and producing voice inputs and outoputs
๐ Groq provides her with speech, being the LLM provider behind TySVA
๐จ Gradio+FastAPI make up her face and fibers, providing a seamless backend-to-frontend integration
If you're now curious of trying her, you can easily do that by spinning her up locally (and with Docker!๐) from the GitHub repo โก๏ธ https://github.com/AstraBert/TySVA
And feel free to leave any feedback!โจ

Well, I might have a tool for you: ๐๐๐๐๐๐จ๐ญ๐๐ฌ (https://github.com/AstraBert/pdf2notes) is an ๐๐-๐ฝ๐ผ๐๐ฒ๐ฟ๐ฒ๐ฑ, ๐ผ๐ฝ๐ฒ๐ป-๐๐ผ๐๐ฟ๐ฐ๐ฒ solution that lets you turn your unstructured and chaotic PDFs into nice and well-ordered notes in a matter of seconds!๐
๐๐ผ๐ ๐ฑ๐ผ๐ฒ๐ ๐ถ๐ ๐๐ผ๐ฟ๐ธ?
๐ You first upload a document
โ๏ธ LlamaParse by LlamaIndex extracts the text from the document, using DeepMind's Gemini 2 Flash to perform multi-modal parsing
๐ง Llama-3.3-70B by Groq turns the extracted text into notes!
The notes are not perfect or you want more in-depth insights? No problem:
๐ฌ Send a direct message to the chatbot
โ๏ธ The chatbot will retrieve the chat history from a Postgres database
๐ง Llama-3.3-70B will produce the answer you need
All of this is nicely wrapped within a seamless backend-to-frontend framework powered by Gradio and FastAPI๐จ
And you can even spin it up easily and locally, using Docker๐
So, what are you waiting for? Go turn your hundreds of pages of chaotic learning material into neat and elegant notes โก๏ธ https://github.com/AstraBert/pdf2notes
And, if you would like an online demo, feel free to drop a comment - we'll see what we can build๐

GitHub ๐ https://github.com/AstraBert/ragcoon
Are you building a startup and you're stuck in the process, trying to navigate hundreds of resources, suggestions and LinkedIn posts?๐ถโ๐ซ๏ธ
Well, fear no more, because ๐ฅ๐๐๐ฐ๐ผ๐ผ๐ป๐ฆ is here to do some of the job for you:
๐ It's built on free resources written by successful founders
โ๏ธ It performs complex retrieval operations, exploiting "vanilla" hybrid search, query expansion with an ๐ต๐๐ฝ๐ผ๐๐ต๐ฒ๐๐ถ๐ฐ๐ฎ๐น ๐ฑ๐ผ๐ฐ๐๐บ๐ฒ๐ป๐ approach and ๐บ๐๐น๐๐ถ-๐๐๐ฒ๐ฝ ๐พ๐๐ฒ๐ฟ๐ ๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ผ๐๐ถ๐๐ถ๐ผ๐ป
๐ It evaluates the ๐ฟ๐ฒ๐น๐ถ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐ of the retrieved context, and the ๐ฟ๐ฒ๐น๐ฒ๐๐ฎ๐ป๐ฐ๐ and ๐ณ๐ฎ๐ถ๐๐ต๐ณ๐๐น๐ป๐ฒ๐๐ of its own responses, in an auto-correction effort
RAGcoon๐ฆ is ๐ผ๐ฝ๐ฒ๐ป-๐๐ผ๐๐ฟ๐ฐ๐ฒ and relies on easy-to-use components:
๐นLlamaIndex is at the core of the agent architecture, provisions the integrations with language models and vector database services, and performs evaluations
๐น Qdrant is your go-to, versatile and scalable companion for vector database services
๐นGroq provides lightning-fast LLM inference to support the agent, giving it the full power of ๐ค๐๐ค-๐ฏ๐ฎ๐ by Qwen
๐นHugging Face provides the embedding models used for dense and sparse retrieval
๐นFastAPI wraps the whole backend into an API interface
๐น๐ ๐ฒ๐๐ผ๐ฝ by Google is used to serve the application frontend
RAGcoon๐ฆ can be spinned up locally - it's ๐๐ผ๐ฐ๐ธ๐ฒ๐ฟ-๐ฟ๐ฒ๐ฎ๐ฑ๐๐, and you can find the whole code to reproduce it on GitHub ๐ https://github.com/AstraBert/ragcoon
But there might be room for an online version of RAGcoon๐ฆ: let me know if you would use it - we can connect and build it together!๐
Update requirements.txt


GitHub ๐ https://github.com/AstraBert/diRAGnosis
PyPi ๐ https://pypi.org/project/diragnosis/
It's called ๐๐ข๐๐๐๐ง๐จ๐ฌ๐ข๐ฌ and is a lightweight framework that helps you ๐ฑ๐ถ๐ฎ๐ด๐ป๐ผ๐๐ฒ ๐๐ต๐ฒ ๐ฝ๐ฒ๐ฟ๐ณ๐ผ๐ฟ๐บ๐ฎ๐ป๐ฐ๐ฒ ๐ผ๐ณ ๐๐๐ ๐ ๐ฎ๐ป๐ฑ ๐ฟ๐ฒ๐๐ฟ๐ถ๐ฒ๐๐ฎ๐น ๐บ๐ผ๐ฑ๐ฒ๐น๐ ๐ถ๐ป ๐ฅ๐๐ ๐ฎ๐ฝ๐ฝ๐น๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป๐.
You can launch it as an application locally (it's Docker-ready!๐) or, if you want more flexibility, you can integrate it in your code as a python package๐ฆ
The workflow is simple:
๐ง You choose your favorite LLM provider and model (supported, for now, are Mistral AI, Groq, Anthropic, OpenAI and Cohere)
๐ง You pick the embedding models provider and the embedding model you prefer (supported, for now, are Mistral AI, Hugging Face, Cohere and OpenAI)
๐ You prepare and provide your documents
โ๏ธ Documents are ingested into a Qdrant vector database and transformed into a synthetic question dataset with the help of LlamaIndex
๐ The LLM is evaluated for the faithfulness and relevancy of its retrieval-augmented answer to the questions
๐ The embedding model is evaluated for hit rate and mean reciprocal ranking (MRR) of the retrieved documents
And the cool thing is that all of this is ๐ถ๐ป๐๐๐ถ๐๐ถ๐๐ฒ ๐ฎ๐ป๐ฑ ๐ฐ๐ผ๐บ๐ฝ๐น๐ฒ๐๐ฒ๐น๐ ๐ฎ๐๐๐ผ๐บ๐ฎ๐๐ฒ๐ฑ: you plug it in, and it works!๐โก
Even cooler? This is all built on top of LlamaIndex and its integrations: no need for tons of dependencies or fancy workarounds๐ฆ
And if you're a UI lover, Gradio and FastAPI are there to provide you a seamless backend-to-frontend experience๐ถ๏ธ
So now it's your turn: you can either get diRAGnosis from GitHub ๐ https://github.com/AstraBert/diRAGnosis
or just run a quick and painless:
uv pip install diragnosis
To get the package installed (lightning-fast) in your environment๐โโ๏ธ
Have fun and feel free to leave feedback and feature/integrations requests on GitHub issuesโจ

Hi there, just wanted to reach out also here, so that if people see our conversation know that this feature has been integrated: you can now find it in the v0.1.0 of the package, already installable via pip.
Have fun!

I did not specify any configuration, but I'm pretty sure we could play around with Supabase and set a login/logout status for the user (like saying: the user last logged in at time X and logged out at time Y; if Y > X, then the user can login in again, else they cannot).
If you want, I can put it in the roadmap for the next release of the package: then I would ask you to open an issue here: https://github.com/AstraBert/streamlit_supabase_auth_ui/issues so that I can add it to the milestone for v0.1.0 :)