Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议优化并减少补全代码功能发送请求的频率 #18

Open
SihengCui opened this issue Nov 15, 2023 · 8 comments
Open

建议优化并减少补全代码功能发送请求的频率 #18

SihengCui opened this issue Nov 15, 2023 · 8 comments

Comments

@SihengCui
Copy link

SihengCui commented Nov 15, 2023

What happened?
当前的逻辑:每一次光标移动、文件改变等时间发生时,均会调用大模型接口实现代码补全。在异步任务发送请求时,getCodeCompletionHints函数判断httpRequestFinFlag是否为true,如果上一次发送完了才进行当前请求,如果上一次请求未结束,则直接返回null。
这样会产生两个问题:

  1. 过于频繁的大模型调用,会增加模型的压力;
  2. 如果大模型响应速度为秒级(目前很多用户本地跑大模型的水平),当用户停止编码想要自动补全输出时。大概率发生以下情况:之前的请求没有完成,真正停止编码要等待输出的请求会跳过直接返回null。稍后返回的数据反而是之前请求的数据,导致用户的代码提示出不来。

What did you expect to happen?
建议减少调用频繁,优化操作习惯,在等一段时间用户无动作后才发送补全代码请求。

@SihengCui
Copy link
Author

image 这个在哪?

@lomotor
Copy link

lomotor commented Feb 27, 2024

为什么我的插件没有代码补全功能?另外设置延迟时间在哪里设置?

@Yuumi-lulu
Copy link

image 这个在哪?

你这个截图在哪里找到的 为啥我搜整个项目都搜不到呢

@SihengCui
Copy link
Author

image 这个在哪?

你这个截图在哪里找到的 为啥我搜整个项目都搜不到呢

他更新过了 这个功能没了 你翻一下之前的提交版本的readme

@Yuumi-lulu
Copy link

image 这个在哪?

你这个截图在哪里找到的 为啥我搜整个项目都搜不到呢

他更新过了 这个功能没了 你翻一下之前的提交版本的readme

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

@Yuumi-lulu
Copy link

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

What happened? 当前的逻辑:每一次光标移动、文件改变等时间发生时,均会调用大模型接口实现代码补全。在异步任务发送请求时,getCodeCompletionHints函数判断httpRequestFinFlag是否为true,如果上一次发送完了才进行当前请求,如果上一次请求未结束,则直接返回null。 这样会产生两个问题:

  1. 过于频繁的大模型调用,会增加模型的压力;
  2. 如果大模型响应速度为秒级(目前很多用户本地跑大模型的水平),当用户停止编码想要自动补全输出时。大概率发生以下情况:之前的请求没有完成,真正停止编码要等待输出的请求会跳过直接返回null。稍后返回的数据反而是之前请求的数据,导致用户的代码提示出不来。

What did you expect to happen? 建议减少调用频繁,优化操作习惯,在等一段时间用户无动作后才发送补全代码请求。

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

@SihengCui
Copy link
Author

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

What happened? 当前的逻辑:每一次光标移动、文件改变等时间发生时,均会调用大模型接口实现代码补全。在异步任务发送请求时,getCodeCompletionHints函数判断httpRequestFinFlag是否为true,如果上一次发送完了才进行当前请求,如果上一次请求未结束,则直接返回null。 这样会产生两个问题:

  1. 过于频繁的大模型调用,会增加模型的压力;
  2. 如果大模型响应速度为秒级(目前很多用户本地跑大模型的水平),当用户停止编码想要自动补全输出时。大概率发生以下情况:之前的请求没有完成,真正停止编码要等待输出的请求会跳过直接返回null。稍后返回的数据反而是之前请求的数据,导致用户的代码提示出不来。

What did you expect to happen? 建议减少调用频繁,优化操作习惯,在等一段时间用户无动作后才发送补全代码请求。

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

好早就没看了 之前的触发点是在codeShell.getCodeCompletionHints你全局搜一下 这种估计不会改名字

@Yuumi-lulu
Copy link

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

What happened? 当前的逻辑:每一次光标移动、文件改变等时间发生时,均会调用大模型接口实现代码补全。在异步任务发送请求时,getCodeCompletionHints函数判断httpRequestFinFlag是否为true,如果上一次发送完了才进行当前请求,如果上一次请求未结束,则直接返回null。 这样会产生两个问题:

  1. 过于频繁的大模型调用,会增加模型的压力;
  2. 如果大模型响应速度为秒级(目前很多用户本地跑大模型的水平),当用户停止编码想要自动补全输出时。大概率发生以下情况:之前的请求没有完成,真正停止编码要等待输出的请求会跳过直接返回null。稍后返回的数据反而是之前请求的数据,导致用户的代码提示出不来。

What did you expect to happen? 建议减少调用频繁,优化操作习惯,在等一段时间用户无动作后才发送补全代码请求。

请问最新的代码上代码补全的功能你的可以使用吗?有什么关键的调试节点吗~

好早就没看了 之前的触发点是在codeShell.getCodeCompletionHints你全局搜一下 这种估计不会改名字

我本地部署起来,这个代码补全的功能触发不了,前端点击button以及自动的灰色补全都没有出来,请问你之前这个功能本地部署起来了吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants