40 篇文章带有标签 “GitHubCopilot”

Continue 源码分析 - 键盘快捷键

源代码:gui/src/components/mainInput/TipTapEditor.tsx

function TipTapEditor(props: TipTapEditorProps) {
  //...
  const editor: Editor = useEditor({
    extensions: [
      Document,
      History,
      Image,
      Placeholder.configure({
        placeholder: () =>
          historyLengthRef.current === 0
            ? "提出任何问题,'/' 斜杠命令,'@' 添加上下文"
            : "提出后续问题",
      }),
      Paragraph.extend({
        addKeyboardShortcuts() {
// ...

源代码:gui/src/pages/gui.tsx

Continue 源码分析 - transformers.js 大模型提供者

模型 语言 类型 URL
jina-embeddings-v2-base-zh 中文 Embedding https://huggingface.co/Xenova/jina-embeddings-v2-base-zh
bge-small-zh-v1.5 中文 Embedding https://huggingface.co/Xenova/bge-small-zh-v1.5
bge-base-zh-v1.5 中文 Embedding https://huggingface.co/Xenova/bge-base-zh-v1.5
bge-large-zh-v1.5 中文 Embedding https://huggingface.co/Xenova/bge-large-zh-v1.5
all-MiniLM-L6-v2 英文 Embedding https://huggingface.co/Xenova/all-MiniLM-L6-v2
bge-base-en-v1.5 英文 Embedding https://huggingface.co/Xenova/bge-base-en-v1.5
bge-reranker-base 英文 Reranker https://huggingface.co/Xenova/bge-reranker-base
TinyLlama-1.1B-Chat-v1.0 英文 LLM https://huggingface.co/Xenova/TinyLlama-1.1B-Chat-v1.0
phi-1_5_dev 英文 LLM https://huggingface.co/Xenova/phi-1_5_dev
Qwen1.5-0.5B 中文 LLM https://huggingface.co/Xenova/Qwen1.5-0.5B
Qwen1.5-1.8B 中文 LLM https://huggingface.co/Xenova/Qwen1.5-1.8B
Qwen1.5-0.5B-Chat 中文 LLM https://huggingface.co/Xenova/Qwen1.5-0.5B-Chat
codegen-350M-mono 英文 LLM https://huggingface.co/Xenova/codegen-350M-mono
codegen-350M-multi 多语言 Code LLM https://huggingface.co/Xenova/codegen-350M-multi
deepseek-coder-1.3b-base 中文 Code LLM https://huggingface.co/Xenova/deepseek-coder-1.3b-base
deepseek-coder-1.3b-instruct 中文 Code LLM https://huggingface.co/Xenova/deepseek-coder-1.3b-instruct

Continue 源码分析

通过配置创建新的 Extension,用于区别于 Continue 。

{
  "name": "continue",
  "icon": "media/icon.png",
  "version": "0.9.218",
  "displayName": "LNSoft Continue",
  "description": "The leading open-source AI code assistant",
  "publisher": "LNSoft Continue"
}

目录:extensions/vscode

package.json

package.json 由开发者手动创建和维护,主要用于定义项目的配置信息。

  • configuration
  • commands
  • keybindings
  • menus
  • views

package-lock.json

package-lock.json 由 npm 自动生成和更新,主要用于锁定依赖的具体版本,确保安装一致性。

可以通过使用 package.nls.json 文件来支持多语言。package.nls.

Continue

Continue 使您能够在 IDE 中创建自己的 AI 代码助手。使用 VS CodeJetBrains 插件保持开发者的流畅体验,这些插件可以连接到任何模型、任何上下文以及任何其他你需要的东西。

  • 轻松理解代码部分
  • Tab 自动完成代码建议
  • 重构您正在编码的函数
  • 询问代码库相关问题
  • 快速使用文档作为上下文
  • 使用斜线命令启动操作
  • 将类、文件等添加到上下文
  • 立即了解终端错误

Continue 使您能够使用适合工作的模型,无论是开源还是商业,本地运行还是远程运行,用于聊天、自动完成或嵌入。它提供了许多配置点,以便您可以自定义扩展以适应您现有的工作流程。

语言 占比
TypeScript 74.0%
Kotlin 11.8%
Rust 4.9%
CSS 3.6%
Scheme 2.5%
JavaScript 2.4%
Other 0.8%

Continue - It’s time to collect data on how you build software

是时候收集关于你们如何构建软件的数据了。

  • LLM more helpful with coding (LLM在编码方面更有帮助)
  • Developers use LLM while coding more (开发者在编码时更多地使用LLM)
  • Better data collected on how software is built (收集到更好的关于软件构建方式的数据)
  • Better LLM is trained or fine-tuned (训练或微调更好的LLM)

随着时间的推移,开发者的偏好和使用的工具也在不断演进。当前一代的开发者正在用大型语言模型(LLMs)取代之前的Google和Stack Overflow,就像之前的一代人用Google和Stack Overflow取代了传统的参考手册一样。 在这个过渡期中,能够保留和吸引开发者的组织将会:

首先,理解他们的开发者如何使用LLMs,并通过收集开发数据——即他们组织构建软件的方式——来展示使用LLMs的投资回报率(ROI)。 然后,利用这个基础建立一个开发数据引擎——一个确保LLMs始终拥有最新信息和代码的持续反馈循环,以他们偏好的风格呈现。 通过展示ROI来增加LLMs预算的工程组织将能够保留他们的顶尖开发者。

Continue Code LLM Autopilot

DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。

参数 值 base_url    https://api.deepseek.com/v1 api_key 申请 api_key

参数
base_url https://api.deepseek.com/v1
api_key YOUR_API_KEY
模型 描述 上下文长度
deepseek-coder 擅长处理编程任务 16K
deepseek-chat 擅长通用对话任务 16K

UnitMesh: AI 赋能软件研发全流程

AutoDev 是一款基于 JetBrains IDE 的 AI 辅助编程插件。AutoDev 能够与您的需求管理系统(例如Jira、Trello、Github Issue 等) 直接对接。在 IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。您所需做的,仅仅是对生成的代码进行质量检查。

Chocolate Factory 是一款开源的 LLM 应用开发框架,旨在帮助您轻松打造强大的软件开发 SDLC + LLM 生成助手。

Studio B3 是一个为内容创作设计的 AI 编辑器,适用于各种格式,如博客、文章、用户故事等。

Sourcegraph Cody

  • 规划(Planning):分析代码上下文以确定生成补全的最佳方法,例如:使用单行还是多行补全。
  • 检索(Retrieval):从代码库中找到相关的代码示例,为 LLM 提供最佳可能的上下文。
  • 生成(Generation):使用 LLM 基于提供的提示和上下文生成代码补全。
  • 后处理(Post-processing):精炼和过滤原始的 AI 生成的补全,以提供最相关的建议。

Cody 的目标是提供高质量的补全,无缝集成到开发者的工作流程中。创建一个有效的代码 AI 助手需要正确的上下文(context)提示(prompt)LLM。通过语法分析(Tree-sitter),智能提示工程(smart prompt engineering),正确的 LLM 选择和正确的遥测(telemetry),不断迭代和提高 Cody 的代码补全质量和接受率(acceptance rate)。最新的数字显示 Cody 的补全接受率高达 30%

  • 流式处理(Streaming):使用流式处理(这样 LLM 可以逐个 Tokens 返回响应),客户端可以实现更高级的机制来提前终止补全请求。例如,如果你正在寻找完成一个函数定义,而 LLM 的响应开始在当前函数完成后定义另一个函数,那么你可能甚至不想显示第二个函数,可以立刻终止响应,而不是等到请求完成。

TCP 连接复用(TCP connection reusing

人工智能编码助手(AI Coding Assistant)功能

功能 说明
代码补全 基于海量数据提供实时地代码补全服务,包括行内补全(单行补全)和片段补全(多行补全)。
添加注释 智能为选定的代码生成注释,目前在整个函数级别的生成注释效果较好。
解释代码 智能解析代码意图,为选定的代码生成解释,辅助阅读并理解代码。
生成单测 在写完业务逻辑后,为选定的代码生成单测,即可智能生成具备业务语义的测试用例,从而提升问题发现的效率。
代码优化 基于大模型的代码理解能力和静态源码分析能力,支持对选定的代码片段进行分析理解并提出优化、改进建议,还能直接基于改进建议生成代码补丁。
  • 模型的评估
  • 模型的参数
  • 模型的训练
  • 模型的推理
  • 最大 Token (CodeFuse)
    • 输入:1280 Tokens
    • 输出:1024 Tokens

在 GeForce GTX 1060 上部署 Tabby - AI编码助手

lsof 是一个在 Unix 和类 Unix 系统(如 Linux)上的命令行工具,用于列出当前系统打开的文件。在这里,"文件" 的概念很广泛,除了常见的文件和目录,还包括网络套接字、设备、管道等。

  • -n 参数告诉 lsof 不要将网络号转换为主机名,这可以加快 lsof 的运行速度。
  • -w 参数告诉 lsof 不要抑制警告信息。
  • /dev/nvidia* 是要查看的文件的路径,* 是通配符,表示所有以 /dev/nvidia 开头的文件。在这里,这些文件通常代表 NVIDIA 的设备。

所以,sudo lsof -n -w /dev/nvidia* 命令的作用是查看哪些进程正在使用 NVIDIA 设备。

基于 PyCharm 使用 Tabby 和 CodeGPT 插件搭建免费的 GitHub Copilot

  • 启动服务 Controller
python -m fastchat.serve.controller
  • 启动服务 Model Worker
python -m fastchat.serve.model_worker \
  --model-path THUDM/chatglm3-6b --port 21002 \
  --worker-address http://localhost:21002 \
  --model-names chatglm3-6b,gpt-3.5-turbo
  • 启动服务 OpenAI API Server
python -m fastchat.serve.openai_api_server --port 8000

Tabby - GitHub Copilot 的开源替代解决方案

Introducing the Coding LLM Leaderboard

更新日期:2023-11-13

在代码补全中,模型预测的是跨越多行的代码块。一种朴素的方法是直接将预测的代码块与实际提交的代码进行比较。虽然这种方法看起来理想,但它通常被认为是一个“过于稀疏”的度量标准。另一方面,下一行准确度可以作为整体代码块匹配准确度的可靠代理。

只有红色框内的内容被用于与真实值进行比较,以计算准确度指标。

  • brew cleanup tabby 命令的意思是清理所有旧版本的 tabby 包和缓存的 tabby 下载。

CodeFuse

功能 说明
代码补全 基于海量数据提供实时地代码补全服务,包括行内补全(单行补全)和片段补全(多行补全)。
添加注释 智能为选定的代码生成注释,目前在整个函数级别的生成注释效果较好。
解释代码 智能解析代码意图,为选定的代码生成解释,辅助阅读并理解代码。
生成单测 在写完业务逻辑后,为选定的代码生成单测,即可智能生成具备业务语义的测试用例,从而提升问题发现的效率。
代码优化 基于大模型的代码理解能力和静态源码分析能力,CodeFuse 支持对选定的代码片段进行分析理解并提出优化、改进建议,还能直接基于改进建议生成代码补丁。

通过检索增强生成(Retrieval Augmented Generation,RAG)、工具学习(Tool Learning)和沙盒

Copilot for CLI

Copilot for CLI

  • 升级
brew upgrade gh
  • 登录
gh auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations on this host? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser

! First copy your one-time code: EA2E-F864
Press Enter to open github.com in your browser... 
✓ Authentication complete.

查看登录状态 gh auth status github.com ✓ Logged in to github.

GitHub Copilot - Your AI pair programmer

打开 GitHub Copilot - Your AI pair programmer,可以选择 Copilot for Individuals(Copilot个人版) 进行免费 2 个月的试用,每年 $100 ,可以使用 PayPal 进行支付。

  • 若要配置 GitHub Copilot,请打开 Neovim 并输入以下命令。
:Copilot setup
  • 在 Neovim 配置中或使用 Neovim 命令启用 GitHub Copilot。
:Copilot enable