Commit graph

31 commits

Author SHA1 Message Date
Carl-Robert Linnupuu
e26034367e fix: build errors 2024-09-05 15:50:26 +03:00
Carl-Robert Linnupuu
1cb4998b87 refactor: implement ConfigurationSettings as a Kotlin service (#634) 2024-08-23 11:34:14 +03:00
Carl-Robert Linnupuu
b46bee945f chore: remove You.com support 2024-06-30 01:27:33 +03:00
Carl-Robert Linnupuu
b65edd86a0 fix: build 2024-05-13 16:31:24 +03:00
Rene Leonhardt
c4b65e7a53 feat: Visualize downloaded models (#543)
* feat: Visualize downloaded models

* Simplify GeneralSettings access
2024-05-13 16:02:27 +03:00
Carl-Robert Linnupuu
2e961bcb6a fix: lookup and commit message completions for codegpt provider 2024-05-13 16:00:05 +03:00
Carl-Robert
61613336bb feat: add CodeGPT "native" API provider (#537)
* feat: support codegpt client

* feat: add basic request handler test

* refactor: minor cleanup
2024-05-13 15:59:04 +03:00
Phil
9677e10d6b feat: add Google Gemini API support (#535) 2024-05-13 15:58:14 +03:00
Phil
a173840ee5 Revert "fix: use /infill for llama.cpp code-completions (#513)" (#533)
This reverts commit 8de72b3301.
2024-05-13 15:57:40 +03:00
Jack Boswell
5fb6589dc6 feat: Implement Ollama as a high-level service (#510)
* Initial implementation of Ollama as a service

* Fix model selector in tool window

* Enable image attachment

* Rewrite OllamaSettingsForm in Kt

* Create OllamaInlineCompletionModel and use it for building completion template

* Add support for blocking code completion on models that we don't know support it

* Allow disabling code completion settings

* Disable code completion settings when an unsupported model is entered

* Track FIM template in settings as a derived state

* Update llm-client

* Initial implementation of model combo box

* Add Ollama icon and display models as list

* Make OllamaSettingsState immutable & convert OllamaSettings to Kotlin

* Add refresh models button

* Distinguish between empty/needs refresh/loading

* Avoid storing any model if the combo box is empty

* Fix icon size

* Back to mutable settings
There were some bugs with immutable settings

* Store available models in settings state

* Expose available models in model dropdown

* Add dark icon

* Cleanups for CompletionRequestProvider

* Fix checkstyle issues

* refactor: migrate to SimplePersistentStateComponent

* fix: add code completion stop tokens

* fix: display only one item in the model popup action group

* fix: add back multi model selection

---------

Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-05-13 15:57:00 +03:00
Jack Boswell
c37f02b6ad refactor: Expand and explicitly handle cases where a ServiceType is checked (#521)
This streamlines changes to ServiceType, where any additions or removals will be flagged at compile time to be handled, instead of silently falling back to a default value.
2024-05-13 15:54:54 +03:00
Phil
1842c98084 fix: use /infill for llama.cpp code-completions (#513) 2024-05-13 15:53:46 +03:00
Simon Svensson
2eb21ea295 feat: code completion for "Custom OpenAI Service" (#476)
* Add code completion setting states for custom service

* Add settings for code completion in Custom OpenAI service

* Move code completion section to the bottom

* Create test testFetchCodeCompletionCustomService

* Add Custom OpenAI to the "Enable/Disable Completion" actions

* New configuration UI separating /v1/chat/completions from /v1/completions

* Code completion for Custom Service

* Formatting fixes

* Move prefix and suffix to templates in body

* Message updates

* New tabbed UI for Chat and Code Completions

* convert to kotlin, improve ui and other minor changes

* fix test connection for chat completions

* add help tooltips

* allow backward compatibility

* support prefix and suffix placeholders

* fix initial state loading

---------

Co-authored-by: Jack Boswell (boswelja) <boswelja@outlook.com>
Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-04-21 23:47:25 +03:00
René
74a4f01e6c feat: add support for placeholders in prompts (#458)
* fixes #432 adds support for Placeholders in Prompts

- activate gradle plugin Git4Idea
- adds PlaceholderUtil
- adds DATE_ISO_8601 PlaceholderReplacer
- adds BRANCH_NAME PlaceholderReplacer

* convert to kotlin, improve ui and add int. test

* fix: do not reuse projects from previous test runs

---------

Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-04-21 23:37:43 +03:00
Rene Leonhardt
f7702286f3 Update to latest 233 platform 2023.3.6 (#439)
* Update to latest 233 platform 2023.3.6

* Use first non-blank choice from response
2024-04-12 17:31:59 +03:00
Carl-Robert
68e35ff323 feat: OpenAI and Claude vision support (#430)
* feat: add OpenAI and Claude vision support

* refactor: replace awaitility with PlatformTestUtil.waitWithEventsDispatching

* feat: display error when image not found

* chore: bump llm-client

* feat: configurable file watcher and minor code cleanup

* fix: ensure image notifications are triggered only for image file types

* docs: update changelog

* fix: user textarea icon button behaviour

* refactor: minor cleanup
2024-04-03 02:24:29 +03:00
Carl-Robert Linnupuu
9d6346a979 fix: preload credentials to avoid long running tasks on EDT 2024-04-03 02:19:57 +03:00
Carl-Robert Linnupuu
c0c02d9afb refactor: remove custom Azure service configuration 2024-03-14 14:58:58 +02:00
Carl-Robert Linnupuu
42105bf308 refactor: clean up old code 2024-03-14 14:34:29 +02:00
Carl-Robert Linnupuu
8c986fd7de feat: support git commit message generation with custom openai and anthropic service (#390) 2024-03-12 21:27:51 +02:00
Carl-Robert
9706a357d2
feat: support claude completions (#398) 2024-03-06 12:48:29 +02:00
Carl-Robert Linnupuu
eeda43b0e4 feat: support lookup completions for custom openai service 2024-02-24 14:38:51 +02:00
Carl-Robert
8507c779b1
feat: support custom OpenAI-compatible service (#383) 2024-02-23 17:41:44 +02:00
Oleksii Maryshchenko
9627bbda15
feat: use llama cpp for generation of git commit message. (#380)
* Enable remote llama cpp server for Windows.

* Mixtral instruct template was added.

* Use llama cpp for generation of git commit message.

* style fix
2024-02-22 12:23:22 +02:00
Carl-Robert Linnupuu
d475ddb36f feat: support custom openai model configuration 2024-02-19 00:46:28 +02:00
Carl-Robert
93145098f5
feat: settings and credentials refactoring (#360)
* refactor service credential managers

* refactor azure settings

* refactor openai settings

* refactor llama settings

* refactor you settings

* refactor included files settings

* refactor general settings

* refactor advanced settings

* fix advanced settings component init

* refactor project structure

* refactor service settings forms

* remove openai quota exceeded field validator

* fix credential modified conditions

* fix and rearrange minor stuff

* fix you auth logic, add credential cache
2024-02-08 01:02:08 +02:00
Carl-Robert Linnupuu
097f0914bf refactor: extract configuration state into standalone class 2024-02-07 02:13:22 +02:00
Phil
7387cf4536
Inline Autocompletion Pt.2 (#333)
* Add first draft of inline code completion with mock text

* Adds InsertInlineTextAction for inserting autocomplete suggestion with tab

- Changed to disable suggestions when text is selected
- Adds and removes the insert action based on when it shows the inlay hint

* Request inline code completion

* Move inline completion prompt into txt file

* Add inline completion settings to ConfigurationState

* Fix code style

* Use EditorTrackerListener instead of EditorFactoryListener to enable inline completion

* Code completion requests synchronously without SSE

* Use LlamaClient.getInfill() for inline code completion

* support inlay block element rendering, clean up code

* Use only enclosed Method or Class contents for code completion if possible

* Refactor extracting PsiElement contents in code completion

* bump llm-client

* fix completion call from triggering on EDT, force method params to be nonnull by default

* refactor request building, decrease delay value

* Trigger code completion if cursor is not inside a word

* Improve inlay rendering

* Support cancellable infill requests

* add statusbar widget, disable completions by default

* Show error notification if code completion failed

* Truely disable/enable EditorInlayHandler when completion is turned off/on

* Add CodeCompletionEnabledListener Topic to control enabling/disabling code-completion

* Add progress indicator for code-completion with option to cancel

* Add CodeCompletionServiceTest + refactor inlay ElementRenderers

* several improvements

- replace timer implementation with call debouncing
- use OpenAI /v1/completions API for completions
- code refactoring

* trigger progress indicator only for llama completions

* fix tests

---------

Co-authored-by: James Higgins <james.isaac.higgins@gmail.com>
Co-authored-by: Carl-Robert Linnupuu <carlrobertoh@gmail.com>
2024-01-31 01:05:31 +02:00
Carl-Robert
f831a1facd
feat: add support for auto resolving compilation errors (#318) 2023-12-29 16:41:47 +02:00
Carl-Robert Linnupuu
14acc5b09f Remove Azure model selection and max completion token limit 2023-11-09 20:31:19 +02:00
Carl-Robert Linnupuu
c3da76f2bd Clean up BaseChatToolWindowTabPanel code 2023-11-09 18:43:05 +02:00