Progress overview
Embarking on complex opensource application projects often presents presents challenges that test one's skill and resilience. Over the past two weeks, I have contributed in several such endeavour to open my world of contributing, each offering improvement of unique ares such as embedding mode, UI styling, API request. Which is providing me huges experiences and opportunities for growth and gain techniques that I can reuse on my future application.
Chatcraft
Sometimes, the best way to grow as a software developer as I'm right now is to tackle challenges that seem overwhelming at first sight. Over past two weeks, I have been working on several pull requests as I mentioned on the first blogs above. One of (PR) for the
Migrate to Chakra V3 #752
First PR was short of a rollercoaster ride. This PR involves migrating the entire project to the latest version of Chakra UI, a task that has tested my skills and patience but also taught me invaluable lessons.
Sample Code
- Chakra UI 3.0 using
lineClamp
insteadnoOfLines
- Chakra UI 3.0 using
Dialog
instead ofModal
- Chakra UI 3.0 using
Card
Objects instead of Seperate objects of Card such as CardBody , CardFooter
More you can find in each component change here
DocsGPT
Second PR was merged couple days ago. This PR was quite similar to the first PR that we have to fix User Interface that involves around 5 components Document Table | API Table | Settings Table | BackAPI Request | Pagination dropdow.
Table Styling & Add search feature to backend #1442
-
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
-
#1440
-
Why was this change needed? (You can also link to an open issue here) uniform table nicely
-
Other information: update table styling uniformly
This PR focused on refining the user interface for several key components within the application, tackling issues that spanned across multiple tables and features. While the task was similar in complexity to my first PR, it presented its own set of unique challenges and learning opportunities.
Sample Code
- Change from
select
todiv
to improve transition of user experience of dropdown select box position as well.
- Instead of using
table
as a container I wrapped it up with div so I have more controlled of table
- Pagination behaviour fixed when sending sort and column to filter the document
- Move Pagination Component out scrollable area
I recently, submitted my third pull request (PR) which is another PR to DocsGPT project, addressing an issue where images from DOCX files were not being processed correctly. This PR involved adding support for image extraction and handling within the document processing pipeline, and also introduce new embeddings model from mpbasenet to openai/clip.
GenAI eatting image from DOCX #1462
-
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
-
#1451
Chage from docx2txt.process to extract them manually Eatting image as Base64 | Table as HTML tag | Text for paragraph
- Why was this change needed? (You can also link to an open issue here)
To using multiple vector store to retrieve correct image as paragraph order instead of zip them by docx2text.process()
- Other information:
- Progress the issue is now when we retrieve need to find the way to convert base64 back for AI to understand image
@dartpain let me know if this correct approach or wrong direction
For now we are testing on extension .docx only that extract core information right table , text , image and embedding them correctly to vertorstore which right position in the database.
Sample Code
- Instead of using
doc2text.process
change to
- Change Single Embedding model to Multi Modal Model
Find out more about CLIP model : https://huggingface.co/learn/cookbook/en/faiss_with_hf_datasets_and_clip
- Change Embeddeing Wrapper Class to align with CLIP model
Summary
These contributions have been instrumental in advancing my skills as a software developer. Each project presented distinct challenges, from large-scale UI migrations to intricate data processing tasks, all of which required strategic planning, problem-solving, and collaboration with the open-source community. The experiences have not only deepened my technical expertise but also underscored the value of perseverance and continuous learning in the ever-evolving field of software development.
Top comments (3)
This is incredible stuff you have going on, is there any chance we can connect?
I would appreciate your assistance, as I would like to build my confidence In contributing to open-source projects
Thank you so much for the comment. You can connect me through discord #aomo4607
Thanks.
But I have a bit of an issue.
I am searching and I don't seem to find you.
But this is mine
ben_007.