From 49b2c833fe624e7076043bb7864237f89d8ef0e1 Mon Sep 17 00:00:00 2001 From: arshad Date: Mon, 17 Feb 2025 08:49:32 +0530 Subject: [PATCH] chore: update ontyping threshold --- docs/configuration/register-options.md | 8 ++++---- packages/monacopilot/src/processor.ts | 23 +++++++++-------------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/docs/configuration/register-options.md b/docs/configuration/register-options.md index 3ebc87f..cfa213c 100644 --- a/docs/configuration/register-options.md +++ b/docs/configuration/register-options.md @@ -12,7 +12,7 @@ The `trigger` option determines when the completion service provides code comple ```javascript registerCompletion(monaco, editor, { - trigger: 'onTyping', // Only recommended for low-latency and low-cost models + trigger: 'onTyping', }); ``` @@ -27,13 +27,13 @@ registerCompletion(monaco, editor, { ::: info For the best experience with `onTyping` mode: -- Use fast, cost-effective models like Groq's `llama-3-70b` or OpenAI's `gpt-4o-mini` for real-time completions +- Use super fast, cost-effective models like Groq's `llama-3-70b` for real-time completions - For higher accuracy needs, consider using `onIdle` mode with models like `claude-3-5-sonnet`, `claude-3-5-haiku`, etc. -- The `onTyping` mode makes more API calls to provide instant suggestions, so choose your model accordingly +- The `onTyping` mode makes more API calls in the background to provide instant suggestions, so choose your model accordingly ::: ::: tip -We recommend using `onTyping` mode with Groq's `llama-3-70b` for super fast, realtime completions while you type. +Use `onTyping` mode with Groq's `llama-3-70b` for super fast, realtime completions while you type. ::: ## Manually Trigger Completions diff --git a/packages/monacopilot/src/processor.ts b/packages/monacopilot/src/processor.ts index 5b209d5..38abc2d 100644 --- a/packages/monacopilot/src/processor.ts +++ b/packages/monacopilot/src/processor.ts @@ -20,7 +20,7 @@ import {createInlineCompletionResult} from './utils/inline-completion'; // [base delay, typing threshold] const TYPING_DEBOUNCE_PARAMS = { - [TriggerType.OnTyping]: [600, 120], + [TriggerType.OnTyping]: [500, 100], [TriggerType.OnIdle]: [600, 400], [TriggerType.OnDemand]: [0, 0], }; @@ -95,22 +95,14 @@ export const processInlineCompletions = async ({ .build(); const completionRange = new CompletionRange(monaco); - const completionInsertionRange = - completionRange.computeInsertionRange( - pos, - formattedCompletion, - mdl, - ); - - const cacheRange = completionRange.computeCacheRange( - pos, - formattedCompletion, - ); if (enableCaching) { completionCache.add({ completion: formattedCompletion, - range: cacheRange, + range: completionRange.computeCacheRange( + pos, + formattedCompletion, + ), textBeforeCursor: getTextBeforeCursor(pos, mdl), }); } @@ -118,7 +110,10 @@ export const processInlineCompletions = async ({ return createInlineCompletionResult([ { insertText: formattedCompletion, - range: completionInsertionRange, + range: completionRange.computeCacheRange( + pos, + formattedCompletion, + ), }, ]); }