October was a quieter month than September for me. There were less events going on, so I could focus more on my usual habits and routine. A few interesting movements happened in my main job that are not yet ready for disclosure, but that should be officially announced in the next few weeks. I was also able to get a fair bit done in my personal projects. Here is a short summary of what happened:
Achievements
JenAI
JenAI is the main project I have been working on in my spare time, I described it in detail here. I was able to complete the initial scope I had planned for it in this month, with the implementation of streaming responses. I also added another minor (but very useful) feature, and made some enhancements to the overall quality of the project. To put it in specific terms:
- Release 1.6.0: Added Streaming Response feature. With this mode, the response from the model is streamed continuously as it is generated, which ensures a quicker feedback and overall better experience. It also prevents the interface being locked for several minutes (if using a very large model, for instance) while the response is being computed. This release did not remove the previous default mode (block response), which can still be activated with a command line option on startup.
- Release 1.7.0: Added Temperature feature. This released added a new command line option to set the temperature to be used by the model when computing responses. By tuning the value used for this option, it is possible to determine how creative/random the answers will be during the conversation.
- Quality improvements: This month I started adding unit tests to the project. Since the project started as an exploratory exercise, which I used to learn how to use LLM server APIs, I did not feel the need to add unit tests to it (quite to the contrary, for explorations they only get in the way). However, as my understanding of how to use the APIs grew and JenAI incorporated more features, it slowly shifted to a project I would like to add to my personal portfolio. For that, I consider it mandatory to include unit tests, so I started adding them this month. It has been a nice experience, as it has allowed me to see opportunities for better design and to apply some techniques I have been studying to deal with legacy code (and serves as a reminder that even your own recent code can be legacy if it does not include automated tests). Additionally, I have also added a CONTRIBUTING.md file with guidelines of how to contribute to the project and created new screenshots to use in the README, using the most recent version.
With the new additions done in this month, I consider the initial scope of JenAI complete. The most likely next step would be to incorporate running inferences directly within the project, instead of relying on having an LLM server running locally and using its API. For that, I will need to find a good and reliable Java library (I have no intention of implementing that by myself), and while I do have some candidates already shortlisted to investigate further, currently there is none that I know for sure would serve. If I do end up implementing that in the future, it would likely bump the major version of the project, and effectively start JenAI version 2. That is not something I intend to do before finishing at least three other projects related to AI, so there is little chance of it coming before 2025.
CoIntelligence book review
Earlier this year I read the book CoIntelligence: Living And Working With AI, by Ethan Mollick, as I have been fascinated with the potential of generative AI to have a profound impact in every part of our culture in the near-to-mid future. I picked the book as a hobby study in my personal studies habit. Ever since I finished studying it, way back in June, I have been working on a review for it. In October I finally got to write and post it. With this, I can now pick up the next hobby study book (Salman Khan's Brave New Words) and start it, as I had been waiting to get the review done to avoid mixing up the contents due to them talking about closely related topics.
Personal studies habit
September was so busy that I was not able to make much progress in my personal studies habit, as I mentioned in the monthly recap post for that month. With October being a quieter month, I was able to get back on track on this. I progressed nicely in the career study book I am working on (Working Effectively With Legacy Code), and I got to write the review for CoIntelligence, as mentioned just above.
Plans for November
Start next AI Engineering project
With the initial scope for JenAI done, I can start the next project in my First Steps Into AI Engineering series. I expect this one to have a shorter development cycle than JenAI, as I will reuse much of the API-related features and enhancements I did for that project into this new one. My current expectation is to have it in a state good enough to be made public by the middle of the month, and have it completed by the end of the month - though those are not really hard deadlines. I will be writing about it as I progress in its development.
Keep up with routine habits
Other than that, I intend to keep up the rhythm with my usual habits and routine. I am starting Brave New Words as the next hobby study book, and will probably finish Working Effectively With Legacy Code as the career study book in this month. Hopefully I will also be able to share more news about the developments in my daily job as well.
No comments:
Post a Comment