LLM(Large Language Models) for better developer learning of your product
Tags: llm, ai, development, bot
Published: 2023-07-27 07:59:21

Developing a tech product is not just about coding and deployment. It’s about the learning journey that goes into building and utilizing it as well. Especially, if you have a **developer-oriented product**, it is about ensuring that developers understand your product at a deep level through the docs, tutorials, and how-to guides, improving both their own skills and the quality of the work they produce. Nowadays AI can not only [generate docs](https://codepal.ai/code-documentation) from code but also it makes easy to find specific information or answer questions about your product using a [chatbot](https://pathway.com/developers/showcases/llm-app-pathway) for a better **developer experience**. It is life-changing for these project docs maintainers.

This article explores how LLMs(Large Language Models) and LLM apps such as [Pathway](https://github.com/pathwaycom/llm-app) can be leveraged for effective and efficient developer education, which can boost the utilization of your product.

## Understanding Large Language Models

Let’s quickly recap what [Large Language Model](https://en.wikipedia.org/wiki/Large_language_model)s are. LLMs are like **smart computer programs** that are really good at understanding language. They are AI models trained on vast amounts of text data. LLM uses this understanding to do different tasks like creating content, looking up information, chatting, or helping arrange your data.

To get an LLM to do a specific task, a user gives it one or more prompts through an app, call it **LLM App**. These prompts could be a question, a command, a description, or some other piece of text. After receiving the prompt, the LLM decides what information should be given back to the user. The app then uses this information to come up with a response, which could be an answer or some newly created content.

![LLM Complete Guide 2023](https://miro.medium.com/v2/resize:fit:840/0*ei7nxNcOI54JxooF)

Figure 1: Foundational model, Source: [LLM Complete Guide 2023](https://research.aimultiple.com/large-language-models/)

On the technical side, LLMs are a specific kind of deep neural network that’s mainly trained on text, although some also use images, videos, or sounds. They’re very robust and adaptable in terms of what they can do, which is why they’re used in so many different areas. By now, a lot of people have heard about some of the most famous LLMs and the apps they power, like [ChatGPT](https://chat.openai.com/) and [DALL-E](https://en.wikipedia.org/wiki/DALL-E).

## Key challenges LLM app can solve in developer learning

When developers need to comprehend a new API, library, framework, or other developer tool, they first consult **any kind of documentation**. It is a product roadmap that provides instructions on how to use these tools successfully. It can be difficult to produce clear, detailed, and accessible documentation, but doing so can prevent misunderstanding, misuse, and, ultimately, the loss of potential users. Overly technical documentation may be inaccessible to less experienced developers, while overly simplified documentation may omit important details.

Inconsistent terminology, structure, or format can confuse readers and make the documentation harder to follow or even the best documentation is useless if developers can’t find it. Poorly organized or hard-to-navigate documentation can make finding the necessary information a daunting task. In this context, the key challenges an LLM app can solve are **inconsistency** and **discoverability.** Let’s understand what you can achieve by using the LLM app in developer learning in the next sections.

## LLMs in Developer Learning

### Contextual Learning

LLMs can revolutionize the way developers learn about your product. Because LLMs are **context-sensitive**, they can provide relevant and personalized responses based on the information given to them. When integrated into a learning platform such as docs, these models can deliver on-demand, contextual explanations about various features and functionalities of your product. They can essentially provide a virtual, on-demand tutor for developers, offering them the information they need exactly when they need it.

### Interactive Documentation

Traditional documentation can be **static**, **hard to navigate**, and **not very user-friendly**. LLMs can be used to create interactive, dynamic documentation that responds to developers’ queries in real-time. Developers can ask specific questions about your product, and the language model can generate responses on the fly, simplifying the learning process.

For example, [Pathway](https://pathway.com/) engineers built a [chatbot](https://pathway.com/developers/showcases/llm-app-pathway) to answer questions about the Pathway documentation in real-time and you can **ask the bot assistant** on [Discord](https://discord.com/invite/pathway) to learn how it works.

![Pathway LLM App](https://miro.medium.com/v2/resize:fit:840/1*Yle_kZ4j7zArGZpJJB8V2w.png)

### Continued Learning

The technology industry is marked by continual change and evolution which means docs are subject to change regularly and developers might miss important changes on docs that might lead to code misconfiguration (for example, change on APIs) or even they might end up using the project. On the other hand, the LLM-based bot can automatically detect any changes in the document directory and update the vector index accordingly. This real-time reactivity ensures that app’s responses are always based on the most recent and relevant information available on the website.

### Code Generation and Review

LLMs can [generate](https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ffeatures%2Fcopilot&sa=D&ust=1678845427017796&usg=AOvVaw1RM8c_blwJAVO0KgdkVe_w) and review code, making them an excellent learning tool for developers. Developers can input their code, and the language model can suggest improvements, catch bugs, or even generate new code snippets. This offers a practical, hands-on way for developers to learn about your product’s technical aspects. This can be useful for open-source project maintainers where the many code contributions could be from the community and usually new contributors need assistance with writing certain types of code. LLMs can [review code](https://www.cncf.io/blog/2023/06/06/a-chatgpt-powered-code-reviewer-bot-for-open-source-projects/) and identify potential bugs or errors, making the quality control process more efficient. This aids contributors by providing immediate feedback and reducing the time between code submission and acceptance.

### Implementing LLM

Using the **LLM app** an **open-source project** [Pathway](https://pathway.com/) offers, you can also easily integrate above mentioned capabilities into your docs platform. As they claim, the current solution can cope with the existing key challenges of **bringing LLM applications to production** and the **ambiguity of natural languages** that we’ve seen. LLM App architecture relies on existing enterprise document storage — **no disk copies** are created, and **no vector database** is needed. For an in-depth exploration of the app’s underlying code, visit the GitHub repository at **[llm-app](https://github.com/pathwaycom/llm-app)**.

## Conclusion

Effective documentation (Quickstarts, How-to guides, or tutorials) is necessary for the success of developer-oriented products. Although creating such documentation comes with its share of challenges, addressing these problems with modern the **LLM app** can lead to a better user experience, improved product adoption, and, ultimately, more satisfied developers.

## Related resources

- [LLM App GitHub repository](https://github.com/pathwaycom/llm-app)
- [All You Need to Know to Build Your First LLM App](https://pathway.com/developers/showcases/llm-app-pathway)

### Community

Join the [Discord channel](https://discord.com/invite/pathway) to see how the ChatBot assistant works.