<div dir="ltr"><div>The info you've shared above would be good info to add to your proposal, I'll suggest you look at the code</div><div>in speech manager and the changes you'll need to make to it and then also clearly write about that too in your</div><div>proposal.</div><div><br></div><div>Hope this helps!<br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><pre style="color:rgb(46,52,54);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px"><span style="font-family:monospace,monospace">-- <br></span></pre><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><span></span><span></span>Ibiam Chihurumnaya</span></div><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><a href="mailto:ibiam@sugarlabs.org" target="_blank">ibiam@sugarlabs.org</a><br></span></div><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2024 at 6:31 PM Debasis Sikdar <<a href="mailto:debasis.sikder123@gmail.com">debasis.sikder123@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">I am sorry that I misunderstood you. </span><span style="color:rgb(0,0,0);font-family:"google sans";font-size:16pt">So, I was talking about the task 2 of GSOC,</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">I'd like to implement a chatbot for the Chat Activity. Using a free LLM service like Gemini Ai, where users can have a conversation with the bot using text or voice and get a text or voice reply (For children with disability).</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">For this to work, </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">The speech.py (Speech Manager) needs some improvement. </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">It has TTS functionality but, I also need voice to text functionality.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">So, I will add that in the speech.py using libraries like PocketSphinx or SpeechRecognition. </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">The input from user will be added with some prompts like (Generate the text which is safe for a child, and with a readability of Coleman Lieu index less than 5) this is what readability checker you were referring to was, it is a way we can generate easy to read and appropriate output from an AI chatbot. </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">I'll also save the chat in the sugar-database so that we keep a record in their local system, so it does not violate any privacy policy.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">This functionality will be added to the chat bot that I’ll be happy to integrate in the chat activity.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">As for the UI, it will be based on the current sugar's chat activity UI.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Refer to the image below hope you like it. If you have further issues, kindly let me know I hope I was able to understand you correctly this time.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Thank you, </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16pt;font-family:"google sans";color:rgb(0,0,0);font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Debasis </span></p></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 21, 2024, 22:18 Chihurumnaya Ibiam <<a href="mailto:ibiam@sugarlabs.org" rel="noreferrer" target="_blank">ibiam@sugarlabs.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I'd suggested that you look into using the speech manager if it'll need to be modified for your needs.</div><div><br></div><div>For the UI, I didn't say anything about Buttons or Windows, I'd asked about you sharing designs if you had any.</div><div><br></div><div>If I understand correctly, you're saying you'll build a readability checker to add to the activty.</div><div><br></div><div>I don't really understand the image you've attached, when replying to threads, use reply-all so the convo would stay in the thread.<br> </div><div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><pre style="color:rgb(46,52,54);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px"><span style="font-family:monospace,monospace">-- <br></span></pre><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><span></span><span></span>Ibiam Chihurumnaya</span></div><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><a href="mailto:ibiam@sugarlabs.org" rel="noreferrer noreferrer" target="_blank">ibiam@sugarlabs.org</a><br></span></div><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 20, 2024 at 4:13 PM Debasis Sikdar <<a href="mailto:debasis.sikder123@gmail.com" rel="noreferrer noreferrer" target="_blank">debasis.sikder123@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hello Sir,<div dir="auto"><br></div><div dir="auto">I am Debasis Sikdar, I wrote a review for you yesterday and after your reply I was highly motivated.</div><div dir="auto"><br></div><div dir="auto">I read your mail and understood your requirements. I made the changes and implemented the changes in my rough sketch I have attached below for the same.</div><div dir="auto"><br></div><div dir="auto">In brief,</div><div dir="auto">I changed the database from SQLite to sugar-database (DS) and understood it's working.</div><div dir="auto">I learnt about the UI using PyGTK and mentioned the creation of Buttons and Windows as required.</div><div dir="auto">I also added a readability checker using Coleman–Liau index for the readability of text for children. (0-8 range).</div><div dir="auto">I changed my implementation of voice support from pyttsx3 to sugar's speech.py library. </div><div dir="auto"><br></div><div dir="auto">Thank you so much for your time and consideration,</div><div dir="auto">Debasis</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 20, 2024, 18:09 Chihurumnaya Ibiam <<a href="mailto:ibiam@sugarlabs.org" rel="noreferrer noreferrer" target="_blank">ibiam@sugarlabs.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>You've not stated if you a proposal review, but I'm guessing that's why you shared it and I have some comments;</div><div><br></div><div>You've said you'll add support for voice chat using speech recognition - this isn't a tool - and pyttsx3, we have</div><div><a href="https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/master/src/sugar3/speech.py" rel="noreferrer noreferrer noreferrer" target="_blank">Speech Manager</a> in the sugar-toolkit-gtk3, maybe look at how you can leverage that and improve it if necessary.</div><div><br></div><div>You've mentioned using SQLite for a local database, Sugar uses <a href="https://github.com/sugarlabs/sugar-toolkit-gtk3/blob/master/src/sugar3/datastore/datastore.py" rel="noreferrer noreferrer noreferrer" target="_blank">sugar-datastore</a> to store any data an activity needs</div><div>to store, you should look at using it.</div><div><br></div><div>You've also said you'll be designing a UI, but haven't shared any ideas you have and it'll be great if you shared any.</div><div><br></div><div>You've mentioned abstracting away adding extra prompts to make answers simpler for kids, but you've not mentioned</div><div>anything about how you intend to achieve this abstraction.</div><div><br></div><div>Hope this helps!<br></div><div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><pre style="color:rgb(46,52,54);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px"><span style="font-family:monospace,monospace">-- <br></span></pre><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><span></span><span></span>Ibiam Chihurumnaya</span></div><div style="color:rgb(46,52,54);font-size:14.6667px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px;width:71ch"><span style="font-family:monospace,monospace"><a href="mailto:ibiam@sugarlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">ibiam@sugarlabs.org</a><br></span></div><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 19, 2024 at 7:06 PM Debasis Sikdar <<a href="mailto:debasis.sikder123@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">debasis.sikder123@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Dear Team,</div><div dir="auto"><br></div><div dir="auto">I am Debasis Sikdar, a sophomore in KIIT University, Odisha. I am pursuing a B.Tech. in Computer Science and Engineering. I have been targeting GSoC for a year now and I am willing to learn more and contribute to Open-Source.</div><div dir="auto"><br></div><div dir="auto">Topic: Adding an AI chatbot to the Topic: Adding an AI chatbot to the Chat Activity</div><div dir="auto"><br></div><div dir="auto">Tech-stack: Python, Google.GenerativeAI, UI/UX, PyGTK, SQLite, Pyttsx3</div><div dir="auto"><br></div><div dir="auto">Timeline:</div><div dir="auto"><br></div><div dir="auto">Week 1:</div><div dir="auto"><br></div><div dir="auto">Exploring Gemini API's features and getting familiar with the Sugar Labs codebase.</div><div dir="auto"><br></div><div dir="auto">Week 2-3:</div><div dir="auto"><br></div><div dir="auto">I'll begin integration of the Gemini API and PyGTK for the UI, I can add support for voice chat using Speech Recognition and pyttsx3.</div><div dir="auto"><br></div><div dir="auto">Week 4-5:</div><div dir="auto"><br></div><div dir="auto">Chatbot Training & Refinement so that in any case it does not provide any harmful or bad response, I'll use safety prompts and filter the output i.e., text or sound generated.</div><div dir="auto">I'll save the chats in a local database (not shared due to privacy concerns) using SQLite for the user to access any chat they previously had.</div><div dir="auto">After 1st Evaluation.</div><div dir="auto"><br></div><div dir="auto">Week 6-7:</div><div dir="auto"><br></div><div dir="auto">Testing on Different I/O and making sure that answers are made simpler for children, I will add extra prompts for this purpose which will be abstracted away.</div><div dir="auto"><br></div><div dir="auto">Week 8-9:</div><div dir="auto"><br></div><div dir="auto">The project is finally coming to an end. After integrating, training and testing we are left with handling of edge cases and UI.</div><div dir="auto">In this week I'll also be designing the UI with PyGTK.</div><div dir="auto"><br></div><div dir="auto">Week 9-10:</div><div dir="auto"><br></div><div dir="auto">Testing the whole project after deploying and fixing any errors generated in the process.</div><div dir="auto">The project can now be merged with the Source.</div><div dir="auto">This is my plan for the project listed, there can be minor changes to the plan if required. </div><div dir="auto"><br></div><div dir="auto">I am grateful to Sugar Labs and GSoC for offering this opportunity and  I am looking forward to a favourable response.</div><div dir="auto"><br></div><div dir="auto">Thank You, </div></div>
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org" rel="noreferrer noreferrer noreferrer" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>