<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Developer Support</provider_name><provider_url>https://devblogs.microsoft.com/premier-developer</provider_url><author_name>Developer Support</author_name><author_url>https://devblogs.microsoft.com/premier-developer/author/premierdev/</author_url><title>Autogen RAG - Developer Support</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="k8WtV8Sh1q"&gt;&lt;a href="https://devblogs.microsoft.com/premier-developer/autogen-rag/"&gt;Autogen RAG&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://devblogs.microsoft.com/premier-developer/autogen-rag/embed/#?secret=k8WtV8Sh1q" width="600" height="338" title="&#x201C;Autogen RAG&#x201D; &#x2014; Developer Support" data-secret="k8WtV8Sh1q" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://devblogs.microsoft.com/premier-developer/wp-includes/js/wp-embed.min.js
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://devblogs.microsoft.com/premier-developer/wp-content/uploads/sites/31/2020/03/aibias_fi.png</thumbnail_url><thumbnail_width>400</thumbnail_width><thumbnail_height>239</thumbnail_height><description>When examining the samples provided by the Azure OpenAI Assistant API Function Call, Completion API Function Call, or Autogen Function Call, they all require the function metadata to be specified in the code. Imagine you have hundreds of data I/O functions, ranging from SQL queries to microservice calls, and your application needs to support various user prompts that cannot be reliably predicted by pre-defining the functions to call. The question then becomes, "Is there is a way to figure out the functions needed after the user prompt is received, and then configure the Tools parameter (in the Completion API and Assistant API) to configure Autogen&#x2019;s agent llm_config and function map dynamically?"</description></oembed>
