<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic May Developer Challenge - Week 3: Vectorizing the event payload in Integration Forum</title>
    <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398231#M293</link>
    <description>&lt;P class=""&gt;Welcome to Week 3! We're halfway through the challenge and the pipeline is taking shape. You can produce events, get them to a broker, and consume them from code/an integration platform. Now we get to the part that ties this challenge to AI:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;vectorization&lt;/STRONG&gt;.&lt;/P&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;Links:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;May's developer challenge blog post:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-blog-posts/may-2026-developer-challenge-from-events-to-intelligence-building-an-event/ba-p/14386772" target="_blank" rel="noopener"&gt;https://community.sap.com/t5/integration-blog-posts/may-2026-developer-challenge-from-events-to-intelligence-building-an-event/ba-p/14386772&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 1:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-2026-developer-challenge-week-1-getting-familiar-with-the-events/m-p/14388480" target="_blank" rel="noopener"&gt;Getting familiar with the events&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 2:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-2026-developer-challenge-week-2-connecting-to-the-broker-and-consuming/td-p/14393295" target="_blank" rel="noopener"&gt;Connecting to the broker and consuming events&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 3:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398231" target="_blank" rel="noopener"&gt;Vectorizing the event payload&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;&lt;P class=""&gt;This week, we take the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field from the Business Partner event payload and convert it into a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;vector embedding&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;— a numerical representation of the content that captures its semantic meaning. This is the step that will later allow us to do similarity searches and power a RAG application.&lt;/P&gt;&lt;H2 id="a-quick-primer-on-embeddings"&gt;A quick primer on embeddings&lt;/H2&gt;&lt;P class=""&gt;An embedding is a list of floating-point numbers — a vector — that represents the meaning of a piece of text in a high-dimensional space. Text with similar meaning ends up close together in that space. This is what makes semantic search possible: instead of matching exact keywords, you match&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;meaning&lt;/EM&gt;.&lt;/P&gt;&lt;P class=""&gt;To generate embeddings, you need an&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;embedding model&lt;/STRONG&gt;. You pass in a piece of text, and it returns a vector. For our purposes, we'll be embedding the content of the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field of our Business Partner events — typically after converting the JSON object to a string or extracting the most relevant fields.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Embedding models in SAP AI Core" style="width: 999px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411033i3707D4ADFC957185/image-size/large?v=v2&amp;amp;px=999" role="button" title="week3-embedding-models.png" alt="Embedding models in SAP AI Core" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Embedding models in SAP AI Core&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class=""&gt;For example, from this event payload:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartner"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1003783"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerUUID"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"456872b9-b9a2-4b93-894d-dff37abd3070"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerFullName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Daniela-Anita Macedo"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerCategory"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerGrouping"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"BP02"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"FirstName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Daniela-Anita"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"LastName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Macedo"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"IsNaturalPerson"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"X"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"CreationDate"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"/Date(1518393600000)/"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"CreatedByUser"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"CC0000000002"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerAddress"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;{&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"Country"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"PT"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"Region"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;""&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"CityName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Quarteira"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"PostalCode"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1385-831"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"StreetName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Travessa de Sousa, 6"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"HouseNumber"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"681"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"AddressTimeZone"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"WEST"&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;}&lt;/SPAN&gt;
&lt;SPAN class=""&gt;}&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class=""&gt;You might produce a string like:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;BusinessPartner: 1003783. Name: Daniela-Anita Macedo. Category: 1. CityName: Quarteira.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class=""&gt;And that string is what you send to the embedding model.&lt;/P&gt;&lt;H2 id="your-task-this-week"&gt;Your task this week&lt;/H2&gt;&lt;P class=""&gt;&lt;span class="lia-unicode-emoji" title=":backhand_index_pointing_right:"&gt;👉&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Extend your consumer from Week 2 so that, after receiving a Business Partner event, it generates a vector embedding of the event's&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field.&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;Steps:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;Receive the event (as you did in Week 2)&lt;/LI&gt;&lt;LI&gt;Extract the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field and prepare it as a string&lt;/LI&gt;&lt;LI&gt;Send that string to an embedding model and get back a vector&lt;/LI&gt;&lt;LI&gt;Log the vector (or a truncated version of it) to confirm it's working&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Embedding model options&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;STRONG&gt;SAP options&lt;/STRONG&gt;: SAP AI Core (via the Generative AI Hub) — models like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;text-embedding-3-small_autogenerated&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;or similar are available depending on your setup&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Open-source / cloud options&lt;/STRONG&gt;:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://platform.openai.com/docs/guides/embeddings" target="_blank" rel="noopener"&gt;OpenAI Embeddings API&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/" target="_blank" rel="noopener"&gt;HuggingFace Sentence Transformers&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(fully local, no API key needed),&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://ollama.com/" target="_blank" rel="noopener"&gt;Ollama&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;with a local embedding model&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;If you want to run everything locally without any API keys,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/" target="_blank" rel="noopener"&gt;HuggingFace Sentence Transformers&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is an excellent option. A model like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/docs/sentence_transformer/pretrained_models.html#original-models" target="_blank" rel="noopener"&gt;&lt;CODE&gt;all-MiniLM-L6-v2&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is small, fast, and produces 384-dimensional embeddings that are more than sufficient for this challenge.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;H2 id="share-your-work"&gt;Share your work&lt;/H2&gt;&lt;P class=""&gt;Add a comment in this discussion with:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;A snippet of code/screenshot showing how you prepared the event data and called your embedding model&lt;/LI&gt;&lt;LI&gt;A truncated example of the vector embedding you received back (e.g., the first 10 dimensions)&lt;/LI&gt;&lt;LI&gt;Which embedding model/service you used and why&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;&lt;STRONG&gt;SAP solution note&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;— I will share how I solved this using SAP AI Core (Generative AI Hub) in the comments below&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P class=""&gt;&lt;EM&gt;Some food for thought:&lt;/EM&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;Does the order or structure of the fields you include in your text affect the quality of the embeddings?&lt;/LI&gt;&lt;LI&gt;If a Business Partner record has missing fields, how would you handle that before sending it to the embedding model?&lt;/LI&gt;&lt;LI&gt;What is the trade-off between using a cloud-hosted embedding model vs. a locally hosted one?&lt;/LI&gt;&lt;/OL&gt;</description>
    <pubDate>Mon, 18 May 2026 10:37:53 GMT</pubDate>
    <dc:creator>ajmaradiaga</dc:creator>
    <dc:date>2026-05-18T10:37:53Z</dc:date>
    <item>
      <title>May Developer Challenge - Week 3: Vectorizing the event payload</title>
      <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398231#M293</link>
      <description>&lt;P class=""&gt;Welcome to Week 3! We're halfway through the challenge and the pipeline is taking shape. You can produce events, get them to a broker, and consume them from code/an integration platform. Now we get to the part that ties this challenge to AI:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;vectorization&lt;/STRONG&gt;.&lt;/P&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;Links:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;May's developer challenge blog post:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-blog-posts/may-2026-developer-challenge-from-events-to-intelligence-building-an-event/ba-p/14386772" target="_blank" rel="noopener"&gt;https://community.sap.com/t5/integration-blog-posts/may-2026-developer-challenge-from-events-to-intelligence-building-an-event/ba-p/14386772&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 1:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-2026-developer-challenge-week-1-getting-familiar-with-the-events/m-p/14388480" target="_blank" rel="noopener"&gt;Getting familiar with the events&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 2:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-2026-developer-challenge-week-2-connecting-to-the-broker-and-consuming/td-p/14393295" target="_blank" rel="noopener"&gt;Connecting to the broker and consuming events&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;Week 3:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398231" target="_blank" rel="noopener"&gt;Vectorizing the event payload&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;&lt;P class=""&gt;This week, we take the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field from the Business Partner event payload and convert it into a&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;vector embedding&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;— a numerical representation of the content that captures its semantic meaning. This is the step that will later allow us to do similarity searches and power a RAG application.&lt;/P&gt;&lt;H2 id="a-quick-primer-on-embeddings"&gt;A quick primer on embeddings&lt;/H2&gt;&lt;P class=""&gt;An embedding is a list of floating-point numbers — a vector — that represents the meaning of a piece of text in a high-dimensional space. Text with similar meaning ends up close together in that space. This is what makes semantic search possible: instead of matching exact keywords, you match&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;meaning&lt;/EM&gt;.&lt;/P&gt;&lt;P class=""&gt;To generate embeddings, you need an&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;embedding model&lt;/STRONG&gt;. You pass in a piece of text, and it returns a vector. For our purposes, we'll be embedding the content of the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field of our Business Partner events — typically after converting the JSON object to a string or extracting the most relevant fields.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Embedding models in SAP AI Core" style="width: 999px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411033i3707D4ADFC957185/image-size/large?v=v2&amp;amp;px=999" role="button" title="week3-embedding-models.png" alt="Embedding models in SAP AI Core" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Embedding models in SAP AI Core&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class=""&gt;For example, from this event payload:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;SPAN class=""&gt;{&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartner"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1003783"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerUUID"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"456872b9-b9a2-4b93-894d-dff37abd3070"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerFullName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Daniela-Anita Macedo"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerCategory"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerGrouping"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"BP02"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"FirstName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Daniela-Anita"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"LastName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Macedo"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"IsNaturalPerson"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"X"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"CreationDate"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"/Date(1518393600000)/"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"CreatedByUser"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"CC0000000002"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;"BusinessPartnerAddress"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;{&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"Country"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"PT"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"Region"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;""&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"CityName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Quarteira"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"PostalCode"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"1385-831"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"StreetName"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"Travessa de Sousa, 6"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"HouseNumber"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"681"&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;"AddressTimeZone"&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt; &lt;SPAN class=""&gt;"WEST"&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;}&lt;/SPAN&gt;
&lt;SPAN class=""&gt;}&lt;/SPAN&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class=""&gt;You might produce a string like:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;BusinessPartner: 1003783. Name: Daniela-Anita Macedo. Category: 1. CityName: Quarteira.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P class=""&gt;And that string is what you send to the embedding model.&lt;/P&gt;&lt;H2 id="your-task-this-week"&gt;Your task this week&lt;/H2&gt;&lt;P class=""&gt;&lt;span class="lia-unicode-emoji" title=":backhand_index_pointing_right:"&gt;👉&lt;/span&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Extend your consumer from Week 2 so that, after receiving a Business Partner event, it generates a vector embedding of the event's&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field.&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;Steps:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;Receive the event (as you did in Week 2)&lt;/LI&gt;&lt;LI&gt;Extract the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;data&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;field and prepare it as a string&lt;/LI&gt;&lt;LI&gt;Send that string to an embedding model and get back a vector&lt;/LI&gt;&lt;LI&gt;Log the vector (or a truncated version of it) to confirm it's working&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Embedding model options&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;STRONG&gt;SAP options&lt;/STRONG&gt;: SAP AI Core (via the Generative AI Hub) — models like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;text-embedding-3-small_autogenerated&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;or similar are available depending on your setup&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Open-source / cloud options&lt;/STRONG&gt;:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://platform.openai.com/docs/guides/embeddings" target="_blank" rel="noopener"&gt;OpenAI Embeddings API&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/" target="_blank" rel="noopener"&gt;HuggingFace Sentence Transformers&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;(fully local, no API key needed),&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://ollama.com/" target="_blank" rel="noopener"&gt;Ollama&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;with a local embedding model&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;If you want to run everything locally without any API keys,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/" target="_blank" rel="noopener"&gt;HuggingFace Sentence Transformers&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is an excellent option. A model like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.sbert.net/docs/sentence_transformer/pretrained_models.html#original-models" target="_blank" rel="noopener"&gt;&lt;CODE&gt;all-MiniLM-L6-v2&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;is small, fast, and produces 384-dimensional embeddings that are more than sufficient for this challenge.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;H2 id="share-your-work"&gt;Share your work&lt;/H2&gt;&lt;P class=""&gt;Add a comment in this discussion with:&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;A snippet of code/screenshot showing how you prepared the event data and called your embedding model&lt;/LI&gt;&lt;LI&gt;A truncated example of the vector embedding you received back (e.g., the first 10 dimensions)&lt;/LI&gt;&lt;LI&gt;Which embedding model/service you used and why&lt;/LI&gt;&lt;/OL&gt;&lt;HR /&gt;&lt;BLOCKQUOTE dir="auto"&gt;&lt;P class=""&gt;&lt;STRONG&gt;SAP solution note&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;— I will share how I solved this using SAP AI Core (Generative AI Hub) in the comments below&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P class=""&gt;&lt;EM&gt;Some food for thought:&lt;/EM&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;Does the order or structure of the fields you include in your text affect the quality of the embeddings?&lt;/LI&gt;&lt;LI&gt;If a Business Partner record has missing fields, how would you handle that before sending it to the embedding model?&lt;/LI&gt;&lt;LI&gt;What is the trade-off between using a cloud-hosted embedding model vs. a locally hosted one?&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Mon, 18 May 2026 10:37:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398231#M293</guid>
      <dc:creator>ajmaradiaga</dc:creator>
      <dc:date>2026-05-18T10:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: May Developer Challenge - Week 3: Vectorizing the event payload</title>
      <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398768#M296</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Week 3 Submission&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;(Week 1, we got the events routing into Solace from SAP, and in Week 2, we successfully consumed them.)&lt;/P&gt;&lt;P&gt;This week (Week 3), I have enhanced the Python consumer to push those events over to the HANA Vector DB. using locally running Embedding Model - Ollama - nomic-embed-text to HANA Cloud DB&lt;/P&gt;&lt;P&gt;Python Output&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JMV_0-1779151044545.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411338i20941D5D7BA3BCBA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JMV_0-1779151044545.png" alt="JMV_0-1779151044545.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Vectorized Data on HANA Cloud&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JMV_1-1779151084467.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411339iFCEB13B15E6590E9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JMV_1-1779151084467.png" alt="JMV_1-1779151084467.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I just went ahead and consumed Vecorized Data in Claude using MCP.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JMV_2-1779151141489.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411340iCCD95047F53480E9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="JMV_2-1779151141489.png" alt="JMV_2-1779151141489.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 May 2026 00:41:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14398768#M296</guid>
      <dc:creator>JMV</dc:creator>
      <dc:date>2026-05-19T00:41:05Z</dc:date>
    </item>
    <item>
      <title>Re: May Developer Challenge - Week 3: Vectorizing the event payload</title>
      <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14400066#M298</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Thanks for the challenge&lt;/P&gt;&lt;P&gt;As suggested I tried doing it locally using SAP BAS trial, but the storage was an issue so i'm doing it with COHERE Api, as it was available for free to consume.&lt;/P&gt;&lt;P&gt;Below are the steps performed.&lt;/P&gt;&lt;P&gt;1. received the event&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KanishkaDeshak_1-1779282619678.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411898i570D023C1C74C24D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="KanishkaDeshak_1-1779282619678.png" alt="KanishkaDeshak_1-1779282619678.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;2. Converted the JSON into String&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KanishkaDeshak_2-1779282668100.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411899iB9467DC3D93D821A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="KanishkaDeshak_2-1779282668100.png" alt="KanishkaDeshak_2-1779282668100.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;3. sent it to an embedding model(cohere api)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KanishkaDeshak_3-1779282728291.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411900i186474897F23C79C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="KanishkaDeshak_3-1779282728291.png" alt="KanishkaDeshak_3-1779282728291.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;4. got back the vector and logged it into data store&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="KanishkaDeshak_4-1779282785070.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411901i16B0100558744878/image-size/medium?v=v2&amp;amp;px=400" role="button" title="KanishkaDeshak_4-1779282785070.png" alt="KanishkaDeshak_4-1779282785070.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 May 2026 13:16:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14400066#M298</guid>
      <dc:creator>KanishkaDeshak</dc:creator>
      <dc:date>2026-05-20T13:16:06Z</dc:date>
    </item>
    <item>
      <title>Re: May Developer Challenge - Week 3: Vectorizing the event payload</title>
      <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14400126#M299</link>
      <description>&lt;P&gt;Week 3 with SAP AI CORE:&lt;BR /&gt;&lt;BR /&gt;Step 1:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="umberto_panico_0-1779285179329.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411935iEB8B5AAAE65816C5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="umberto_panico_0-1779285179329.png" alt="umberto_panico_0-1779285179329.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Step 2:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="umberto_panico_1-1779285889824.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/411936i25E868B62A65BAEC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="umberto_panico_1-1779285889824.png" alt="umberto_panico_1-1779285889824.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 May 2026 14:05:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14400126#M299</guid>
      <dc:creator>umberto_panico</dc:creator>
      <dc:date>2026-05-20T14:05:59Z</dc:date>
    </item>
    <item>
      <title>Re: May Developer Challenge - Week 3: Vectorizing the event payload</title>
      <link>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14401920#M307</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.sap.com/t5/user/viewprofilepage/user-id/107"&gt;@ajmaradiaga&lt;/a&gt;&amp;nbsp;for the challenge!&lt;/P&gt;&lt;P&gt;A snippet code:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ihor_Haranichev_0-1779452574656.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/412786iF809A8BD2794FDB1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ihor_Haranichev_0-1779452574656.png" alt="Ihor_Haranichev_0-1779452574656.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The vector embedding response:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ihor_Haranichev_1-1779452669792.png" style="width: 400px;"&gt;&lt;img src="https://community.sap.com/t5/image/serverpage/image-id/412787i2008A9B4EDE63931/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ihor_Haranichev_1-1779452669792.png" alt="Ihor_Haranichev_1-1779452669792.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I used the SentenceTransformers library with the &lt;CODE&gt;all-MiniLM-L6-v2&lt;/CODE&gt; embedding model to generate vector representations of Business Partner event data. It runs locally without requiring API keys or external services It is lightweight and fast (suitable for development and prototyping).&lt;/P&gt;</description>
      <pubDate>Fri, 22 May 2026 12:27:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/integration-forum/may-developer-challenge-week-3-vectorizing-the-event-payload/m-p/14401920#M307</guid>
      <dc:creator>Ihor_Haranichev</dc:creator>
      <dc:date>2026-05-22T12:27:03Z</dc:date>
    </item>
  </channel>
</rss>

