在Visual Studio Code中使用Phi-3模型

news2024/11/16 5:21:51

 更多数字生产力内容,欢迎关注我的公众号“ONE生产力”。

先前的文章中,我们已经介绍使用LM Studio在本地环境中运行Phi-3。LM Studio是一款革命性的桌面应用程序,它允许用户在自己的计算机上本地运行、管理和部署大型语言模型,但有朋友希望有工具能够更好的利用本地语言模型进行开发,今天我就向大家隆重介绍VS Code AI Toolkit,通过AI Toolkit,我们就可以在熟悉的VS Code中实现:

  • 在本地运行预先优化的 AI 模型:快速开始使用为各种设置设计的模型,包括使用 DirectML 加速或直接 CPU 运行的 Windows 11、带有 NVIDIA GPU 的 Linux 或仅限 CPU 的环境。
  • 无缝测试和集成模型:在用户友好的游乐场中试验模型,或使用 REST API 将它们直接合并到您的应用程序中。
  • 根据特定需求对模型进行微调:在本地或云端定制预先训练的模型(如流行的 SLM Phi-3 和 Mistral),以增强性能、定制响应并控制其风格。
  • 部署您的 AI 功能:选择云部署或将其嵌入到您的设备应用程序中。

本系列我们将包含两篇文章,今天第一篇我们将继续以Phi-3模型为例,介绍如何通过AI Toolkit在VS Code中使用本地模型,下篇我们将介绍如何通过AI Toolkit在VS Code中微调Phi-3模型。

准备

在开始之前,请先准备好您的Visual Studio Code,您可以参考官方教程配置您的VS Code环境:

Getting started with Visual Studio Code。

安装VSC AI Toolkit

AI Toolkit 在 Visual Studio Marketplace 中提供,可以像安装任何其他 VS Code 扩展一样进行安装。

如果不熟悉如何安装 VS Code 扩展,则请执行以下步骤:

  1. 在 VS Code 中的活动栏中,选择“扩展”
  2. 在“扩展搜索”栏中键入“AI Toolkit”
  3. 选择“适用于 Visual Studio Code 的 AI Toolkit”
  4. 选择“安装”

安装扩展后,你会看到 AI Toolkit 图标显示在“活动栏”中。

下载模型

在AI Toolkit中,您将看到模型资源两部分:

模型部分包含:

模型目录

资源部分包含:

模型Playground

模型微调

我们在模型目录中选择并下载适合我们用例的模型。AI Toolkit 提供了已针对 Windows 优化的公开 AI 模型集合。这些模型存储在不同的位置,包括 Hugging Face、GitHub 等(备注:如果您在中国大陆,请注意您的网络环境能否访问上述站点),但我们可以浏览这些模型并在一个地方找到所有模型,随时可以在 Windows 应用程序中下载和使用。

我们还可以找到每个模型的模型卡,检查模型的各种参数,以便进一步决定为特定应用选择哪一个。一些详细信息,如模型预训练的参数数量、对 CPU 或 GPU 的依赖性、模型的大小都可以在这里找到。最后,在决定之后,可以使用每个模型的“下载”按钮下载模型。可以下载任意数量的模型。

运行模型

下载模型后,在目录中的模型卡上选择“在Playground中加载”:

在Playground的聊天界面中,输入以下消息,然后按 Enter 键:

你应会看到流式传输回来的模型回复:

同时您还可以配置上下文说明推理参数,从而获得更好的答案。

与现有AI应用集成

和LM Studio、Ollama一样,AI Toolkit 也附带本地 REST API Web 服务器,其使用OpenAI兼容接口来提供模型。 这样,便可以使用终结点 http://127.0.0.1:5272/v1/chat/completions 在本地测试应用程序,而无需依赖云 AI 模型服务。 如果打算在生产中切换到云终结点,请使用此选项。 可使用 OpenAI 客户端库连接到 Web 服务器。

总结

Visual Studio Code AI Toolkit 是一个为 Visual Studio Code 设计的扩展,它提供了一系列强大的功能,包括下载、测试、微调 AI 模型以及使用应用或云部署 AI 模型的能力。相较于 LM Studio 和 Ollama,AI Toolkit与 Visual Studio Code 的深度集成,具有更好的继承性和易用性。此外,它支持广泛的模型操作,包括模型的发现、下载和运行,以及与云服务的无缝整合,使得模型的开发和部署更加便捷。

参考文献

适用于 Visual Studio Code 的 AI Toolkit 入门指南 | Microsoft Learn

Visual Studio Code AI Toolkit: How to Run LLMs locally

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1860963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新书速览|Linux C与C++一线开发实践

《Linux C与C一线开发实践》 本书内容 Linux C/C编程在Linux应用程序开发中占有重要的地位,掌握这项技术将在就业竞争中立于不败之地。《Linux C与C一线开发实践》内容针对初中级读者,贴近软件公司一线开发实践。全书厚达620多页,知识点丰富…

Go语言JSON-RPC 实战: `net/rpc/jsonrpc` 包的高效使用指南

Go语言JSON-RPC 实战: net/rpc/jsonrpc 包的高效使用指南 简介jsonrpc 包的基础客户端(Client)创建客户端调用方法 服务器(Server)配置服务器数据类型和错误处理 搭建基础的 JSON-RPC 服务服务端的实现客户端的实现 进…

不懂电路搭建可以学嵌入式编程开发吗?

当然可以学嵌入式编程开发!虽然电路搭建是嵌入式开发中的一部分,但即使你对电路搭建不太了解,也可以从嵌入式编程开发入手。刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0…

什么是绩效评价?绩效考核的五个标准包括哪些?

什么是绩效评价?绩效评价是指运用一定的评价方法、量化指标及评价标准,对中央部门为实现其职能所确定的绩效目标的实现程度,及为实现这一目标所安排预算的执行结果所进行的综合性评价。   绩效考核的五个标准有: 1、考核标准设置…

解决vscode运行js时突然报错

1. 问题背景 创建JavaScript文件运行,弹出错误:Can’t find Node.js binary “node”: path does not exist. Make sure Node.js is installed and in your PATH, or set the “runtimeExecutable” in your launch.json 这是由于没有配置好setting.js…

cnpm run dev 报错 Error: Cannot find module ‘fs/promises’

主要原因是babel版本冲突 卸载以下依赖可以解决问题: 之后重新安装babel-loader依赖 可能会报以下错误: 接着安装babel-core依赖 项目顺利启动

python turtle 004Hello Kity

代码:pythonturtle004HelloKity资源-CSDN文库 # 作者V w1933423 import math import turtle as t# 设置画笔速度 t.speed(0)# 定义函数画弧 def myarc(t1, r, angle):arc_length 2 * math.pi * r * angle / 360 # 弧长n int(arc_length / 3) 1 # 分割段数step…

电脑启动不了怎么办?教你3招轻松解决!

在使用电脑的过程中,有时我们会遇到一些棘手的问题,其中最常见的就是电脑无法正常启动。这可能是由于硬件故障、软件冲突、系统崩溃等多种原因造成的。本文将详细介绍三种解决电脑启动不了的方法,帮助大家快速恢复电脑的正常使用。 方法1&…

MySQL连接

MySQL工具包 MySQL实现简单链接 一 引入工具包 JBDCUtils,无需更改,直接使用即可。 import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties;public class JDBCUtil {private static String URL;p…

手机远程控制另一台手机的全新使用教程(安卓版)

看完这篇文章,你可以了解到安卓手机如何远程控制安卓手机,以及苹果手机如何远程控制安卓手机。 如果想要用安卓手机远程管控苹果手机,或者苹果手机远程管控另一台苹果手机,请点击查看视频《手机远程管控另一台手机的全新使用教程…

利用百数应用优化制造细节,提升生产效率的技术实践

制造管理是确保企业高效、高质生产的核心环节,对于提高企业的运营效率、质量控制、成本控制、交货期保障、资源优化、创新能力以及风险管理等方面都具有重要意义,它能帮助企业在激烈的市场竞争中保持领先地位,同时实现资源的有效利用和风险的…

ABC234G Divide a Sequence 题解

题目来源 ABC234G 洛谷 Description 给定长度为 n n n 的序列 { a n } \{a_n\} {an​}。定义一种将 { a n } \{a_n\} {an​} 划分为若干段的方案的价值为每段的最大值减去最小值的差的乘积。求所有划分方案的价值的总和并对 998244353 998244353 998244353 取模。 1 ≤…

【PA交易】BackTrader: 讨论下分析器和评测指标

前言 BackTrader的分析器主要使用的是analyzers模块,我们可以从Analyzers - Backtrader找到一个非常简单的示例。这个示例中使用方式很简单,其他分析器也可以通过如此简单封装方式进行装载。如果仅是复制粘贴官方教程,完全是制造互联网垃圾…

qt开发-14_QListwidget 仿qq好友列表制作

QListWidget 继承 QListView。QListWidget 类提供了一个基于项的列表小部件。QListWidg et 是一个便捷的类,它提供了一个类似于 QListView(下一小节将讲到)提供的列表视图,但 是提供了一个用于添加和删除项目的基于项目的经典接口…

Pycharm执行打印console中print数据打印显示不全的解决办法?

#设置显示窗口数据显示完整 pd.set_option(display.max_rows, 500) pd.set_option(display.max_columns, 100) pd.set_option(display.width, 1000)

API-事件类型

学习目标&#xff1a; 掌握事件类型 学习内容&#xff1a; 事件类型鼠标事件焦点事件键盘事件文本事件focus选择器案例 事件类型&#xff1a; 鼠标事件&#xff1a; <title>事件类型-鼠标事件</title><style>div {width: 200px;height: 200px;background-c…

three.js - 置换贴图(displacementMap)、凹凸贴图(bumpMap)、法线贴图(normalMap)

这就是个灰度图 瞅瞅下面的贴图们&#xff0c;加深一下印象吧 说一下灰度图 在灰度图中&#xff0c; 黑色&#xff1a;代表最低的深度&#xff08;或最低的置换&#xff09; 白色&#xff1a;代表最高的深度&#xff08;或最高的置换&#xff09; 中间的灰度值&#xff0c;则…

链在一起联机存档同步教程 教你如何学会链在一起联机同存档

双人成行&#xff0c;四人更行了&#xff0c;说的就是新游戏链在一起&#xff0c;多人合作冒险游戏&#xff0c;一个是和兄弟四人一起玩的游戏&#xff0c;游戏中四个人被铁链绑在一起&#xff0c;大型节目之好兄弟到底谁是脑瘫正在上演&#xff0c;甚至有些玩家感觉链子牵的不…

SAP消息号 VF028

客户在VF11冲销发票之后&#xff0c;没有生成正式的财务凭证&#xff0c;然后VF02的时候出现如下报错&#xff1a; “自动清算出具发票凭证XXXXXXX&#xff08;被冲销凭证号&#xff09;且不可能取消凭证XXXXXXX&#xff08;冲销凭证号&#xff09; 原因&#xff1a;销售订单2…

归并排序和计数排序

目录 1.归并排序1.1递归1.1基本思想1.2算法描述1.3画图解释1.4代码实现 1.2非递归 2.计数排序2.1基本思想2.2算法描述3.画图解释 1.归并排序 1.1递归 1.1基本思想 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法&#xff08;Divide and Conquer&#xf…