Inspiration
Equal opportunity for education is something that our team is passionate about. Therefore, with the power of AI, we decided to try to make an education-focused AI chatbot that was available for all users. Our chat bot subscription uses the ownership of specific NFTs to check for subscription validity instead of conventional subscription methods, and as NFTs only need crypto to be purchased, it makes our chatbot more accessible in areas where banks may not be as accessible, but the internet, and subsequently our chatbot, is more accessible.
What it does
YuChat is an AI-based chat model that is trained using the text-based PDF documents uploaded. It can work with these documents, learning and defining what is important in them, and can give users correct and context-based replies to questions. In general, with the ability of text summarisation, question answering and guidelines. This will allow potential learners to learn more effectively from textbooks.
How we built it
We made a request for EdgeCloud credits and TFUEL, and after it was granted we jumped straight into development.
We originally wanted to make a game, however due to our later start, from food poisoning abroad of our main developers, Yung Ting and Sriram, we ended up deciding to put the half-developed project into the archives (we plan on continuing this later once recovered), and make something that could be completed by the deadline, and have a positive impact on the Theta ecosystem and the ever-growing community.
Realising the state of education in developing countries, we ended up deciding on making a more educational focused AI to allow more access to education elsewhere. This would be convinient to both the learners and the Theta community, as it would both enrich the learners and widen the reach of the Theta community.
The subscription to the AI is based on ownership of specific NFTs, therefore this allows easy sharing of subscriptions as NFTs just have to be transferred between wallets.
Challenges we ran into
Late starts
Due to illness
Unfortunately, upon returning from a short break, some of the team were struck with mild illness, causing a later-than-planned start to the development.
Due to TFUEL
As we had a lack of TFUEL at the beginning, a delay was caused when getting funds to test with.
Documentation
Lack of Documentation
Unfortunately, some of the documentation is less than stellar, therefore a lot of messing around was needed to get it working.
Due to Image URL
What was mentioned in the documentation, unfortunately did not work, therefore we had to mess around and find out that wrapping it in object notation was needed.
Machine Limitations
We have our AI model hosted on Theta EdgeCloud, but due to quota limitations we couldn't host our text embedding model on EdgeCloud, so we are temporarily using OpenAI's text embedding model until we can get the required quota for the Theta EdgeCloud instance. We are using the LangChain SDK to interact with both the Theta EdgeCloud and OpenAI, so swapping over to EdgeCloud for text embedding is merely swapping the base URL, as LangChain is already tested to work with EdgeCloud through the AI model interaction.
Accomplishments that we're proud of
A few special achievements that we are especially proud of with YuChat. To begin with, it was possible to keep the AI’s degree of accuracy in the proper recognition of various types of documents and subjects at a high level. This required a lot of practice and tuning of our algorithms to make sure the answers we provided to the group of students could be trusted and were accurate. Secondly, to address this issue we further improved the interface to ensure that the users could easily upload and work with their documents in an efficient and friendly manner. Furthermore, the prediction and evaluation method of the model, with the increase in query processing, was checked and improved for the scalability and robustness of the model. Finally, we were able to incorporate such features as the real-time summarisation of the content of the document and the context-based question answering which makes YuChat as suitable for everyday use for professional, and educational purposes.
What we learned
How to use Remix IDE to compile Solidity smart contracts for our NFT deployment.
How to use Next.js with Web3 libraries like Wagmi.
How to use Wallet Connect AppKit SDK.
How to use Type Script for type safe code.
Learned more in-depth of how Blockchain technology works, and the cryptography behind it.
What's next for YuChat
Enhance YuChat's capabilities by integrating more advanced AI models.
Expand support for additional document formats beyond PDFs.
Implement multilingual support to reach a broader audience.
Develop features for real-time collaboration and information sharing.
Continuously improve security measures to protect user data.
Built With
- accertinity-ui
- app-kit
- css
- javascript
- next.js
- shad/cn
- solidity
- tailwind.css
- typescript
- wagmi
- wallet-connect
Log in or sign up for Devpost to join the conversation.