hypertrons-crx icon indicating copy to clipboard operation
hypertrons-crx copied to clipboard

[Feature] Empower Open Source Community Operation with LLMs

Open wangyantong2000 opened this issue 1 year ago • 10 comments

Description

In the community building and sustainable development of CRX, https://github.com/X-lab2017/open-wonderland/issues/422, it is mentioned to utilize the capabilities of LLMs to empower open source community operations. Therefore, this issue is set up to discuss possible functions and solutions. Welcome everyone to propose relevant ideas!

wangyantong2000 avatar Jul 21 '24 08:07 wangyantong2000

I think we can add a translation function. When students encounter problems while doing OSS101 homework, some may give up commenting because they need to communicate in English on the issue. For me too, sometimes I don't know how to express in English, so I need to translate it into English on other software and paste it back.

HalloMelon avatar Jul 27 '24 02:07 HalloMelon

IMO, it is important to think about how we are gonna integrated LLM with our stuff. What I can think of is to provide context to LLM. Take the translation feature as an example. We can use other tools to do translation, but where LLM can truely be helpful is to translate based on the context, knowing what programming languages are used in the project and giving better results. This is not just for translation, but also for features like introduction, Q&A, etc.

wxharry avatar Jul 27 '24 04:07 wxharry

I think we can add a translation function. When students encounter problems while doing OSS101 homework, some may give up commenting because they need to communicate in English on the issue. For me too, sometimes I don't know how to express in English, so I need to translate it into English on other software and paste it back.

We can analyze and consider from multiple similar plugins what features we need. Functions related to LLM. And these are examples of the translation plugin I am currently using. image

https://github.com/user-attachments/assets/3ee69b5c-e453-468c-815d-022b7e5492ca

wangyantong2000 avatar Jul 27 '24 05:07 wangyantong2000

I think we can add a translation function. When students encounter problems while doing OSS101 homework, some may give up commenting because they need to communicate in English on the issue. For me too, sometimes I don't know how to express in English, so I need to translate it into English on other software and paste it back.

In fact, this is a basic question and answer function, which involves inputting a paragraph and using LLM for translation in OSSGPT. Or do you have any other better presentation options for the feature you mentioned? A more refined idea.

wangyantong2000 avatar Jul 27 '24 05:07 wangyantong2000

Yes, this function should be included in the basic functions of OSSGPT. I have tried other translation plug-ins, such as deepl, and they have indeed achieved very good results.

HalloMelon avatar Aug 06 '24 09:08 HalloMelon

I have an idea. Can oss-gpt answer questions based on the information in the issue? Sometimes when I use other people's open source code, I encounter various errors, but some of them are discussed in the issue. If I can directly give my problem to oss-gpt, it can find solutions and links to the original issue from the issue. I think it is very good. This should be very helpful for large open source projects.

Tenth-crew avatar Aug 27 '24 00:08 Tenth-crew

I have an idea. Can oss-gpt answer questions based on the information in the issue? Sometimes when I use other people's open source code, I encounter various errors, but some of them are discussed in the issue. If I can directly give my problem to oss-gpt, it can find solutions and links to the original issue from the issue. I think it is very good. This should be very helpful for large open source projects.

Essentially, it is the process of information retrieval within a knowledge base. That is to say, when establishing the knowledge base, include the issue as well.

wangyantong2000 avatar Aug 27 '24 06:08 wangyantong2000

The component we use when developing OSS-GPT is React Chat Widget. Provide concise and intuitive chat functionality in React Chat Widget. At present, when I am trying to develop some new features, I have found that some common basic functions of large models include streaming output, support for markdown format, etc. Requires a significant amount of secondary development. And currently, with the emergence of chatGPT, there have also been some chat components that mimic GPT. For example, pro-chat and so on. So, replace the components of OSS GPT to better adapt to the development of large models, allowing energy to focus more on the final effect of functionality.

wangyantong2000 avatar Aug 27 '24 06:08 wangyantong2000

Recently, I’ve tried various solutions to integrate large models into projects. Unlike other projects, this browser plugin project encountered a lot of difficulties and issues. After several attempts and practical trials, I created a small demo and finalized a plan for the project’s further advancement.

https://github.com/user-attachments/assets/c2745ff1-b028-4451-a368-4288b4222dd4

https://github.com/user-attachments/assets/e418de1e-06f9-4a53-98f2-207918821739

Next, the ProChat component will be introduced later. Although some parts of ProChat need to be modified due to the limitations of the browser plugin project, it’s still quite convenient overall. Some LLM applications are also using this component. Introducing this component involves upgrading the React version to 18 or higher, which will require some code refactoring. We provide application services, but the model itself must be supplied by the user, including the model’s address, API key, and model name. There must be a place for users to input and parse this information.

A simple Q&A wouldn’t be very innovative. Since we’re developing a plugin centered around GitHub, we should focus on finding scenarios within the GitHub platform where LLMs can be applied to automate tasks. On GitHub, automation involves GitHub APP and Github Bot, which will be used for various automated tasks. Future features include automatic code annotations, repository-level Q&A, issue automation (automatic creation, summarization, etc.), and PR code review. While these are just initial ideas, they give us a direction to move towards.

The priority is to first establish the infrastructure, and then gradually advance.

Next, the project will proceed with the following steps:

  1. Upgrade the React version to 18+. https://github.com/hypertrons/hypertrons-crx/issues/873
  2. Integrate the ProChat component with necessary secondary development.#876
  3. Develop the model-related information storage and usage.#876
  4. Refine the features already prepared, such as basic Q&A and automatic code annotation.#876 #879
  5. Improve the chat section’s design and style.

The above tasks are expected to be completed around October. Stay tuned…

We’re also welcoming first-year graduate students who are interested in participating. In the future, @Xsy41 will be joining the project.

wangyantong2000 avatar Sep 22 '24 12:09 wangyantong2000

How to make LLM combine with the previous hypercrx functional positioning to do something. Currently, we have created a lot of visual dashboards for the data provided by OpenDigger. We have done various visualization tasks, but we have been lacking the next step in data visualization, which is data analysis. We already have this visual data trend display for everyone, so we can use big models to analyze this data trend. And similar to how we want to view data for a specific month in a data dashboard, except for clicking on that month in the dashboard to see the corresponding data, can we input questions or other forms and use LLM to process the data and directly return it. I think this is also a place to consider.

wangyantong2000 avatar Sep 30 '24 04:09 wangyantong2000