Semantic Search in Bubble with OpenAI and Pinecone

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025

Комментарии • 54

  • @boukm3n
    @boukm3n Год назад

    Wow this is a great video and needs more than 5 minutes because you’re cooking with oil here; I like it

  • @haraldroine
    @haraldroine Год назад +5

    Informative. Would love a more informative deep-dive on this.

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      Thank you! Next video coming up! It’ll be a lot more in depth

    • @johnfreeman858
      @johnfreeman858 Год назад +2

      Definitely! Yours is the only video I could find on this. My project is stalled until I can get this to work.😢

  • @johnfreeman858
    @johnfreeman858 Год назад +5

    This did not work for me. When I initiate the Upsert API call to Pinecone it gives me a 400 error when I change the dimensions to a dynamic field. Also, "Vector" does not show up as a data field in the Workflow. Only "Values".

    • @iSeeChrisD
      @iSeeChrisD Год назад

      Seconded on this. Did you find a solution?

    • @cerumai
      @cerumai Год назад +1

      The vector needs to contain 1536 vectors even in the initialization. The one they have in the cURL command actually works but copy and paste it manually, don't use that one-click copy. I'm actually doing a very similar step-by-step tutorial on my channel here very soon. Feel free to check out!

    • @johnfreeman858
      @johnfreeman858 Год назад +1

      @@cerumai Yes, I ended up doing that and got it to work. thx.

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +2

      indeed 1536 dimensions is what this particular model (OpenAI) mandates

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      Did you solve this? the comment below addresses what I think might be the issue

  • @MarketingWithJeffCaldwell
    @MarketingWithJeffCaldwell Год назад

    So beautiful 😍😍 exactly what I was needing!!!!

  • @BingoBabyO
    @BingoBabyO Год назад +2

    When using a local vector DB ( pinecone ) you are stil using OpenAI as processing for the incoming text. Are there any concerns about privacy loss for the data in your own pinecone database? Meaning - can you use pinecone for internal data and not worry about openAI or others having some kind of inferred access ?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      Great question! I'm not really sure "what happens" on the OpenAI Embeddings level (or any other model) tbh...but Pinecone does need embeddings in order to store and process data (it's a vector DB), so you have to feed it vectors. I'd check their docs for a proper answer!

  • @XCmdr007
    @XCmdr007 Год назад +2

    Great thanks! How would you set things so that the LLM decides that an action is needed from what it is being prompted? Would you fine tune it to assess from different texts if a Google Meeting (example) is needed? Then return “set up meeting for mm/dd/yy 3:00pm” and have Bubble interpret this to send an API call to Google to create this mtg?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      Great question! To clarify, this would allow to use natural language to achieve things like booking a meeting - correct? At the top of my head you might need to train your model to "know" what you mean by "meeting" etc. so that it can be prompted. Google API should be able to ingest that metadata. Very interesting idea indeed!

    • @XCmdr007
      @XCmdr007 Год назад +2

      @@damianoredemagni7701 Right. Prompting the LLM to think through an input and assess if an action is needed as its response.

  • @AriHarrison-r5o
    @AriHarrison-r5o Год назад +1

    Very helpful video. The Query response produces the Upsert info. What could be the hiccup if I’m replicating the steps you provided?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      you mean the result is exactly the text you upserted? if so, it's bc you're not passing the query results back into an LLM (OpenAI Chat/Completion) therefore there's no interpretation but simply the data you provided

    • @AriHarrison-r5o
      @AriHarrison-r5o Год назад +1

      @@damianoredemagni7701 That worked. Thank you!

  • @StevenTraykovski
    @StevenTraykovski Год назад

    Great video! Do you have a recommendation for how to format and upsert a more complex data source? The data set I'd like to use is in Google Sheets at the moment. Trying to figure out if I convert it to PDF, DOC, or just copy/paste values as text similar to the way you've done in your example.

  • @matthewlillestol7931
    @matthewlillestol7931 Год назад +1

    This is an awesome video. Thank you! When I go to add the state "value" in the workflow, I don't see the "Result of step 2 matches: each item's metadata" as an option. I only have ID, Value, Score, and Raw Text. Am I missing something during the setup to bring this option forward?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      did you check in the API connector that the field is not "Private"?

    • @julianow3
      @julianow3 Год назад

      Same here. Any fix?

    • @julianow3
      @julianow3 Год назад

      You need to initialize the call for the "matches" option to appear. Do this using the initial vector values of cURL, before replacing with .

  • @kylecheung9302
    @kylecheung9302 Год назад +1

    So this doesn't use GPT, we're just querying what's in Pinecone based on the Vector returned from the question? And how does it determine what to return?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      This uses OpenAI Embeddings to turn text into vectors, since Pinecone or other vector databases only understand vectors. This is how "similarity" is determined when querying results. You could pass that query to an LLM like OpenAI Chat/Completions for interpretation (rephrasing)

  • @ChrisS-oo6fl
    @ChrisS-oo6fl Год назад +2

    Are we doing a fallow up soon?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      I should be able to make something soon, currently doing some LLM research - stay tuned!

  • @gaurangi99
    @gaurangi99 Год назад +3

    Can you provide a step-by-step document for this...I'm a beginner & found a little tough to follow this? It would be helpful if a document explaining the flow & use of each s/w could be provided. Thank you in advance!

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +4

      Good idea! A blog post would be a good alternative!

    • @gahlberkooz9922
      @gahlberkooz9922 Год назад +2

      @@damianoredemagni7701 - Love the video - did you ever publish the detailed instruction blob?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      @@gahlberkooz9922 thank you! I have not, yet :)

  • @salemmohammad2701
    @salemmohammad2701 Год назад

    I want to use openai generation to process the chunks after retrieving them, how can I do this?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      You'd have to add an additional Chat API call and give it a relevant prompt. This is a neat technique to get dynamic, but relevant, responses.

  • @jguillengarcia
    @jguillengarcia Год назад

    Amazing!!
    How could you train the model with pdfs or urls... or you just have to copy de info in that box. ? Thanks

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +2

      Trying a few things to make it swift! Hopefully soon! (Everyone asking for PDF)

    • @jguillengarcia
      @jguillengarcia Год назад

      @@damianoredemagni7701 ok, thanks!

    • @iSeeChrisD
      @iSeeChrisD Год назад

      @@jguillengarcia Seconded. Would love to see this with PDFs!

  • @ChrisS-oo6fl
    @ChrisS-oo6fl Год назад +2

    Can you show us how to upload files via the pinecone ui. Formatting the data etc.
    Also I know your a babble man but if you did a video on incorporating this into Flutter Flow your views would be crazy!! FF is on fire lately.

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад +1

      Hey Chris, haven't used the UI (only API) but I'm sure it's as easy as loading the file - that being said, you need to create embeddings for your files first, for which you will need to use something like OpenAI's Embeddings. Also haven't had a chance to play with FF, but if it supports cURL API calls, it'll be identical to this process, at least on the API side. Thank you for watching!

  • @rileycx
    @rileycx Год назад

    🎉🎉🎉🎉🎉🎉

  • @adnanabbasi113
    @adnanabbasi113 Год назад

    Can you create a tutorial where it also fetches the documents along with the answer?

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      for document upload/retrieve with Bubble take a look at fine-tuner.ai

  • @johnfreeman858
    @johnfreeman858 Год назад

    This works great, but training this thing from scratch is impossible. A great follow up video to this would be adding embeddings from Hugging Face.

    • @damianoredemagni7701
      @damianoredemagni7701  Год назад

      Do you think it's bc of the token limitations or the model itself? I haven't looked into HF with Bubble yet, but I hear about it quite a bit in other environments!

  • @zhihong0321
    @zhihong0321 Год назад +2

    Dear Friend, subed, liked, commented! Rare gem. could you have another video that show how to deal with input longer than maximum content length? 8191 tokens, in bubble. Thanks alot

  • @johnfreeman858
    @johnfreeman858 Год назад

    Now what?

  • @Recreate-wd3vp
    @Recreate-wd3vp Год назад

    Hey Damiano, I would love to get in touch with you about a no code partnership. Do you have a email or website where we can discuss ?