Open WebUI

下载镜像

docker pull ghcr.io/open-webui/open-webui:main

运行

Docker Compose (Ollama)

编写配置文件:docker-compose.yml

version: '3'
services:
  openwebui:
    image: ghcr.io/open-webui/open-webui:main
    extra_hosts:
      - host.docker.internal:host-gateway    
    ports:
      - "3000:8080"
    volumes:
      - open-webui:/app/backend/data
volumes:
  open-webui:
docker compose up

Docker (OpenAI API)

vscode-extension-samples/chat-sample 源码分析

运行 Chat Sample

克隆仓库

git clone https://github.com/microsoft/vscode-extension-samples

安装依赖

cd vscode-extension-samples/chat-sample
npm install

调试

在 Debug View 中运行 Run Extension

Chat Sample 源码分析

扩展入口

文件:src/extension.ts

export function activate(context: vscode.ExtensionContext) {
    registerSimpleParticipant(context);
    registerToolUserChatParticipant(context);
    registerChatLibChatParticipant(context);

    registerChatTools(context);
}

注册参与者

文件:src/simple.ts

export function registerSimpleParticipant(context: vscode.ExtensionContext) {

}

Language Model API

The Language Model API enables you to use the Language Model and integrate AI-powered features and natural language processing in your Visual Studio Code extension.

语言模型 API 可以让您使用语言模型,并在您的 Visual Studio Code 扩展中集成 AI 功能和自然语言处理。

You can use the Language Model API in different types of extensions. A typical use for this API is in chat extensions, where you use a language model to interpret the user's request and help provide an answer. However, the use of the Language Model API is not limited to this scenario.

Chat Extensions (VS Code)

聊天用户体验的组成部分

下面的截图显示了示例扩展中 Visual Studio Code 聊天体验中的不同聊天概念。

  1. 使用 @ 语法调用 @cat 聊天参与者
  2. 使用 / 语法调用 /teach 命令
  3. 用户提供的查询,也称为用户提示
  4. 图标和参与者的 fullName,表示 Copilot 正在使用 @cat 聊天参与者
  5. @cat 提供的 Markdown 响应
  6. 包含在 Markdown 响应中的代码片段
  7. 包含在 @cat 响应中的按钮,按钮调用 VS Code 命令
  8. 聊天参与者提供的建议后续问题
  9. 聊天输入字段,其中的占位文本由聊天参与者的 description 属性提供

开发聊天扩展(chat extension)

聊天扩展是一种扩展,它向 Chat 视图提供了一个聊天参与者。

实现聊天扩展所需的最小功能是:

  • 注册聊天参与者,让用户可以在 VS Code Chat 视图中使用 @ 符号调用它。
  • 定义一个请求处理程序,解释用户的问题,并在 Chat 视图中返回响应。

您可以使用以下可选功能进一步扩展聊天扩展的功能:

  • 注册聊天命令,为用户提供常见问题的简写符号
  • 定义建议的后续问题,帮助用户继续对话

作为开发聊天扩展的起点,您可以参考我们的 chat extension sample。此示例实现了一个简单的猫导师,可以使用猫隐喻解释计算机科学主题。

GitHub Copilot in VS Code

GitHub Copilot

GitHub Copilot 你的 AI 编程伙伴,助你更快、更智能地编写代码。

UI 设计

Command Center

Inline Chat

Chat View

  • Conversation History

Quick Chat

Copilot Edits

Terminal Inline Chat

支持的 IDE

  • Visual Studio
  • Visual Studio Code
  • JetBrains IDEs
  • Xcode
  • Vim/Neovim
  • Azure Data Studio
  • Web browser(GitHub website)
  • Windows Terminal
  • GitHub Mobile

交互方式

Code Completions(代码完成)

Copilot 会在你输入时建议代码行,并为函数签名提供多行建议。注释中的提示会根据你期望的结果、逻辑和步骤提供具体的建议。

  1. 代码行建议
  2. 函数签名建议
  3. 注释中的提示

您可能不想接受 GitHub Copilot 的整个建议。您可以使用 ⌘→ 键盘快捷键来接受建议的下一个单词或下一行。

Inline Chat

Inline Chat 使您能够直接从编辑器与 Copilot 进行聊天对话,而无需离开您的工作上下文。使用 Inline Chat,您可以在代码中就地预览代码建议,这对于快速迭代代码更改非常有用。

Chat View