Skip to content

Commit

Permalink
docs: update readme and plugin description
Browse files Browse the repository at this point in the history
  • Loading branch information
carlrobertoh committed Dec 3, 2023
1 parent 46b88a4 commit f8bd187
Show file tree
Hide file tree
Showing 9 changed files with 87 additions and 57 deletions.
23 changes: 12 additions & 11 deletions DESCRIPTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,31 @@ Access state-of-the-art LLMs like GPT-4, Code LLama and more, all for free.

## Quick Start Guide

1. **Download the Plugin**: Get started by downloading the plugin from the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/21056-codegpt?preview=true).
1. **Download the Plugin**

2. **Choose Your Preferred Service**:
2. **Choose Your Preferred Service**

a) **OpenAI** - Requires authentication via OpenAI API key.

b) **Azure** - Requires authentication via Active Directory or API key.

c) **You.com** - A free, web-connected service with an optional upgrade to You⚡Pro for enhanced features..
c) **You.com** - A free, web-connected service with an optional upgrade to You⚡Pro for enhanced features.

d) **LLaMA C/C++ Port** - Run Code Llama, WizardCoder, and other state-of-the-art models locally for free.
d) **LLaMA C/C++ Port** - Run Code Llama, WizardCoder, Deepseek Coder, and other state-of-the-art models locally for free.

3. **Start Using the Features**: You're all set! Start exploring the features of our plugin.
3. **Start Using the Features**

### OpenAI

After successful installation, configure your API key. Navigate to the plugin's settings via **File | Settings/Preferences | Tools | CodeGPT**. Paste your OpenAI API key into the field and click `Apply/OK`.

### Azure
### Azure OpenAI

For Azure OpenAI services, you'll need to input three additional fields:
* `Resource name`: The name of your Azure OpenAI Cognitive Services.
* `Deployment ID`: The name of your Deployment.
* `API version`: The most recent non-preview version.

- **Resource name**: The name of your Azure OpenAI Cognitive Services.
- **Deployment ID**: The name of your Deployment.
- **API version**: The most recent non-preview version.

Also, input one of the two provided API keys.

Expand Down Expand Up @@ -58,15 +59,15 @@ The main goal of `llama.cpp` is to run the LLaMA model using 4-bit integer quant

3. **Apply Settings**: With the server running, you can now apply the settings to start using the features. Click on the `Apply/OK` button to save your settings and start using the application.

<img alt="animated" style="max-width: 100%; width: 600px;" src="https://github.com/carlrobertoh/CodeGPT/raw/master/docs/assets/llama_settings.png" />
<img alt="animated" style="max-width: 100%; width: 600px;" src="https://github.com/carlrobertoh/CodeGPT/raw/master/docs/assets/llama-settings.png" />

> **Note**: If you're already running a server and wish to configure the plugin against that, then simply select the port and click `Apply/OK`.
## Features

The plugin provides several key features, such as:

### Ask Anything
### Chat with AI

Ask anything you'd like.

Expand Down
121 changes: 75 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</a>
<h1 style="margin: 0;" align="center">CodeGPT</h1>
<p>
A JetBrains extension that allows you to use ChatGPT inside your favourite IDE
A JetBrains extension providing access to state-of-the-art LLMs, such as GPT-4, Code Llama, and others, all for free
</p>
</div>

Expand All @@ -21,6 +21,7 @@
<summary>Table of Contents</summary>
<ol>
<li><a href="#about-the-project">About The Project</a></li>
<li><a href="#quick-start-guide">Quick Start Guide</a></li>
<li>
<a href="#getting-started">Getting Started</a>
<ul>
Expand All @@ -37,17 +38,62 @@

## About The Project

This is an extension for JetBrains IDEs that integrates ChatGPT into your coding environment.
By leveraging the power of GPT-3, this makes it an invaluable tool for developers looking to streamline their workflow and gain a deeper understanding of the code they're working on.
This is an extension for JetBrains IDEs that integrates AI into your coding environment.
By leveraging the power of Large Language Models (LLMs), this makes it an invaluable tool for developers looking to streamline their workflow and gain a deeper understanding of the code they're working on.

## Features

The plugin provides several key features, such as:

### Chat with AI

Ask anything you'd like.

<p align="center">
<img src="docs/assets/chat-with-ai.png" alt="animated" />
</p>

### Generate Git Commit Messages

<p align="center">
<img src="docs/assets/generate-commit-message.png" />
</p>

### Method name suggestions

<p align="center">
<img src="docs/assets/method-name-suggestions.png" />
</p>

### Multiple providers

<p align="center">
<img src="docs/assets/model-selection.png" />
</p>

### Other features

- **Conversation History** - View recent conversation history and restore previous sessions, making it easy to pick up where you left off
- **Concurrent conversations** - Chat with AI in multiple tabs simultaneously
- **Seamless conversations** - Chat with AI regardless of the maximum token limitations
- **Predefined Actions** - Create your own editor actions or override the existing ones, saving time rewriting the same prompt repeatedly

## Getting Started

To get started, follow these simple steps:
1. **Download the Plugin**

2. **Choose Your Preferred Service**:

a) **OpenAI** - Requires authentication via OpenAI API key.

b) **Azure** - Requires authentication via Active Directory or API key.

### Prerequisites
c) **You.com** - A free, web-connected service with an optional upgrade to You⚡Pro for enhanced features.

In order to use the extension, you need to have a JetBrains IDE installed and the API key configured.
You can find the API key in your [User settings][api-key-url].
d) **LLaMA C/C++ Port** - Recommended to have a decent computer to handle the computational requirements of running inference.
> **Note**: Currently supported only on Linux and MacOS.
3. **Start Using the Features**

### Installation

Expand All @@ -57,64 +103,47 @@ On the `Marketplace` tab simply search for `codegpt` and select the `CodeGPT` su

![marketplace][marketplace-img]

### API Key Configuration

After the plugin has been successfully installed, the API key needs to be configured.
### OpenAI

You can configure the key by going to the plugin's settings via the `File | Settings/Preferences | Tools | CodeGPT`.
On the settings panel simply click on the `API key` field, paste the key obtained from the OpenAI website and click `Apply/OK`:
After successful installation, configure your API key. Navigate to the plugin's settings via **File | Settings/Preferences | Tools | CodeGPT**. Paste your OpenAI API key into the field and click `Apply/OK`.

![plugin-settings][plugin-settings]
### Azure OpenAI

#### Azure OpenAI configuration
Specifically for Azure OpenAI services, you will have to input three supplementary fields:
* the `Resource Name`, which is the name of your Azure OpenAI Cognitive Services. It's the first part of the url you're provided to use the service: `https://my-resource-name.openai.azure.com/` -> use `my-resource-name`. You can find it in your Azure Cognitive Services page, under `Resource Management` -> `Resource Management` -> `Keys and Endpoints`.
* the `Deployment ID`, which is the name of your Deployment. You can find it in the Azure AI Studio, under `Management` -> `Deployment` -> `Deployment Name` column in the table.
* the `API Version`, I usually used the last non-preview version, which is currently `2023-05-15`.
In addition to these, you need to input one of the two API Keys provided, found along with the `Resource Name`.
For Azure OpenAI services, you'll need to input three additional fields:

## Features
- **Resource name**: The name of your Azure OpenAI Cognitive Services. It's the first part of the url you're provided to use the service: "https://**my-resource-name**.openai.azure.com/". You can find it in your Azure Cognitive Services page, under `Resource Management``Resource Management``Keys and Endpoints`.
- **Deployment ID**: The name of your Deployment. You can find it in the Azure AI Studio, under `Management``Deployment``Deployment Name` column in the table.
- **API version**: The most recent non-preview version.

The plugin provides several key features, such as:
In addition to these, you need to input one of the two API Keys provided, found along with the `Resource Name`.

### Ask Anything
### You.com (Free)

Ask anything you'd like.
**You.com** is a search engine that summarizes the best parts of the internet for **you**, with private ads and with privacy options.

<p align="center">
<img src="docs/assets/gif/ask-anything.gif" alt="animated" />
</p>
**You⚡Pro**

### Select and Ask
Use the **CodeGPT** coupon for a free month of unlimited GPT-4 usage.

Ask anything related to your selected code.
Check out the full [feature list](https://about.you.com/hc/youpro/what-features-are-included-in-youpro/) for more details.

<p align="center">
<img src="docs/assets/gif/custom-prompt.gif" />
</p>
### LLaMA C/C++ Port (Free, Local)

### Replace Generated Code
> **Note**: Currently supported only on Linux and MacOS.
Instantly replace a selected code block in the editor with suggested code generated by AI.
The main goal of `llama.cpp` is to run the LLaMA model using 4-bit integer quantization on a MacBook.

<p align="center">
<img src="docs/assets/gif/replace-code.gif" />
</p>
#### Getting Started

### Regenerate Response
1. **Select the Model**: Depending on your hardware capabilities, choose the appropriate model from the provided list. Once selected, click on the `Download Model` link. A progress bar will appear, indicating the download process.

Expected a different answer? Re-generate any response of your choosing.
2. **Start the Server**: After successfully downloading the model, initiate the server by clicking on the `Start Server` button. A status message will be displayed, indicating that the server is starting up.

<p align="center">
<img src="docs/assets/gif/regenerate.gif" />
</p>
3. **Apply Settings**: With the server running, you can now apply the settings to start using the features. Click on the `Apply/OK` button to save your settings and start using the application.

### Other features
<img alt="animated" style="max-width: 100%; width: 600px;" src="https://github.com/carlrobertoh/CodeGPT/raw/master/docs/assets/llama-settings.png" />

- **Conversation History** - View recent conversation history and restore previous sessions, making it easy to pick up where you left off
- **Concurrent conversations** - Chat with the AI in multiple tabs simultaneously
- **Seamless conversations** - Chat with the AI regardless of the maximum token limitations
- **Predefined Actions** - Create your own editor actions or override the existing ones, saving time rewriting the same prompt repeatedly
> **Note**: If you're already running a server and wish to configure the plugin against that, then simply select the port and click `Apply/OK`.
### Running locally

Expand Down
Binary file added docs/assets/chat-with-ai.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/generate-commit-message.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/llama-server-running.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/llama-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/method-name-suggestions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/model-download-progress.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/model-selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit f8bd187

Please sign in to comment.