<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>UBOS Community: Vika</title>
    <description>The latest articles on UBOS Community by Vika (@vika).</description>
    <link>https://community.ubos.tech/vika</link>
    <image>
      <url>https://community.ubos.tech/uploads/user/profile_image/14/1b6b1b1a-0937-4434-9435-c65d37cfc30f.png</url>
      <title>UBOS Community: Vika</title>
      <link>https://community.ubos.tech/vika</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.ubos.tech/feed/vika"/>
    <language>en</language>
    <item>
      <title>Working with Large Files in AI Chat Bot</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Fri, 29 Mar 2024 13:30:46 +0000</pubDate>
      <link>https://community.ubos.tech/vika/working-with-large-files-in-ai-chat-bot-2aap</link>
      <guid>https://community.ubos.tech/vika/working-with-large-files-in-ai-chat-bot-2aap</guid>
      <description>&lt;p&gt;To begin, if you haven't already installed our "&lt;strong&gt;AI-Powered Chatbot&lt;/strong&gt;" template, you need to do so in our &lt;strong&gt;Marketplace&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/7srlkj9owzz9oqc7tauo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7srlkj9owzz9oqc7tauo.png" alt="Service explorer with Clone template button" width="253" height="232"&gt;&lt;/a&gt;&lt;a href="https://community.ubos.tech/uploads/articles/nser0xsti4t94o9i1c9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/nser0xsti4t94o9i1c9i.png" alt="AI-Powered Chatbot in Marketplace" width="282" height="244"&gt;&lt;/a&gt;&lt;br&gt;
In order to enable the "AI-Powered Chatbot" to handle larger volumes of files, certain changes need to be made. Specifically, the OpenAI model used for embedding should be changed from &lt;em&gt;text-embedding-ada-2&lt;/em&gt; to &lt;em&gt;text-embedding-3-large&lt;/em&gt; (to accommodate working with larger vectors), and the function responsible for writing data to the Chroma database needs to be modified.&lt;br&gt;
Let's take the endpoint &lt;em&gt;"/createVector"&lt;/em&gt; as an example. Initially, it will look like this:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/tckjit3k4n3e7554ehaq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/tckjit3k4n3e7554ehaq.png" alt="endpoint createVector before changes" width="602" height="192"&gt;&lt;/a&gt;&lt;br&gt;
And here's how it will look after our modifications for working with large files:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/gi75hpo0wb6fegcpvni5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/gi75hpo0wb6fegcpvni5.png" alt="endpoint createVector after changes" width="602" height="228"&gt;&lt;/a&gt;&lt;br&gt;
Before the &lt;em&gt;"create vector"&lt;/em&gt; function node, we need to add another function to check the length of the received text from array-loop msg.array. The maximum number of tokens per embedding request is 8191.&lt;br&gt;
(&lt;em&gt;Here's where you can familiarize yourself with "&lt;a href="https://platform.openai.com/tokenizer" rel="noopener noreferrer"&gt;Language model tokenization&lt;/a&gt;"&lt;/em&gt;). &lt;br&gt;
Therefore, we need to perform the following check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If each text is longer than, for example, 5500 characters, we split it into chunks of 5500 characters and push them into an array for passing into the next array-loop.&lt;/li&gt;
&lt;li&gt;If the text is shorter than the specified length, send it for vector creation.
This function, named "check text," will have the following code:
&lt;img src="https://community.ubos.tech/uploads/articles/eq2avh1xojl97hy5b5c7.png" alt="code inside check text node" width="602" height="293"&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.tobase = msg.payload
msg.ids = Date.now().toString()

function splitText(text, chunkSize) {
    const chunks = [];
    for (let i = 0; i &amp;lt; text.length; i += chunkSize) {
        chunks.push(text.slice(i, i + chunkSize));
    }
    return chunks;
}

const chunkSize = 5500;

msg.payload = msg.payload

if(msg.payload.length &amp;gt; 5500) {
    const textChunks = splitText(msg.payload, chunkSize);
    msg.textChunks = textChunks
    return [null, msg]
} else {    
    return [msg, null]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The &lt;em&gt;"splitText"&lt;/em&gt; function takes the text that needs to be divided into chunks and the required length of each chunk. The result will be an array of text chunks that we can pass into an array-loop further.&lt;/p&gt;

&lt;p&gt;If the text either matches the specified length or we've split it into necessary chunks and passed them into an array-loop, we proceed to the function responsible for sending the embedding request (&lt;em&gt;"new create vector"&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;In these functions, we specify headers with our OpenAI API_KEY, a settings object where we specify that we want to use the &lt;em&gt;text-embedding-3-large&lt;/em&gt; model, pass the text for embedding, and check the type of the database. Thanks to these changes, we can work with vectors of greater length, namely &lt;u&gt;3072 &lt;/u&gt;instead of &lt;u&gt;1536 &lt;/u&gt;(&lt;em&gt;Here's where you can familiarize yourself with “&lt;a href="https://platform.openai.com/docs/guides/embeddings" rel="noopener noreferrer"&gt;Embeddings&lt;/a&gt;”&lt;/em&gt;).&lt;br&gt;
The code will look as follows:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/dzj781xgceb5ebgi0ktg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dzj781xgceb5ebgi0ktg.png" alt="code example to send embedding request" width="602" height="315"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.OPENAI_API_KEY = global.get("openai").OPENAI_API;
msg.input = msg.payload
msg.ids = Date.now().toString()
msg.url = 'https://api.openai.com/v1/embeddings';
msg.tobase = msg.payload;

msg.headers = {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${msg.OPENAI_API_KEY}`,
};


const settings = {
    model: "text-embedding-3-large",
    input: msg.input
};

msg.payload = settings;
msg.settings = settings;



if (msg.typeBase === "chroma") {

    return [null, msg]
}
else {
    return [msg, null]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, replace the node &lt;em&gt;"OpenAi Ubos"&lt;/em&gt; with &lt;em&gt;"http request."&lt;/em&gt;&lt;br&gt;
Additionally, we need to modify the following function used for writing the vector to the Chroma database and add the nodes "chroma collection" and select the "add" operation in it.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/277aaintqwy4w9nufdw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/277aaintqwy4w9nufdw5.png" alt="updated code for writing the vector to the Chroma database " width="602" height="191"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/am050lnd83o69ef2j32m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/am050lnd83o69ef2j32m.png" alt="where to change operation in Chroma db node" width="602" height="168"&gt;&lt;/a&gt;&lt;br&gt;
Now, following the same analogy, these actions need to be performed in other Endpoints where we send requests for embedding, write data to vector databases, or retrieve them (in which case the operation in "chroma collection" will be "query").&lt;br&gt;
Here's an example of how the endpoint &lt;em&gt;"/updateVector"&lt;/em&gt; looked and how it should look to handle larger volumes of information:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/rt6lqktb2nts2jose3a7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/rt6lqktb2nts2jose3a7.png" alt="updateVector before changes" width="602" height="113"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/72szf2jumqybzf4meo8g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/72szf2jumqybzf4meo8g.png" alt="updateVector before changes" width="602" height="117"&gt;&lt;/a&gt;&lt;br&gt;
Also, to increase the amount of information you're passing to ChatGPT, you need to navigate to the "Bot" flow and increase the number of results returned from the Chroma database in the "add vector to chroma collection" function:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/orruaoy52msrpzm8gecu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/orruaoy52msrpzm8gecu.png" alt="node placement example" width="355" height="124"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/70vxb25l4b47a950fbh4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/70vxb25l4b47a950fbh4.png" alt="how to increase the number of results from Chroma db" width="355" height="165"&gt;&lt;/a&gt;&lt;br&gt;
But keep in mind that your request to ChatGPT should not exceed the token limit for the chosen model, and also that the response from the models is limited to 4096 tokens (you can find a list and description of all ChatGPT models &lt;a href="https://platform.openai.com/docs/models/overview" rel="noopener noreferrer"&gt;here&lt;/a&gt;).&lt;/p&gt;

</description>
      <category>openai</category>
      <category>aichatbot</category>
      <category>largefiles</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Instructions for Integrating Google Sheets with Node-RED</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Mon, 11 Mar 2024 12:17:18 +0000</pubDate>
      <link>https://community.ubos.tech/vika/instructions-for-integrating-google-sheets-with-node-red-5e5k</link>
      <guid>https://community.ubos.tech/vika/instructions-for-integrating-google-sheets-with-node-red-5e5k</guid>
      <description>&lt;p&gt;To set up the integration of Google Sheets with Node-RED, follow these steps: &lt;br&gt;
1.Go to the Google Cloud Console at &lt;strong&gt;&lt;a href="https://console.cloud.google.com" rel="noopener noreferrer"&gt;https://console.cloud.google.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2.Create a new project or use an existing one. The project name is not significant&lt;a href="https://community.ubos.tech/uploads/articles/wpo92t6qltpldr68ydsl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/wpo92t6qltpldr68ydsl.png" alt="Image description" width="3797" height="1437"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/twmqsjuw8q708tkapvk7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/twmqsjuw8q708tkapvk7.png" alt="Image description" width="3341" height="822"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/dp6zj46ouz0d13xpzcpk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dp6zj46ouz0d13xpzcpk.png" alt="Image description" width="1293" height="1099"&gt;&lt;/a&gt;&lt;br&gt;
3.After creating the project, navigate to its settings. &lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/gdov7e85xs5pjoqsa663.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/gdov7e85xs5pjoqsa663.png" alt="Image description" width="2791" height="838"&gt;&lt;/a&gt;&lt;br&gt;
4.In the "IAM &amp;amp; Admin" -&amp;gt; "Service Account" section, create a new service account for the project. &lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/ptmim9ilxz8xkwu62rp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ptmim9ilxz8xkwu62rp1.png" alt="Image description" width="2077" height="991"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/oqesyitynftq527b87yb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/oqesyitynftq527b87yb.png" alt="Image description" width="1906" height="1929"&gt;&lt;/a&gt; &lt;br&gt;
Create new&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/0upptvg50pyq1gnhzp62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/0upptvg50pyq1gnhzp62.png" alt="Image description" width="2302" height="1855"&gt;&lt;/a&gt;&lt;br&gt;
5.When creating the service account, grant it the appropriate permissions and roles. &lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/4he01ktg70pf4krrf79z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4he01ktg70pf4krrf79z.png" alt="Image description" width="1864" height="1662"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/jn17tum3peo4le57tte9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/jn17tum3peo4le57tte9.png" alt="Image description" width="2400" height="1599"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/soboedo7vwip9lm9j81n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/soboedo7vwip9lm9j81n.png" alt="Image description" width="2248" height="1502"&gt;&lt;/a&gt;&lt;br&gt;
Generate and save the access keys in JSON format.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/koiaobqpx0dj8y6t95fx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/koiaobqpx0dj8y6t95fx.png" alt="Image description" width="3785" height="778"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/d985exrwc1i9a52i3g0t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/d985exrwc1i9a52i3g0t.png" alt="Image description" width="2556" height="1314"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/l9zmvun4bdg8cpwnmp3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/l9zmvun4bdg8cpwnmp3f.png" alt="Image description" width="3747" height="1017"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/85xqdar1wdel7ry5o4cp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/85xqdar1wdel7ry5o4cp.png" alt="Image description" width="2890" height="1737"&gt;&lt;/a&gt;&lt;br&gt;
6.In the "APIs &amp;amp; Services" -&amp;gt; "Library" section, enable access to the Google Sheets API for your project. &lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/qra328x90n3tz6blb3t6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/qra328x90n3tz6blb3t6.png" alt="Image description" width="2093" height="1697"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/rlmrtkdfd96vcjew0bal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/rlmrtkdfd96vcjew0bal.png" alt="Image description" width="3840" height="2001"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/f2lebpy4o1es0zte5a7g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/f2lebpy4o1es0zte5a7g.png" alt="Image description" width="1412" height="820"&gt;&lt;/a&gt;&lt;br&gt;
7.Obtain the identifier (ID) of the Google Sheets spreadsheet you plan to work with. This ID can be found in the URL of the open spreadsheet.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/zpx88ldvg6l3hojrhmq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/zpx88ldvg6l3hojrhmq7.png" alt="Image description" width="3624" height="867"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8.In Node-RED, install the required node-red-contrib-google-sheets module.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node-red-contrib-google-sheets
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/1gipcfd5kzjmsxngsuwt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/1gipcfd5kzjmsxngsuwt.png" alt="Image description" width="1195" height="296"&gt;&lt;/a&gt;&lt;br&gt;
9.In the module settings, paste the access keys from the JSON file&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/rj1o6f9ocnvsg7eqjfbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/rj1o6f9ocnvsg7eqjfbu.png" alt="Image description" width="1641" height="1324"&gt;&lt;/a&gt;&lt;br&gt;
10.Select the desired method (e.g., read or write data), specify the spreadsheet ID, and the range of cells. &lt;a href="https://community.ubos.tech/uploads/articles/hawfeqj5w2re46zpqaj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/hawfeqj5w2re46zpqaj7.png" alt="Image description" width="1678" height="1116"&gt;&lt;/a&gt;&lt;br&gt;
11.Test the settings by sending a request to read data from the spreadsheet through the API. &lt;a href="https://community.ubos.tech/uploads/articles/qwro15bxcid0d5irdh01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/qwro15bxcid0d5irdh01.png" alt="Image description" width="1856" height="1572"&gt;&lt;/a&gt;&lt;br&gt;
After completing all the steps, you will have successfully set up the integration of Google Sheets with Node-RED and will be able to work with spreadsheet data through Node-RED flows.&lt;/p&gt;

&lt;p&gt;Note that these instructions provide general steps, and additional configuration or adjustments may be required depending on the specific requirements of your project.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>ChatGPT Prompt Configuration</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Wed, 08 Nov 2023 11:49:08 +0000</pubDate>
      <link>https://community.ubos.tech/vika/chatgpt-prompt-configuration-14p2</link>
      <guid>https://community.ubos.tech/vika/chatgpt-prompt-configuration-14p2</guid>
      <description>&lt;p&gt;Configuring ChatGPT prompts effectively is crucial for harnessing the full potential of this powerful language model. In this article, we will explore the intricacies of ChatGPT prompt configuration, diving into various techniques and best practices to optimize interactions with the AI. Understanding how to craft prompts tailored to specific tasks and contexts can significantly enhance the quality of responses generated by ChatGPT. &lt;br&gt;
 &lt;a href="https://community.ubos.tech/uploads/articles/4jzn8wy9q9xhrgex96fr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4jzn8wy9q9xhrgex96fr.png" alt="Image description" width="2484" height="1240"&gt;&lt;/a&gt;&lt;br&gt;
"All fields are mandatory and together form a unified prompt (instruction) for ChatGPT. Let's examine each of the points:&lt;/p&gt;

&lt;p&gt;1) &lt;strong&gt;Answer length:&lt;/strong&gt; You specify how detailed the response will be.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/f633ijqr0s6sceu4wd8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/f633ijqr0s6sceu4wd8k.png" alt="Image description" width="947" height="582"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) &lt;strong&gt;Answer as:&lt;/strong&gt; You have the choice of the role your bot will assume in the response.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/0mmntdj4j26m1psavjfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/0mmntdj4j26m1psavjfr.png" alt="Image description" width="790" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) &lt;strong&gt;Tone:&lt;/strong&gt; The desired tone of the response.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/y8lauc06cqciakn5gowm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/y8lauc06cqciakn5gowm.png" alt="Image description" width="710" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4) &lt;strong&gt;Language:&lt;/strong&gt; There are three available languages for your bot.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/dcuuytjldedeg6nmhm65.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dcuuytjldedeg6nmhm65.png" alt="Image description" width="889" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5) &lt;strong&gt;Knowledge base:&lt;/strong&gt; By default, the default knowledge base is selected, but you can also choose your own if available. This knowledge base forms the foundation of your bot's knowledge.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/hg3xfya638ggrmfep4bc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/hg3xfya638ggrmfep4bc.png" alt="Image description" width="738" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6) &lt;strong&gt;Custom prompt:&lt;/strong&gt; Here, you can provide a more detailed and individualized instruction for your bot. However, we advise against overly restricting your bot's actions. Writing the prompt is a crucial and challenging stage that requires careful consideration, as the result significantly impacts the overall performance of artificial intelligence. &lt;br&gt;
The general structure of the prompt includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; Provide the relevant context for the task or conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task Objective:&lt;/strong&gt; State the goal of the task or query clearly.&lt;/p&gt;

&lt;p&gt;**Expected Output Description: **Describe the expected result in terms of content, quantity, and format (text, unordered list, JSON, CSV, table, etc.).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conditions and Limitations:&lt;/strong&gt; Outline any conditions or limitations applicable to the task.&lt;/p&gt;

&lt;p&gt;If you want to assign a complex task to ChatGPT containing many details and references, write an instruction on how the communication will proceed. To correctly 'feed' the model all the necessary input, instruct the chat that you will provide examples in the following messages and it should wait until you upload all the information. You can request ChatGPT to avoid explanations, respond with specific phrases, and ask clarifying questions to better understand the task. Complex tasks should be broken down into sub-tasks to obtain more accurate responses.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;!!!The command 'Do not write your own opinion' is extremely important as an instruction.&lt;/em&gt;ʼ&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Examples of requests that include role, task, and follow-up instructions:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Act as a cybersecurity specialist. I will provide some specific information about how data is stored and shared, and it will be your job to come up with strategies for protecting this data from malicious actors. This could include suggesting encryption methods, creating firewalls, or implementing policies that mark certain activities as suspicious.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By adhering to these guidelines and instructions, users can harness ChatGPT's capabilities to their fullest, ensuring productive and tailored conversations with this powerful language model.&lt;/p&gt;

</description>
      <category>openai</category>
      <category>chatgpt</category>
      <category>prompt</category>
      <category>aibot</category>
    </item>
    <item>
      <title>How to create Telegram bot.</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Wed, 08 Nov 2023 10:06:58 +0000</pubDate>
      <link>https://community.ubos.tech/vika/how-to-create-telegram-bot-nij</link>
      <guid>https://community.ubos.tech/vika/how-to-create-telegram-bot-nij</guid>
      <description>&lt;p&gt;Follow the steps shown below to make bot for your bussiness.&lt;/p&gt;

&lt;h3&gt;Creating Telegram bot&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the Telegram app on your mobile device or desktop computer.Search &lt;a href="https://telegram.me/BotFather" rel="noopener noreferrer"&gt;@BotFather&lt;/a&gt; bot in Telegram and open a chat with it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send the command "/newbot" to BotFather and follow the prompts to create a new bot.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/jx2dyulgcrt7nsjmugm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/jx2dyulgcrt7nsjmugm3.png" alt="Image description" width="1704" height="759"&gt;&lt;/a&gt;&lt;br&gt;
You will need to provide a name for your bot. And after pasted it and token  in the form on "Bot Setup" page.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/q0vr96o1vmrrtq46iula.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/q0vr96o1vmrrtq46iula.png" alt="Image description" width="2556" height="1221"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;After filling in the data, you need to save this data by clicking on the "Save" button.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>telegram</category>
      <category>bot</category>
      <category>createbot</category>
    </item>
    <item>
      <title>How to training bot by different types of source.</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Wed, 08 Nov 2023 09:37:46 +0000</pubDate>
      <link>https://community.ubos.tech/vika/how-to-training-bot-by-different-types-of-source-46h9</link>
      <guid>https://community.ubos.tech/vika/how-to-training-bot-by-different-types-of-source-46h9</guid>
      <description>&lt;p&gt;Using a template, you can customize your bot to fit your personal and business needs. You have the ability to populate your knowledge base using files, website links, or manually. Below, we will explore each type in detail.&lt;/p&gt;

&lt;p&gt;To begin, you should already have all the necessary keys set up and gain access on the Training page.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/xs65c6fdeladsf1kpyip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/xs65c6fdeladsf1kpyip.png" alt="Image description" width="3805" height="1692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WEBSITE:&lt;/strong&gt;&lt;br&gt;
If you have a website with the desired information that is well-programmed, you can retrieve all the textual content from it. This can be done in the &lt;strong&gt;"WEBSITE"&lt;/strong&gt; tab by simply filling in the inputs following the example shown in the screenshot.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/ayy29teeme1lcynp5oi4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ayy29teeme1lcynp5oi4.png" alt="Image description" width="2065" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This method will be useful to you if the website from which you need to gather information has a clean HTML source code. If the website is built using website builders, a lot of information may be unreadable.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FILE:&lt;/strong&gt;&lt;br&gt;
You have the ability to upload three types of files: .txt, .pdf, .xlsx. Regarding .txt files, they can have any structure, but for better results, you can create a FAQ structure. &lt;br&gt;
&lt;u&gt;&lt;em&gt;Here is an example of a text file where there is a division into FAQ  and concise information.&lt;/em&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/7wz7ezcy0en8bcd09us6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7wz7ezcy0en8bcd09us6.png" alt="Image description" width="1516" height="1063"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FAQ:&lt;/strong&gt;&lt;br&gt;
Using FAQs, you have the ability to manually populate content with the structure: question-answer pairs.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/ikezhe31ojytjkqyald9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ikezhe31ojytjkqyald9.png" alt="Image description" width="2525" height="585"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;INSERT TEXT:&lt;/strong&gt;&lt;br&gt;
With this tab, you can insert or type any text, which will be divided into fragments of 500 characters each and saved in the system.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/kjqrh71q1tltekrbkzhz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/kjqrh71q1tltekrbkzhz.png" alt="Image description" width="2543" height="1062"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UBOS offers user-friendly tools and templates, enabling to customize bots for personalized and business needs. By following the provided steps, you can efficiently improve their content accessibility, ensuring a better experience for your audience.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>An AI-Powered Chatbot with ChatGPT (previous version)</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Mon, 25 Sep 2023 17:36:41 +0000</pubDate>
      <link>https://community.ubos.tech/vika/an-ai-powered-chatbot-with-chatgpt-1omo</link>
      <guid>https://community.ubos.tech/vika/an-ai-powered-chatbot-with-chatgpt-1omo</guid>
      <description>&lt;h2&gt;
  
  
  Installing a Template on a New Workspace
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://platform.ubos.tech/" rel="noopener noreferrer"&gt;https://platform.ubos.tech/&lt;/a&gt; and log in to your account.&lt;br&gt;
Click on that link to access the page displaying all workspaces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/z6vrzcorc2wumgp4knv3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/z6vrzcorc2wumgp4knv3.png" alt="Image description" width="2864" height="1642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the "+" button if you need to create a new workspace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/70ca1j1tnqwt3wz16ipo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/70ca1j1tnqwt3wz16ipo.png" alt="Image description" width="2879" height="1552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter a name for the new workspace and then click on the "Create" button. Once completed, proceed to open the newly created workspace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/80svbqtrl3z7lxxurkbp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/80svbqtrl3z7lxxurkbp.png" alt="Image description" width="2829" height="1329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the option "Start from a template."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/3mac701ehysxwoi0lm1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/3mac701ehysxwoi0lm1c.png" alt="Image description" width="2880" height="1634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on the "Install" button next to your desired template.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/9rkjby07c2whl91u4kry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/9rkjby07c2whl91u4kry.png" alt="Image description" width="2853" height="1636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the workspace where you want to install the template, and then click on the "Fork template" option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/yc89cyufauxxt1kemzhk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/yc89cyufauxxt1kemzhk.png" alt="Image description" width="2880" height="1645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait until a green light appears next to all services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/oh3bl5uxbr1ndfswelgs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/oh3bl5uxbr1ndfswelgs.png" alt="Image description" width="2879" height="1645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copy the UI link and paste it into a new browser window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/s4601k0dyoo0clus5fm3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/s4601k0dyoo0clus5fm3.png" alt="Image description" width="2880" height="1638"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the "Setup application!" button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/skt0b5sghyse13swlp53.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/skt0b5sghyse13swlp53.png" alt="Image description" width="2874" height="1462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see this message, you need to wait a bit and click on the button again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/vjyq3b7vbralp2ysizcg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/vjyq3b7vbralp2ysizcg.png" alt="Image description" width="2868" height="1500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Save or remember the password and login.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/85hlnmco4x6v9d6fr6fk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/85hlnmco4x6v9d6fr6fk.png" alt="Image description" width="2872" height="1506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter your password and login into the fields of the login form to access your admin panel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/dzmmsku01ujx67xa2qrn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dzmmsku01ujx67xa2qrn.png" alt="Image description" width="2849" height="1430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's take a closer look at what our template consists of, how to customize it, and create a knowledge base. &lt;/p&gt;

&lt;p&gt;The admin panel consists of several modules, the main ones being "App settings" and "Base".Let's start with "App settings".&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/ayzyeme4wlzf98jc2s4k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ayzyeme4wlzf98jc2s4k.png" alt="Image description" width="2853" height="1560"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;General settings are required to create a knowledge base and serve as the foundation. Here, there is integration with two third-party services: Pinecone, which is a vector database, and OpenAI. You can find information on how to obtain all the necessary keys and settings in the following link. Click &lt;a href="https://community.ubos.tech/vika/customersupportchatbot-1ac8"&gt;here&lt;/a&gt; to know how to get the OpenAI keys. Be exercised caution and devote particular attention to the completion of the PROMPT section. This section serves as the guiding light for your AI assistant, shaping the manner and style in which the bot will engage with users.&lt;/p&gt;

&lt;p&gt;The following tabs correspond to the type of messenger where your AI assistant will directly interact. Currently, this can include Telegram, Instagram, Messenger, and WhatsApp. You can choose one or multiple options.&lt;/p&gt;

&lt;p&gt;After completing all the essential configurations, you can proceed to create and populate your knowledge base.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/8w7qyt1qm3ol2mqnocld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/8w7qyt1qm3ol2mqnocld.png" alt="Image description" width="1309" height="750"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/wbz7omxo7nva1675e4rb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/wbz7omxo7nva1675e4rb.png" alt="Image description" width="1282" height="782"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating the database, it should be populated by clicking the "Edit" button. Currently, there are several ways to achieve this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you have a website with the desired information that is well-programmed, you can retrieve all the textual content from it. This can be done in the &lt;strong&gt;"Links"&lt;/strong&gt; tab by simply filling in the inputs following the example shown in the screenshot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/2dbkvz0h15nqu20achtu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/2dbkvz0h15nqu20achtu.png" alt="Image description" width="1248" height="771"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;"Files"&lt;/strong&gt; tab, you can upload existing information in .txt format. It is preferable that these files are free from grammatical errors, contain proper punctuation, and are divided into paragraphs for preliminary editing. Google Docs is an ideal tool for this purpose. The higher the quality of your file, the less subsequent editing of vectors (knowledge chunks for the bot) will be required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/5glh7qu2elsnze29e0uc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/5glh7qu2elsnze29e0uc.png" alt="Image description" width="1272" height="775"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Here is an example of a text file where there is a division into paragraphs and concise information.&lt;/em&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/c5wg4evaqt7skxw1xwf8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/c5wg4evaqt7skxw1xwf8.png" alt="Image description" width="1501" height="1272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;'FAQ'&lt;/strong&gt; tab, you can upload a .txt file consisting of questions and answers. A mandatory requirement is to use a '?' after each question and a '.' after each answer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/yxrltrxm8w3r8toa5znb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/yxrltrxm8w3r8toa5znb.png" alt="Image description" width="1274" height="753"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;em&gt;Here is an example of a text file where there is a division into FAQ  and concise information.&lt;/em&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/7wz7ezcy0en8bcd09us6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7wz7ezcy0en8bcd09us6.png" alt="Image description" width="1516" height="1063"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Additionally, you can upload a file in PDF format.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/siu7t02rpd5hcvsdhjxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/siu7t02rpd5hcvsdhjxz.png" alt="Image description" width="1295" height="770"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you need to manually add short information, such as a single question and answer or multiple ones, you can do so in the &lt;strong&gt;"Additional"&lt;/strong&gt; tab.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/sx71qoh5bc9vaz510eun.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/sx71qoh5bc9vaz510eun.png" alt="Image description" width="2615" height="1301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once all the necessary information is uploaded, you can begin dividing the data into smaller data chunks (create vectors). This can be achieved through several methods. ----&amp;gt; push the button &lt;strong&gt;Divide file&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/pgav2ik5qfm32kav08ts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/pgav2ik5qfm32kav08ts.png" alt="Image description" width="1264" height="785"&gt;&lt;/a&gt;&lt;br&gt;
 After this, you will see a modal window where you can choose the file dividing type:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Divide by sentences.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Divide by paragraphs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An additional option is to divide by paragraphs or sentences using an increment. In this method, artificial intelligence generates several questions for each small piece of your information, aiding the bot in better understanding the user's context and providing accurate responses.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/w3wos67l0ciwjzk76xrz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/w3wos67l0ciwjzk76xrz.png" alt="Image description" width="1260" height="794"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Division may take some time. Once the data is divided, you can view the vectors and make edits by navigating to the editing page and pressing the button &lt;strong&gt;“Edit vectors”&lt;/strong&gt;. To activate it after starting the division, press the &lt;strong&gt;“Refresh”&lt;/strong&gt; button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/nplgsh2e2o7eyk9wysyy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/nplgsh2e2o7eyk9wysyy.png" alt="Image description" width="910" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the vector editing page, you will find vectors and their statuses. By clicking the &lt;strong&gt;'Refresh'&lt;/strong&gt; button, you can view new vectors and monitor status updates as the division progresses. Once the division is completed, you can go through the vectors for any necessary edits. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/jnzfzip4wt2twy7an29f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/jnzfzip4wt2twy7an29f.png" alt="Image description" width="930" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/s7pxl61dbbqa82qvd67l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/s7pxl61dbbqa82qvd67l.png" alt="Image description" width="1265" height="775"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you are satisfied with the results, you can make this database accessible to your BOT by clicking the 'Save in Pinecone' button. &lt;br&gt;
&lt;em&gt;Please note that saving may take some time, and you can monitor the status updates by clicking the 'Refresh' button.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/iywrhe73g7yqk3aj3vqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/iywrhe73g7yqk3aj3vqg.png" alt="Image description" width="924" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you wish to test how the BOT responds and you haven't yet connected with managers, you can do so on the &lt;strong&gt;Demo page&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/wre4ham4e5s59owm9j6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/wre4ham4e5s59owm9j6b.png" alt="Image description" width="3840" height="1985"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you already have your &lt;strong&gt;BOT&lt;/strong&gt; on messaging platforms and wish to observe its responses to users for finer AI analysis and data adjustments, you can do so by visiting the &lt;strong&gt;'Users'&lt;/strong&gt; page.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/n9klso4gihplwrkkmlso.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/n9klso4gihplwrkkmlso.png" alt="Image description" width="2279" height="887"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the Management page, you can create new users for your application and, depending on their roles, hide or add accessible pages. For instance, users with an &lt;strong&gt;'Admin' *&lt;em&gt;role can view all pages and create new users, while *&lt;/em&gt;'Analyst'&lt;/strong&gt; role users may only access chat with a bot, and so on. It all depends on your preferences.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/yw4jzqc8e4h3rna8p2jh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/yw4jzqc8e4h3rna8p2jh.png" alt="Image description" width="2837" height="1348"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/85vwah8m1seqd0jfshtp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/85vwah8m1seqd0jfshtp.png" alt="Image description" width="2831" height="1166"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/rtn1crluzalwlzeotooj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/rtn1crluzalwlzeotooj.png" alt="Image description" width="2523" height="1520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Addition:&lt;/strong&gt; If you delete the knowledge base, individual files, or vectors, all data will be removed from the bot's knowledge base. Please exercise caution.Our team is always ready to assist and address any issues that may arise.&lt;br&gt;
          &lt;em&gt;With respect, UBOS.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openai</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Create a document in the PDF format.</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Thu, 22 Jun 2023 09:31:40 +0000</pubDate>
      <link>https://community.ubos.tech/vika/create-a-document-in-the-pdf-format-144p</link>
      <guid>https://community.ubos.tech/vika/create-a-document-in-the-pdf-format-144p</guid>
      <description>&lt;p&gt;PDF формат дуже зручний формат обміну даними  люди найчастіше використовують документи PDF, коли хочуть обмінюватися інформацією без дозволу редагувати вихідний файл Exchange файл з тим, у кого немає необхідного програмного забезпечення для перегляду вихідного файлу.&lt;/p&gt;

&lt;p&gt;Нижче буде розглянуто найпростіший варіант створення документу такого типу на платформі &lt;strong&gt;UBOS&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Для цього нам знадобиться:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;      &lt;a href="https://community.ubos.tech/spel/ui-editor-basic-il9"&gt;UI Editor UBOS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;    &lt;a href="https://community.ubos.tech/alexseeko/pidniattia-sieriedovishcha-node-red-l88"&gt;Flow Builder UBOS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Крок перший:
&lt;/h4&gt;

&lt;p&gt;На боці UI створюємо інтерфейс та налаштовуємо функції.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;UI WIDGETS&lt;/th&gt;
&lt;th&gt;SETTINGS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/92qjz8h69oqp2y00brpy.png" alt="Image description" width="149" height="100"&gt;&lt;/td&gt;
&lt;td&gt;Звичайний &lt;code&gt;Input&lt;/code&gt; для ввода текстової інформації, налаштування по замовчуванню&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dczfxirs1yyj9mo20c6x.png" alt="Image description" width="169" height="103"&gt;&lt;/td&gt;
&lt;td&gt;Кнопка в налаштуваннях якої на подію &lt;code&gt;OnClick&lt;/code&gt; запускаємо функцію створення DPF документу.** Важливо** : PDF документ повинен відкриватися на новій сторінці,тому використовуємо функцію &lt;code&gt;navigateTo&lt;/code&gt; де &lt;code&gt;URL&lt;/code&gt; це посилання на бекенд де знаходиться &lt;code&gt;flow&lt;/code&gt;,  в &lt;code&gt;query&lt;/code&gt; передаємо інформацію з &lt;code&gt;Input&lt;/code&gt; та вказуємо &lt;code&gt;Target - New window&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/7sn90scsmeickps8t3v7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7sn90scsmeickps8t3v7.png" alt="Image description" width="2952" height="1392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;тіло функції&lt;/em&gt; -&amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{{navigateTo('https://companybd-632484b419f0331000000199.ubos.tech/getPDF',{"title": Input_title.text,"text":Input_text.text},'NEW_WINDOW')}}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Крок другий:
&lt;/h4&gt;

&lt;h4&gt;
  
  
  Потрібно на &lt;code&gt;Flow Builder UBOS&lt;/code&gt; зробити наступне:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Cтворюємо flow використовуючи такі&lt;code&gt;NODEs&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;NODE&lt;/th&gt;
&lt;th&gt;INSTALL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/9avd1ja5bfgc64qp19o1.png" alt="Image description" width="207" height="59"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/k81dn5d1q60ni43q477x.png" alt="Image description" width="213" height="54"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7a5d6qhrltpz3mu3g2ci.png" alt="Image description" width="257" height="67"&gt;&lt;/td&gt;
&lt;td&gt;Need to install &lt;code&gt;node-red-contrib-pdfmake 1.1.0&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4vs53m67ewun16a0d5fz.png" alt="Image description" width="250" height="63"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/cgbbpia4t6qifzybp0oc.png" alt="Image description" width="210" height="56"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/gbltlktxx52zsmgkikqb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/gbltlktxx52zsmgkikqb.png" alt="Image description" width="914" height="745"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Налаштовуємо &lt;code&gt;NODEs&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Http in:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/2ut8ppuoz8mrcifvmxc5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/2ut8ppuoz8mrcifvmxc5.png" alt="Image description" width="1325" height="562"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;function &lt;strong&gt;"createContent"&lt;/strong&gt;:&lt;br&gt;
в &lt;code&gt;msg.payload&lt;/code&gt; передаємо дані з &lt;code&gt;input&lt;/code&gt; в структуру передбачену для створення Pdf документа. &lt;code&gt;Content:[]&lt;/code&gt;- обов'язкова умова, в &lt;code&gt;styles&lt;/code&gt;- описуються стилі для документа за бажанням.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/p9mmyrg4m6q87f2q71x3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/p9mmyrg4m6q87f2q71x3.png" alt="Image description" width="2401" height="1446"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.payload =  {
    content: [
        { text: `${msg.payload.title}`, style:'header' },
        { text: `${msg.payload.text}`, style: 'anotherStyle' }
    ],
    styles: {
        header: {
            fontSize: 28,
            bold: true,
            alignment: 'center'
        },
        anotherStyle: {
            fontSize: 18,
            italics: true,
            alignment: 'center'
        }
    }
        }
return msg;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;pdfmake:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/0tpyoc1nogjkm7anww9m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/0tpyoc1nogjkm7anww9m.png" alt="Image description" width="1569" height="979"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;function &lt;strong&gt;"createHeaders"&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;налаштовуємо &lt;code&gt;headers&lt;/code&gt;:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/ckjxs4vc7yovtm7fq2yn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ckjxs4vc7yovtm7fq2yn.png" alt="Image description" width="1868" height="913"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.headers = {
    "Content-Disposition": "inline",
    'Content-Type': 'application/pdf'
}
return msg;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Загальний вигляд flow&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/qt4wmas6fgkrqa1el2lb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/qt4wmas6fgkrqa1el2lb.png" alt="Image description" width="2178" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;В результаті введені дані конвертуються в PDF документ.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
   &lt;br&gt;
     &lt;br&gt;
   &lt;br&gt;
&lt;/p&gt;

</description>
      <category>pdf</category>
      <category>nodered</category>
      <category>pdfmake</category>
    </item>
    <item>
      <title>Using Templates on UBOS: Instructions and Examples, Powered by OpenAI</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Mon, 10 Apr 2023 12:52:13 +0000</pubDate>
      <link>https://community.ubos.tech/vika/using-templates-on-ubos-instructions-and-examples-powered-by-openai-26bi</link>
      <guid>https://community.ubos.tech/vika/using-templates-on-ubos-instructions-and-examples-powered-by-openai-26bi</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Introduction&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2.  Template Overview&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;3. Using a Template on UBOS: Step-by-Step Guide&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;4. Examples of Using a Template on UBOS&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;1.Introduction&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this article, we will talk about what a template is and how to use it on UBOS. We will provide a detailed instruction on using the template and give examples of how it can be used to create a website. With this article, you will be able to quickly and effectively start your project and add the necessary functionality by using the template.&lt;/p&gt;

&lt;h3&gt;2.Template Overview&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;To get started, you will need a UBOS account where you can deploy any template you choose. Each template consists of both a user interface and a backend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UI part&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/278fg8t13k4fyskm52yn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/278fg8t13k4fyskm52yn.png" alt="Image description" width="2871" height="1503"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend part&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/pc054wf68rrvvf9qmexk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/pc054wf68rrvvf9qmexk.png" alt="Image description" width="2471" height="921"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;3.Using a Template on UBOS&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;UI&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
The UI includes an input field to enter prompts, a submit button to send requests, and another input field to display the OpenAI's response. The "settings" tab allows you to view the specific configurations used for sending requests.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/6zst5uxkydnod3oxqdov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/6zst5uxkydnod3oxqdov.png" alt="Image description" width="1348" height="843"&gt;&lt;/a&gt; &lt;br&gt;
In this input you have to insert your api key OpenAI,&lt;a href="https://community.ubos.tech/vika/customersupportchatbot-1ac8/#openai"&gt; the instruction is at the link ⇥ &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/12n6t71pe29unyrvgiie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/12n6t71pe29unyrvgiie.png" alt="Image description" width="1559" height="210"&gt;&lt;/a&gt;&lt;br&gt;
 We send the data from this input to Http in in Node-red, and receive them in &lt;code&gt;msg.payload&lt;/code&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/4yeo3xxro3spnz5wejrc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4yeo3xxro3spnz5wejrc.png" alt="Image description" width="837" height="360"&gt;&lt;/a&gt;On the &lt;code&gt;Onclick&lt;/code&gt; event, send a &lt;code&gt;POST request&lt;/code&gt; to the backend.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/k7o7pewlg4nv43irsm4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/k7o7pewlg4nv43irsm4e.png" alt="Image description" width="1363" height="936"&gt;&lt;/a&gt;In this input, we see the result of the query.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/ez3hqwa0pblko4l9m3w8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ez3hqwa0pblko4l9m3w8.png" alt="Image description" width="1300" height="378"&gt;&lt;/a&gt;&lt;br&gt;
This &lt;code&gt;button&lt;/code&gt; open the modal window &lt;code&gt;"settings"&lt;/code&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/anyy80z7mi2v7h2gl97d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/anyy80z7mi2v7h2gl97d.png" alt="Image description" width="1535" height="1255"&gt;&lt;/a&gt;&lt;code&gt;Settings data&lt;/code&gt; is also the result of the query.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Backend&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
IMPORTANT!!!&lt;br&gt;
To run the flow on the backend, you need to add &lt;br&gt;
&lt;a href="https://community.ubos.tech/vika/customersupportchatbot-1ac8/#openai"&gt;OpenAI key&lt;/a&gt;&lt;/p&gt;


&lt;h4&gt;1.&lt;code&gt;_HTTP In node_&lt;/code&gt;&lt;a&gt;&lt;/a&gt;
&lt;/h4&gt; This node is the starting point of the flow and waits for an incoming HTTP POST request on the "/createSQLtranslate" URL. When it receives a request, it passes the payload to the next node.


&lt;h4&gt;&lt;code&gt;_Function node "OpenAI API properties"_&lt;/code&gt;&lt;/h4&gt; This node is responsible for setting up the necessary properties and headers for making a request to the OpenAI API. It takes the incoming text payload and creates an object with the OpenAI API properties and headers required for making a request. It then returns the modified message object to the next node.


&lt;h4&gt;&lt;code&gt;_HTTP Request node "OpenAI API"_&lt;/code&gt;&lt;/h4&gt; This node sends a POST request to the OpenAI API using the properties and headers that were set up in the previous node. It waits for the response from the API and passes it to the next node.


&lt;h4&gt;&lt;code&gt;_Function node "Response"_&lt;/code&gt;&lt;/h4&gt; This node is responsible for processing the response from the OpenAI API. It converts the payload from the API response to an object format, extracts the translated text, and returns a modified message object that contains the text and the translation settings or response the error info.


&lt;h4&gt;&lt;code&gt;_HTTP Response node_&lt;/code&gt;&lt;/h4&gt; This node sends a response back to the client who made the initial request, with the translated text as the payload. It sends the HTTP response back to the client with the translated text.&lt;br&gt;
&lt;img src="https://community.ubos.tech/uploads/articles/fajq02ob46mth4nha5cl.png" alt="Image description" width="1824" height="252"&gt;

&lt;h3&gt;4.Examples of Using a Template on UBOS&lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Template "SQL translate." The product  designed to provide a translation service for SQL queries, allowing users to convert SQL queries from one dialect to another. &lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/u0hueorece7dsj0fv18r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/u0hueorece7dsj0fv18r.png" alt="Image description" width="2873" height="1539"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>openai</category>
      <category>templates</category>
    </item>
    <item>
      <title>How to get the OpenAI keys</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Wed, 29 Mar 2023 08:12:22 +0000</pubDate>
      <link>https://community.ubos.tech/vika/customersupportchatbot-1ac8</link>
      <guid>https://community.ubos.tech/vika/customersupportchatbot-1ac8</guid>
      <description>&lt;p&gt;Where to get required keys?&lt;/p&gt;

&lt;h3&gt;Getting OpenAI API key &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Sign up &lt;a href="https://platform.openai.com/overview" rel="noopener noreferrer"&gt;here&lt;/a&gt;. You can use your Google or Microsoft account to sign up if you don't want to create using an email/password combination. You may need a valid mobile number to verify your account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, visit your &lt;a href="https://platform.openai.com/account/api-keys" rel="noopener noreferrer"&gt;OpenAI key page&lt;/a&gt; or click  "Create new secret key".&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/am9yc826z6gyp8hxloqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/am9yc826z6gyp8hxloqe.png" alt="Image description" width="3840" height="1174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/c8tcyfi7z8drvbbbl7lm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/c8tcyfi7z8drvbbbl7lm.png" alt="Image description" width="3788" height="1549"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.Note that the key must be copied immediately.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/1p3f4axuzfslaqbq1l94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/1p3f4axuzfslaqbq1l94.png" alt="Image description" width="3825" height="1371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Paste the generated key in the form on "AI Setup" page and choose model. 
&lt;img src="https://community.ubos.tech/uploads/articles/rqstn3p5rwsf3ywh9zob.png" alt="Image description" width="2509" height="1256"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;After filling in the data, you need to save this data by clicking on the "Save" button.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>chatbot</category>
      <category>openai</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>CRUD operations on the UBOS platform for beginners (part 2)"GET".</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Wed, 01 Mar 2023 08:47:54 +0000</pubDate>
      <link>https://community.ubos.tech/vika/crud-operations-on-the-ubos-platform-for-beginners-part-2get-4bef</link>
      <guid>https://community.ubos.tech/vika/crud-operations-on-the-ubos-platform-for-beginners-part-2get-4bef</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;UBOS&lt;/code&gt; platform allows you to develop web applications using various operations, such as &lt;code&gt;CREATE, READ, UPDATE, and DELETE&lt;/code&gt;. In this article, we will focus on the GET operation, which is one of the basic operations used to retrieve data from a database. We will explore how to use the GET operation in web applications on the UBOS platform and how to implement it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the GET operation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GET&lt;/strong&gt; is one of the HTTP methods used to retrieve data from a server. With a GET request, you can retrieve information stored on the server and transfer it to the client browser. In web applications, GET requests are used to obtain static information, such as page content, images, audio and video files.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Example of using GET in web applications on the UBOS platform&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In the previous article, we used &lt;code&gt;Create&lt;/code&gt; to create a new &lt;code&gt;"Phonebook"&lt;/code&gt; collection. Now we will retrieve data from it. To do this, we need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API and Table widget on UI&lt;/li&gt;
&lt;li&gt;Flow on the backend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; &lt;br&gt;
The first step is to gather the data that you want to add to the database.&lt;/p&gt;

&lt;p&gt;Widget we need:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/g7hxkuvbvthupm9k3qod.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/g7hxkuvbvthupm9k3qod.png" alt="Image description" width="473" height="648"&gt;&lt;/a&gt;&lt;br&gt;
  The Table widget is a graphical user interface (GUI) component used to display tabular data in a structured format. It allows you to display data from a database or API in a grid-like format with rows and columns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Create API &lt;br&gt;
In UBOS UI, you can create an API (Application Programming Interface) to allow your application to interact with a database and perform CRUD operations. Here's a simple explanation of how to create an API in UBOS:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/714e2glkxmuegiji6cj3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/714e2glkxmuegiji6cj3.png" alt="Image description" width="526" height="554"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/d740kjrvthips2q8u1th.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/d740kjrvthips2q8u1th.png" alt="Image description" width="2281" height="1117"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/4nft53i49fn2zenzfthh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4nft53i49fn2zenzfthh.png" alt="Image description" width="446" height="828"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Сonfigure the display of data on page load.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/zmr790lnjhu8fto7umut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/zmr790lnjhu8fto7umut.png" alt="Image description" width="2288" height="1133"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Сonfigure the display of data on the Table.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/h6dqkjsh8cd9hwyd8vpb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/h6dqkjsh8cd9hwyd8vpb.png" alt="Image description" width="2258" height="1185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Display data from the API.&lt;/li&gt;
&lt;li&gt;Hide unnecessary data in the table.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt;&lt;br&gt;
Flow Builder UBOS is a visual tool for creating and managing APIs and integrations. You can use Flow Builder UBOS to create a backend for your application that can perform CRUD operations on a database. Each node is discussed in more detail in the &lt;a href="https://community.ubos.tech/vika/crud-operations-on-the-ubos-platform-for-beginners-part-1-4kp6"&gt;previous article&lt;/a&gt;,however, there are some peculiarities.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/jc79vjmaeqjt8rcfenni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/jc79vjmaeqjt8rcfenni.png" alt="Image description" width="1684" height="374"&gt;&lt;/a&gt;&lt;br&gt;
 Configure:&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/iyft735ua97iqlzrct0s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/iyft735ua97iqlzrct0s.png" alt="Image description" width="1882" height="1125"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Please note that this is the name we use in the API on the UI.&lt;/em&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/rkl99she9gfn8soigucs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/rkl99she9gfn8soigucs.png" alt="Image description" width="1834" height="1027"&gt;&lt;/a&gt;&lt;br&gt;
_&lt;code&gt;IMPORTANT!!!&lt;/code&gt; When making a request to the database, use&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.payload = {
deleted:false
}
return msg;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This way, we will always receive up-to-date data because when an item is deleted, we will change its value to &lt;code&gt;deleted:true&lt;/code&gt;_&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/mgl4xm1l00kuhhdwexvb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/mgl4xm1l00kuhhdwexvb.png" alt="Image description" width="1893" height="1000"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The last Node: we can see the response on the &lt;code&gt;debug&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/to07zvcnibeh2qt0agmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/to07zvcnibeh2qt0agmt.png" alt="Image description" width="1125" height="1393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt; &lt;br&gt;
Now, every time the page is loaded, the table will display up-to-date data from the database.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/h51v4a45sbrkwnnkwlzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/h51v4a45sbrkwnnkwlzp.png" alt="Image description" width="2722" height="954"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>get</category>
      <category>response</category>
      <category>crud</category>
    </item>
    <item>
      <title>CRUD operations on the UBOS platform for beginners (part 1)"CREATE".</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Tue, 14 Feb 2023 09:50:26 +0000</pubDate>
      <link>https://community.ubos.tech/vika/crud-operations-on-the-ubos-platform-for-beginners-part-1-4kp6</link>
      <guid>https://community.ubos.tech/vika/crud-operations-on-the-ubos-platform-for-beginners-part-1-4kp6</guid>
      <description>&lt;p&gt;CRUD operations are the foundation of most web applications, and they allow you to create, read, update, and delete records in a database. In this series of articles, we'll take a look at how to perform the first operation &lt;code&gt;Create&lt;/code&gt; on &lt;code&gt;UBOS&lt;/code&gt;, the popular low-code platform for building web applications.&lt;/p&gt;

&lt;p&gt;Creating records the UI on UI editor and backend on  Node-RED.&lt;br&gt;
Let’s look at each method separately and create the phonebook.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create&lt;/code&gt;- operation is one of the four basic CRUD (Create, Read, Update, Delete) operations used in database management. The "Create" operation is used to add new records to a database.&lt;br&gt;
&lt;strong&gt;Advise you to read before starting work :&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://community.ubos.tech/blue_skies/ui-editor-basic-36fl"&gt;UI Editor UBOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.ubos.tech/blue_skies/flow-editor-basic-3g5g"&gt;Flow Builder UBOS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; &lt;br&gt;
The first step is to gather the data that you want to add to the database.&lt;/p&gt;

&lt;p&gt;Widgets we need:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/0e12gjfqf14erf176li1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/0e12gjfqf14erf176li1.png" alt="Image description" width="712" height="478"&gt;&lt;/a&gt;|An FORM widget would be used to gather the data: name,email,phone number. Widget FORM already has widgets TEXT (use for title) and BUTTON(use for submit).&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/go0zo82hpgcvvertpi3a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/go0zo82hpgcvvertpi3a.png" alt="Image description" width="707" height="493"&gt;&lt;/a&gt;&lt;br&gt;
INPUT is used to input information and can have different types of data such as text,email,number. Depends on the needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/hnjqud6xegrmd4jh6ejj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/hnjqud6xegrmd4jh6ejj.png" alt="Image description" width="879" height="785"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Create API &lt;br&gt;
In UBOS UI, you can create an API (Application Programming Interface) to allow your application to interact with a database and perform CRUD operations. Here's a simple explanation of how to create an API in UBOS:&lt;br&gt;
To create the API you'll use the visual interface to build the API using a series of actions and triggers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add new API &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It is important to call it as the endpoint on the backend is named.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/6p2pml96bldhnysz25kh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/6p2pml96bldhnysz25kh.png" alt="Image description" width="642" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The selected method must also match the method on the backend, in this case it is POST. In the body we pass the information collected from the form. Note that the content type - is &lt;code&gt;json&lt;/code&gt; so it's good practice to use the &lt;code&gt;JSON.stringify()&lt;/code&gt; method in the body.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/n93377sf2zohboi0avsk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/n93377sf2zohboi0avsk.png" alt="Image description" width="2207" height="1154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/nbq0c1vsd98z2fha6ddi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/nbq0c1vsd98z2fha6ddi.png" alt="Image description" width="2080" height="1057"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;We call this API on the onclick event of the button in the FORM.
&lt;img src="https://community.ubos.tech/uploads/articles/9634nnxxj405wrrus5ko.png" alt="Image description" width="1519" height="1134"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; &lt;br&gt;
Flow Builder UBOS is a visual tool for creating and managing APIs and integrations. You can use Flow Builder UBOS to create a backend for your application that can perform CRUD operations on a database. Here's a simple explanation of how to create a backend using Flow Builder UBOS.&lt;br&gt;
 &lt;a href="https://community.ubos.tech/uploads/articles/kjyg80zjzyzbcp9vr2n8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/kjyg80zjzyzbcp9vr2n8.png" alt="Image description" width="1759" height="491"&gt;&lt;/a&gt;&lt;br&gt;
*&lt;em&gt;Now a little more about each node *&lt;/em&gt;&lt;br&gt;
  &lt;a href="https://community.ubos.tech/uploads/articles/6jgqhh0srwi809bcckei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/6jgqhh0srwi809bcckei.png" alt="Image description" width="269" height="78"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; "http in" is a built-in node in Node-RED that allows you to receive incoming HTTP requests. The "http in" node acts as a server that listens for incoming requests and passes them to other nodes in the flow for processing. The "http in" node is commonly used in Node-RED to create APIs and webhooks that can be consumed by other applications.&lt;/li&gt;
&lt;li&gt;Here are some of the key features of the "http in" node in Node-RED:&lt;/li&gt;
&lt;li&gt;HTTP methods: The "http in" node supports all of the standard HTTP methods, including GET, POST, PUT, DELETE, and others. You can use this node to handle different types of requests, such as retrieving data from the server, submitting data to the server, or deleting data from the server.&lt;/li&gt;
&lt;li&gt;URL patterns: The "http in" node allows you to define URL patterns that determine which incoming requests are handled by the node. For example, you can use the node to handle all requests to a specific endpoint, or to handle requests that match a particular pattern.&lt;/li&gt;
&lt;li&gt;Request and response handling: The "http in" node provides access to the incoming request and the outgoing response, allowing you to process the request and generate a response. You can use other nodes in the flow to perform operations such as data validation, database queries, and data manipulation.&lt;/li&gt;
&lt;li&gt;Middleware: The "http in" node allows you to add middleware functions that can be used to perform operations such as authentication, data validation, or data transformation. You can use middleware to implement custom logic that is executed before the request is passed on to other nodes in the flow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In our case we use the method POST for creating new collection.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/805qdtekgx1dfr5722g8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/805qdtekgx1dfr5722g8.png" alt="Image description" width="1282" height="834"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/lrbv2t7nalx4w3bmgov7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/lrbv2t7nalx4w3bmgov7.png" alt="Image description" width="350" height="105"&gt;&lt;/a&gt;&lt;br&gt;
 The "function" node in Node-RED is a core node that allows you to perform custom processing on incoming data in your flows. The "function" node provides a simple way to add custom logic to your flows, and it's a very flexible node that can be used for a wide range of tasks.&lt;/p&gt;

&lt;p&gt;Here are some of the key features of the "function" node in Node-RED:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript code: The "function" node allows you to write JavaScript code that can be executed when a message arrives at the node. The code can be used to perform operations such as data manipulation, data validation, or database queries.&lt;/li&gt;
&lt;li&gt;Input and output: The "function" node can receive input in the form of a message, and it can send output in the form of a message. The input and output messages can contain data in a wide range of formats, including JSON, XML, and plain text.&lt;/li&gt;
&lt;li&gt;Context: The "function" node provides access to a context object that can be used to store data that is specific to the current flow. You can use the context object to store data such as configuration settings, user-defined variables, or intermediate results from processing.&lt;/li&gt;
&lt;li&gt;Debugging: The "function" node provides built-in debugging support that allows you to view the input and output messages and to step through the code line by line to understand how it works.For example  &lt;code&gt;node.warn(msg.payload)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Reusable logic: The "function" node allows you to create reusable logic that can be used across multiple flows in your Node-RED application. This makes it easy to implement common functionality, such as data validation, data transformation, or database queries, that can be used by multiple flows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can also use &lt;code&gt;npm modules&lt;/code&gt; such as &lt;code&gt;objectid()&lt;/code&gt; in more detail in the next article.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/0lwrzmw89o0z41ewnldy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/0lwrzmw89o0z41ewnldy.png" alt="Image description" width="1611" height="1123"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our case we use it for creating new collection "phonebook"and build a data storage structure.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/pfo46bgo1bc94g4j1mrw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/pfo46bgo1bc94g4j1mrw.png" alt="Image description" width="1616" height="1146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the message we receive data from the UI, but pay attention to two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;We don’t need to generate &lt;code&gt;_id&lt;/code&gt; this automatically makes &lt;code&gt;mongodb&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;We add &lt;code&gt;deleted:false&lt;/code&gt; for items. We will use it for a "soft delete" in the "DELETE" part.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/ii2a28b4vuu7xtocslyf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ii2a28b4vuu7xtocslyf.png" alt="Image description" width="341" height="98"&gt;&lt;/a&gt;&lt;br&gt;
 The "node-red-node-mongodb" node is a MongoDB node for Node-RED, which allows you to interact with a MongoDB database from within your Node-RED flows. The "node-red-node-mongodb" node provides a simple and easy-to-use interface for performing common database operations, such as inserting, updating, retrieving, and deleting data.&lt;/p&gt;

&lt;p&gt;Here are some of the key features of the "node-red-node-mongodb" node:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connection configuration: The "node-red-node-mongodb" node allows you to define a connection to a MongoDB database, which can be used to perform database operations. The connection configuration includes details such as the hostname, port, database name, and credentials.&lt;/li&gt;
&lt;li&gt;CRUD operations: The "node-red-node-mongodb" node provides built-in support for common database operations, including inserting, updating, retrieving, and deleting data. You can use the node to perform these operations with just a few clicks, and the node automatically handles the details of connecting to the database and executing the appropriate commands.&lt;/li&gt;
&lt;li&gt;Query support: The "node-red-node-mongodb" node provides support for querying data from the database, allowing you to retrieve data based on specific criteria. The node provides a simple interface for defining queries, and it supports a wide range of query options, including sorting, limiting, and skipping.&lt;/li&gt;
&lt;li&gt;Data manipulation: The "node-red-node-mongodb" node allows you to manipulate the data in the database, including updating and transforming data as it is retrieved from the database. You can use the node to perform operations such as data validation, data transformation, or data enrichment.&lt;/li&gt;
&lt;li&gt;Error handling: The "node-red-node-mongodb" node provides built-in error handling that allows you to respond to errors that occur during the processing of database operations. For example, you can use the node to return an error response if the database is unavailable, or if the query fails to return any data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In our case we use :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Server -  Companies (name depends on how you named your server when you built the server)
Collection - phonebook (name of the collection you create)
 Operation - insert
  select Only store msg.payload object
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/p4dxqy5xm8h1jqql2o20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/p4dxqy5xm8h1jqql2o20.png" alt="Image description" width="1301" height="963"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://community.ubos.tech/uploads/articles/4n54yam2hfzs8jt8zbpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/4n54yam2hfzs8jt8zbpq.png" alt="Image description" width="337" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The "debug" node in Node-RED is a built-in node that allows you to see the messages that are passing through your flows in real-time. The "debug" node provides a simple and convenient way to debug your flows and to view the data that is being processed by your nodes.&lt;/p&gt;

&lt;p&gt;Here are some of the key features of the "debug" node in Node-RED:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Message inspection: The "debug" node allows you to inspect the messages that are passing through your flows, including the payload and the topic of each message. This makes it easy to see what data is being processed by your nodes, and to understand how your flows are working.&lt;/li&gt;
&lt;li&gt;Real-time updates: The "debug" node updates in real-time, so you can see the messages as they are processed by your nodes. This makes it easy to catch any issues or errors in your flows as they occur, and to make any necessary adjustments.&lt;/li&gt;
&lt;li&gt;Output format: The "debug" node provides several options for the output format, including plain text, JSON, and HTML. This makes it easy to format the debug output to suit your needs and to make it easy to read.&lt;/li&gt;
&lt;li&gt;Debugging options: The "debug" node provides several options for debugging your flows, including the ability to show the complete message object, to limit the number of messages displayed, and to choose the output format.&lt;/li&gt;
&lt;li&gt;Node-RED dashboard: The "debug" node can also be used in conjunction with the Node-RED dashboard to display debug messages on a dashboard. This makes it easy to monitor your flows and to see the status of your nodes in real-time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Useful tips: to view the whole object of the message, select: complete msg object and and let’s name  ,so it will be easier to navigate the console&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/ee2aig9dznmkmlgio43b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ee2aig9dznmkmlgio43b.png" alt="Image description" width="1293" height="883"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When we create an element on the UI and send it to the backend&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/p1wwlx2r0w49q0lwcqai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/p1wwlx2r0w49q0lwcqai.png" alt="Image description" width="879" height="803"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we write this item into the collection, in order to see this item you need to create the &lt;code&gt;GET&lt;/code&gt; request it will be the second part of our article.&lt;/p&gt;

</description>
      <category>crud</category>
      <category>request</category>
      <category>response</category>
      <category>create</category>
    </item>
    <item>
      <title>Sending SMS with NODE RED</title>
      <dc:creator>Vika</dc:creator>
      <pubDate>Fri, 27 Jan 2023 22:04:34 +0000</pubDate>
      <link>https://community.ubos.tech/vika/sending-sms-with-node-red-1271</link>
      <guid>https://community.ubos.tech/vika/sending-sms-with-node-red-1271</guid>
      <description>&lt;p&gt;One of the most popular uses of Node-RED is to send and receive SMS messages using the Twilio API. &lt;/p&gt;

&lt;p&gt;In this article, we will show you how to create a flow in Node-RED that sends an SMS message to a specified phone number.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before starting work:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://community.ubos.tech/blue_skies/ui-editor-basic-36fl"&gt;UI Editor UBOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://community.ubos.tech/blue_skies/flow-editor-basic-3g5g"&gt;Flow Builder UBOS&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Create a Twilio Account&lt;/p&gt;

&lt;p&gt;The first step in sending SMS messages with Node-RED and Twilio is to create a Twilio account.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://www.twilio.com/console" rel="noopener noreferrer"&gt;https://www.twilio.com/console&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You need to sign up and create a project on twilio then you will able to find your &lt;code&gt;Account SID&lt;/code&gt; under the "Project Info" section.&lt;br&gt;
Also, you can find your &lt;code&gt;Auth token&lt;/code&gt; under the "Project Info" section.&lt;/p&gt;

&lt;p&gt;Please keep in mind that you should keep your Account SID and Auth token secure, as they allow access to your Twilio account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Install the Twilio Node&lt;/p&gt;

&lt;p&gt;Next, you will need to install the &lt;a href="https://flows.nodered.org/node/node-red-node-twilio" rel="noopener noreferrer"&gt;node-red-contrib-twilio&lt;/a&gt; package in Node-RED. This package provides a set of nodes that allow you to interact with the Twilio API. You can install it directly from the Palette Manager in the Node-RED interface:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the Node-RED editor in your web browser.&lt;/li&gt;
&lt;li&gt;Go to the menu on the top right corner and select "Manage palette"&lt;/li&gt;
&lt;li&gt;Select the "install" tab.&lt;/li&gt;
&lt;li&gt;Search for "node-red-contrib-twilio" in the search bar.&lt;/li&gt;
&lt;li&gt;Click on the "install" button next to the package.&lt;/li&gt;
&lt;li&gt;Once the installation is complete, the Twilio node should be available in the palette and can be used in flows.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/dwlvxzazmqacnjvedsx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dwlvxzazmqacnjvedsx9.png" alt="Image description" width="760" height="1513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Create a new flowFor. &lt;/p&gt;

&lt;p&gt;Then you should use &lt;a href="https://community.ubos.tech/alexseeko/pidniattia-sieriedovishcha-node-red-l88"&gt;Flow Builder UBOS&lt;/a&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;NODE&lt;/th&gt;
&lt;th&gt;INSTALL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/zjhljtfwnunyenesgcos.png" alt="Image description" width="539" height="144"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/9d1f9oyl16700tlbv3s0.png" alt="Image description" width="540" height="149"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/6kv2oz9afs0p0961u594.png" alt="Image description" width="516" height="146"&gt;&lt;/td&gt;
&lt;td&gt;Basic NODE &lt;code&gt;node-red 3.0.2&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/uspyu48uyc6cudjntdcs.png" alt="Image description" width="503" height="141"&gt;&lt;/td&gt;
&lt;td&gt;Need to install &lt;code&gt;node-red-node-twilio 0.1.0&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/ic4wol6w0i78o596ifx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/ic4wol6w0i78o596ifx3.png" alt="Image description" width="1645" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add the Twilio node&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To send an SMS message with Node-RED and Twilio, you will need to add the Twilio node to your flow. To do this, go to the "function" section of the palette and drag the Twilio node onto the workspace. Double-click on the node to open its configuration options and enter your Twilio Account SID and Auth Token.&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/je9akux3gquiawt5v50p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/je9akux3gquiawt5v50p.png" alt="Image description" width="1491" height="758"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add a trigger node&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, you will need to add a trigger node to your flow. A trigger node is used to initiate the flow. In this case, we will use an HTTP request node as our trigger. Drag an HTTP request node onto the workspace and connect it to the Twilio node. In the HTTP request node configuration, you can specify the HTTP method and endpoint that will trigger the flow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/fz3u3pvngdm6cqzrjua2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/fz3u3pvngdm6cqzrjua2.png" alt="Image description" width="1746" height="792"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add a function node&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, you will need to add a function node to your flow. This node will be used to specify the phone number to send the SMS to and the message to be sent. Connect the function node to the Twilio node and enter the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;msg.phoneNumber = msg.payload.phoneNumber;
msg.payload = msg.payload.text;
msg.topic = `"+380" ${msg.phoneNumber}`;

return msg;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/d5bhv841flej8a4jlxt7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/d5bhv841flej8a4jlxt7.png" alt="Image description" width="1826" height="803"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Deploy the flow&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; You need to create a UI part. &lt;/p&gt;

&lt;p&gt;For that you should use &lt;a href="https://community.ubos.tech/spel/ui-editor-basic-il9"&gt;UI Editor UBOS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/7d2v2bi84re69li4el0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/7d2v2bi84re69li4el0l.png" alt="Image description" width="1138" height="873"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;UI WIDGETS&lt;/th&gt;
&lt;th&gt;SETTINGS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/92qjz8h69oqp2y00brpy.png" alt="Image description" width="149" height="100"&gt;&lt;/td&gt;
&lt;td&gt;An input widget would be used to allow users to enter the phone number or text they want to send an SMS message to. This input could be a text field or a number field, depending on the desired format of the phone number and destination&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://community.ubos.tech/uploads/articles/dczfxirs1yyj9mo20c6x.png" alt="Image description" width="169" height="103"&gt;&lt;/td&gt;
&lt;td&gt;A button widget would be used to trigger the function that sends the SMS message. The button could have a label such as "To send" or "Text Message" and when clicked, it would execute the code that sends the SMS message using the phone number entered in the input field.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Create the &lt;code&gt;API&lt;/code&gt; to send data on backend and call it to the event &lt;code&gt;onClick&lt;/code&gt; button &lt;code&gt;To send&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/w4dahvo8pjnotjs9vzvn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/w4dahvo8pjnotjs9vzvn.png" alt="Image description" width="1539" height="1132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Where the URL consists of the backend address and the Flow name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://companybd-632484b419f0331000000199.ubos.tech/sentSms
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Body consists of input data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
"text:{{JSON.stringify(Input_text.text)}},
"phoneNumber":{{JSON.stringify(PhoneInput.text)}}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/z9gy8kakohw6m5wzk39f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/z9gy8kakohw6m5wzk39f.png" alt="Image description" width="2769" height="934"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Figure  - Result of the program.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://community.ubos.tech/uploads/articles/shj0eera7g4d2phk3aal.png" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/shj0eera7g4d2phk3aal.png" alt="Image description" width="2645" height="1316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.ubos.tech/uploads/articles/z4mhxg8k837ghpdfc11x.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://community.ubos.tech/uploads/articles/z4mhxg8k837ghpdfc11x.jpeg" alt="Image description" width="1242" height="943"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sms</category>
      <category>smsnodered</category>
      <category>twilio</category>
      <category>sendingmessage</category>
    </item>
  </channel>
</rss>
