LLMs for Devs
LLMs for Devs
  • 8
  • 239 508
Don't naive RAG do hybrid search instead (Pinecone Weaviate or pgvector + full text search & rerank)
We'll compare hybrid search using Pinecone, Weaviate and then Postgres (Supabase) full text search + pgvector and then rerank using Jina AI's Reranker.
👨‍💻 Code: github.com/trancethehuman/ai-workshop-code/blob/main/Hybrid_Search_Workshop.ipynb
Tools mentioned:
@pinecone-io: www.pinecone.io/
@Weaviate: weaviate.io/
@Supabase: supabase.com/
@JinaAI Reranker: jina.ai/reranker/
Vecs (Python): github.com/supabase/vecs
🚌 Sign up for my upcoming AI engineering course: tally.so/r/n9daQ1
Follow me on Twitter: haithehuman
Find me on LinkedIn: www.linkedin.com/in/haiphunghiem/
(Consulting) If you want me to work with you: tally.so/r/n9djRQ
Переглядів: 6 611

Відео

How to scrape the web for LLM in 2024: Jina AI (Reader API), Mendable (firecrawl) and Scrapegraph-ai
Переглядів 175 тис.4 місяці тому
👨‍💻 Code: github.com/trancethehuman/ai-workshop-code/blob/main/Web_scraping_for_LLM_in_2024.ipynb (if there are issues with viewing the code, just fork and clone the repository. It's just a current problem with GitHub's way of displaying Jupyter notebooks - nbconvert) Tools mentioned: Jina AI: jina.ai/reader Mendable's Firecrawl: www.firecrawl.dev/ Scrapegraph-ai: github.com/VinciGit00/Scrapegr...
5 tiers of long-term memory and personalization for LLM applications (in-person workshop)
Переглядів 4,8 тис.4 місяці тому
👨‍💻 Code: github.com/trancethehuman/ai-workshop-code/blob/main/Long_term_memory_&_personalized_LLM_responses.ipynb 🚌 Sign up for my upcoming AI engineering course: tally.so/r/n9daQ1 Follow me on Twitter: haithehuman Find me on LinkedIn: www.linkedin.com/in/haiphunghiem/ (Consulting) If you want me to work with you: tally.so/r/n9djRQ
Scrape any website with OpenAI Functions & LangChain
Переглядів 47 тис.Рік тому
👨‍💻 GitHub code: github.com/trancethehuman/entities-extraction-web-scraper Sign up for my paid courses: tally.so/r/n9daQ1 👋 Follow me on X / Twitter: haithehuman #ai #langchain #openai #webscraping #llm
AI Companion Clone (Replika) with LangChain and OpenAI Functions as entity extractor
Переглядів 1,7 тис.Рік тому
Build an AI companion using this codebase. Sign up for my paid courses: tally.so/r/n9daQ1
Pi (inflection.ai) has become Samantha from Her (2014)
Переглядів 1,1 тис.Рік тому
Pi (inflection.ai) has become Samantha from Her (2014)
Can't pick a vector database? Use this pattern and try them all.
Переглядів 1,3 тис.Рік тому
GitHub: github.com/trancethehuman/factory-pattern-vectorstore-interface Connect with me: www.linkedin.com/in/haiphunghiem/ #vectorstore #langchain #openai #gpt #gpt-3.5
Use OpenAI Function instead of LangChain ReAct Agent Tool in 10 minutes
Переглядів 2,7 тис.Рік тому
New OpenAI function update new LangChain agent tools update implemented on an existing codebase of ReAct agent. Sign up for my paid courses: tally.so/r/n9daQ1 #spotify #langchain #openai #gpt #gpt-3.5

КОМЕНТАРІ

  • @NickaGillis
    @NickaGillis 17 днів тому

    Can Jina handle sites with lazy load? Looking at dealership websites

  • @alienPear
    @alienPear 18 днів тому

    Thanks for sharing, bro! Greetings from Colombia

  • @juroo
    @juroo 18 днів тому

    pure gold, thanks man!

  • @Breaking_Bold
    @Breaking_Bold 19 днів тому

    I like this format of video...background has a large monitor...Nice video

  • @SergeyNumerov
    @SergeyNumerov 21 день тому

    I wonder how this would handle dynamic content: as in scraping websites where you have to click stuff to reveal valuable content.

  • @ratnpriyarai4793
    @ratnpriyarai4793 22 дні тому

    It was quite useful for me.

  • @__________________________6910

    No, I know why you want long-term memory-because your AI girlfriend doesn't remember your past conversations. She forgets you, that's why.

  • @ajkdrag
    @ajkdrag 26 днів тому

    Hi. I have a video request. Is there a way to contact you?

    • @devlearnllm
      @devlearnllm 17 днів тому

      tally.so/r/n9djRQ

    • @ajkdrag
      @ajkdrag 16 днів тому

      @@devlearnllm done. Thanks

  • @robelbelay4065
    @robelbelay4065 29 днів тому

    Great stuff man, thanks a lot!

  • @Phoenix-gi3gu
    @Phoenix-gi3gu Місяць тому

    For experimenting I would recommend using no database at all. You can simply use the cosine similarity (i.e. from torch functional) or quickly implement it and you are nearly done. Just use some argsort to get the best matches. It's like five lines of code or so. For easy store/load you can use pickle to serialize/unserialize the object that holds the embeddings. It is fast on CPU too, but of course you can run it on GPU without any bigger changes. No services required.

  • @jonathanpark873
    @jonathanpark873 Місяць тому

    I wonder if you would update it to be able to use gpt-4o-mini as its much cheaper

  • @jakobkristensen2390
    @jakobkristensen2390 Місяць тому

    Im curious how you handle pages where the content exceeds token window

    • @devlearnllm
      @devlearnllm Місяць тому

      I'm sure Firecrawl or Jina would have a rolling context window for extraction. It's an easy thing to implement.

  • @vijishmadhavan6093
    @vijishmadhavan6093 Місяць тому

    what happens if we use all the 25000 cases, will it work?

    • @devlearnllm
      @devlearnllm Місяць тому

      Most likely. Pinecone, Weaviate and pgvector are very performant.

  • @switch8291
    @switch8291 Місяць тому

    you havent updated us on how much does scrapegraph-ai takes in comparison

    • @devlearnllm
      @devlearnllm Місяць тому

      Ah shoot I forgot about that.

  • @antronx7
    @antronx7 Місяць тому

    Would be cool to make AI website scraper that strips away all javascript bloat from a webpage and converts it into lightweight basic html page while preserving functionality. Would be great as a proxy service to make loading modern web pages fast on slow phones on poor data connections. Modern web is way too bloated. I sometimes manually archive a page by deleting all javascript in notepad++ and modify image embed links to point to locally saved .png files. That takes a long time but I can reduce 5MB page down to 200kB and save that. Would be nice to have smart automated tool to do that in seconds.

  • @Ckoraybingol
    @Ckoraybingol Місяць тому

    Great intro and work flow. Thanks a lot.

  • @MrPkmonster
    @MrPkmonster Місяць тому

    Thank you so much for the presentation. Just in time with the latest scraping technology

  • @IkerCasilliasrocks
    @IkerCasilliasrocks Місяць тому

    Why not use Chatgpt and ask it to find information. Cant GPT just search the web itself?

  • @manfredmichael_3ia097
    @manfredmichael_3ia097 Місяць тому

    I think there should be a microphone in the middle of the audience. You had an insightful discussion with them, amazing audience!

  • @thisiswill
    @thisiswill Місяць тому

    The motion-tracking is a bit distracting.

  • @zaid6527
    @zaid6527 Місяць тому

    I dont know if my question is stupid, but can you tell me can we take snapshots of website and use ocr and llms to scrape the useful info, instead of sending request to that website since it would look more humanly , and also use less requests

    • @devlearnllm
      @devlearnllm Місяць тому

      Yeah you can probably do that!

    • @zaid6527
      @zaid6527 Місяць тому

      @@devlearnllm thanks 🤝

  • @dhineshprabakaran1786
    @dhineshprabakaran1786 Місяць тому

    Hi, I'm trying to scrape webdata from my Org Docs which is accessible only within VPN. Failed to goto 'docs url'. Can you help me with this ?

  • @ThoughtfullySo
    @ThoughtfullySo Місяць тому

    You should've tried Qdrant.

  • @artur50
    @artur50 Місяць тому

    is it possible to run it with Ollama?

  • @ArunKumar-bp5lo
    @ArunKumar-bp5lo Місяць тому

    great

  • @ofrylivney367
    @ofrylivney367 2 місяці тому

    Nice workshop! I'll definitely try out the hybrid search. Do you recon it'll work with nomic text embeddings and ollama?

  • @zuowang5185
    @zuowang5185 2 місяці тому

    Is Openai embedding v3 model better than Bert?

    • @devlearnllm
      @devlearnllm 2 місяці тому

      Hard to tell unless experiments are run. huggingface.co/spaces/mteb/leaderboard

  • @JamesRBentley
    @JamesRBentley 2 місяці тому

    Nice video sir. I have already been experimenting with the colab - sincerest thanks

  • @devlearnllm
    @devlearnllm 2 місяці тому

    Hey yall, in case you didn't get good full text search results like me, the CEO of Supabase (Paul Copplestone) sent me this to use instead: supabase.com/docs/guides/database/extensions/pgroonga

  • @florianhonicke5448
    @florianhonicke5448 2 місяці тому

    @LLMs for Devs. I'm from Jina AI. Cool that you are using our reader app. I like seeing the exact use-cases people use that one - very interesting.

    • @devlearnllm
      @devlearnllm 2 місяці тому

      Big fan of Jina.

    • @jeffc1736
      @jeffc1736 28 днів тому

      @@devlearnllm hi times are tough. can I borrow 10000k? I need rent money and lost my job as a retail worker at Dicks sporting goods in dallas.

  • @gregmeldrum
    @gregmeldrum 2 місяці тому

    Very informative! A great resource. Thanks for sharing your wealth of knowledge!!

  • @flor.7797
    @flor.7797 2 місяці тому

    I just use Google 🙃

  • @ironbondar
    @ironbondar 2 місяці тому

    very good workshop. straight to the point

  • @You.Got.Lucky_
    @You.Got.Lucky_ 2 місяці тому

    This video was really helpful for the people like me looking for webscrapping tools. Though I wonder if jinaAi is really free. Is there any challenge in using it for more number of links? Does it have rate limit on hitting urls with prefix? Any clarification on this is appreciated. : )

    • @devlearnllm
      @devlearnllm 2 місяці тому

      No hard limits as far as I know. Free for now (I think this is intentional), but definitely will change in the future.

  • @danieldesenna7611
    @danieldesenna7611 2 місяці тому

    Great video!! Thanks for sharing the code! One question though: Inside A:tier code -> "print_ai_answer" function, you wrote: for like in extracted_personality["likes"]: text_to_embed = f"The user likes {like}" current_embeddings = embedding_client.embed_query(text_to_embed) dislike_with_metadata = { "id": str(uuid.uuid4()), "values": current_embeddings, "metadata": {"type": "likes", "content": like} } embeddings.append(dislike_with_metadata) Was it not supposed to be something like "likes_with_metadata ={...}" and then "embeddings.append(likes_with_metadata)" ? I guess repeating "dislike_with_metadata" does not make a difference for the code functionality, but it was a bit confusing to understand the code for a moment. Thanks!

  • @nve-c5d
    @nve-c5d 2 місяці тому

    so what did you find out about scrapegraph ai performance , tokens

  • @chanliah1918
    @chanliah1918 2 місяці тому

    Great demo, thank you!

  • @frasonfrancis9698
    @frasonfrancis9698 2 місяці тому

    I don’t know how effective will this be in a long run especially due to the security update of cloudflare to block AI web scraping agents

  • @shuaiwang4092
    @shuaiwang4092 2 місяці тому

    So valueable video content! Many thanks for sharing~~

  • @SonGoku-pc7jl
    @SonGoku-pc7jl 2 місяці тому

    thansk, but difference or what is better gina reader or Scrapegraph-ai

  • @theadaloguy
    @theadaloguy 2 місяці тому

    Great video, thanks. Is there a way to provide our own scraped data (so we can make sure we use a good stealth scraper and get all the content), and then the LLM analyses it like this?

    • @devlearnllm
      @devlearnllm 2 місяці тому

      Yeah, you can always just build an LLM chain to just extract data. You can find the example in the Google Colab I provided.

  • @lomash_irl
    @lomash_irl 2 місяці тому

    I guess selenium is still the choice for javascript heavy websites... any tips on this?

  • @SurajSingh-y3n3e
    @SurajSingh-y3n3e 3 місяці тому

    bro i watched 4 minutes add before jumping actual video

    • @devlearnllm
      @devlearnllm 2 місяці тому

      That's crazy. Let me see if I can change that somehow

  • @ronaldokun
    @ronaldokun 3 місяці тому

    Thank you!!!!!!

  • @eyoo369
    @eyoo369 3 місяці тому

    Jina is almost perfect.. too bad it's not smart enough to scrape content from "accordions" where you first click to make the content visible. I feel a smart AI scraper should be able to grab that text and determine based on CSS class that it's probably valuable text.. just hidden at the time

    • @devlearnllm
      @devlearnllm 3 місяці тому

      That's too bad. What's the alternative?

  • @PaulFidika
    @PaulFidika 3 місяці тому

    "The entire internet hates him for this one simple trick"

    • @devlearnllm
      @devlearnllm 3 місяці тому

      9/10 prompt engineers recommend this

  • @mrRambleGamble
    @mrRambleGamble 3 місяці тому

    The camera moves too much

  • @SuperLano98
    @SuperLano98 3 місяці тому

    How is your final implementation? I’m really curious about it, because make sense to have this abstracted, but we have some differences between than that can make this process tricky

    • @devlearnllm
      @devlearnllm 3 місяці тому

      Honestly handy because I went from Pinecone -> pgvector, and with all the abstracted methods declared, I was confidence in flipping and nothing broke.

    • @SuperLano98
      @SuperLano98 3 місяці тому

      @@devlearnllm Oh amazing, great news ! I will try to start with this implementation pattern, thank you !

  • @JohnMcclaned
    @JohnMcclaned 3 місяці тому

    such an inefficient and unreliable way to scrape the web

  • @rwz
    @rwz 3 місяці тому

    Please do not move the camera all the time

    • @haganlife
      @haganlife 3 місяці тому

      Definitely loosen up the tracking to center. OSBTail?

    • @devlearnllm
      @devlearnllm 3 місяці тому

      It's actually built-into the DJI Pocket 3 camera. I just had it for a few weeks. Just need to find the settings for it.

    • @forrest714
      @forrest714 3 місяці тому

      @@devlearnllm change the follow speed to slow instead of fast.