为工程师构建生成式 AI 应用程序

news2024/11/24 16:53:45

作为全栈工程师,我们经常需要将后端和前端代码与 AI 模型集成。然而,访问这些模型一直是一项重大挑战。主要障碍之一是缺乏对开放和封闭模型的轻松访问。在 GitHub,我们正在打破访问障碍并推出GitHub Models。让您(开发人员)可以访问 GPT-4o、Phi 3、Mistral Large 2 或 Llama 3.1 等各种 AI 模型。虽然 GitHub Models 目前处于私人测试阶段,但您可以加入候补名单。

入门非常简单,因为 GitHub 为您提供了内置的 Playground,可让您在 GitHub UI 中免费测试不同的提示和模型参数。一旦您在 Playground 中取得成功,GitHub 就会创建一条无缝路径,让您可以将模型带到您最喜欢的开发环境:GitHub Codespaces 或 VS Code。

GitHub Models 已准备好投入生产,因为它利用了具有内置负责任 AI、企业级安全性和数据隐私的 Azure AI。部分模型可在 25 个 Azure 区域提供全球可用性。详细了解GitHub Models 的负责任使用。

虽然 GitHub Models 提供了一种在 GitHub UI 中直接试验 AI 模型的无缝方式,但 .NET 开发人员可以利用强大的Azure AI 推理 SDK将这些模型集成到他们的应用程序中。随着最近增加的 .NET 支持,Azure AI 推理 SDK 提供了一条整合 AI 的强大途径,确保 .NET 开发人员不会随着这项技术的发展而落后。让我们探索如何在 Azure AI 推理 SDK 的额外支持下立即开始试验 GitHub Models。

开始使用 GitHub 模型

要开始使用 GitHub Models,只需很短的时间即可开始。实际上,代码就是游戏,这也是我们作为开发人员最好的学习方式。让我们从下面开始,使用 C# 语义内核结合提示连接到现有 API 来执行操作。

要开始将 AI 与 .NET 结合使用,请参考面向.NET 开发人员的 AI 文档

  1. 要查找可用的 AI 模型,请转到GitHub Marketplace。在侧栏中选择“模型”。您可以通过单击模型名称来阅读有关模型的详细信息。
  2. 通过打开一个免费的 Playground 开始实验,您可以在其中调整模型参数并提交提示以查看模型的响应情况。要打开 Playground,请从该模型的屏幕上选择 Playground 按钮
  3. 要调整模型的参数,请选择侧栏中的参数。选择适合您要求的参数后,在底部的提示栏中输入您想要创建的内容:

  4. 为了查看与您选择的参数相对应的代码,请从“聊天”选项卡切换到“代码”选项卡。您还可以选择要使用的特定编程语言或选择要使用的特定 SDK。
  5. 一旦您熟悉了实验,就可以将您的模型引入开发环境。选择右上角的“开始”按钮。您可以快速选择“运行 Codespace”,并在几秒钟内启动并运行。要在 VS Code 中本地运行您的代码,请按照概述的步骤创建个人访问令牌。

将 Azure AI 推理 SDK 与 .NET 结合使用

下面是一个 C# 代码示例,演示如何使用 Azure AI 推理 SDK 与 Phi 3 模型进行交互。此脚本设置了一个简单的聊天界面,您可以在其中向 AI 模型发送消息并接收响应。该代码说明了如何初始化客户端、使用 GitHub 访问令牌设置身份验证以及处理与模型的聊天交互。

例如,以下 C# 代码演示了如何使用 Azure AI Inference SDK 与 Phi 3 模型交互:

复制
using Azure;
using Azure.AI.Inference;
using Azure.Identity;

var endpoint = "https://models.inference.ai.azure.com";
var token = Environment.GetEnvironmentVariable("GH-TOKEN"); // Your GitHub Access Token
var client = new ChatCompletionsClient(new Uri(endpoint), new AzureKeyCredential(token));
var chatHistory = new List<ChatRequestMessage>
{
    new ChatRequestSystemMessage("You are a helpful assistant that knows about AI")
};

while(true)
{
    Console.Write("You: ");
    var userMessage = Console.ReadLine();

    // Exit loop
    if (userMessage.StartsWith("/q"))
    {
        break;
    }

    chatHistory.Add(new ChatRequestUserMessage(userMessage));
    var options = new ChatCompletionsOptions(chatHistory)
    {
        Model = "Phi-3-medium-4k-instruct"
    };

    ChatCompletions? response = await client.CompleteAsync(options);
    ChatResponseMessage? assistantMessage = response.Choices.First().Message;

    chatHistory.Add(new ChatRequestAssistantMessage(assistantMessage));

    Console.WriteLine($"Assistant: {assistantMessage.Content}");
}

此代码片段提供了一种使用 C# 与 Phi 3 模型交互的简单方法。通过设置环境并按照以下步骤操作,您可以快速开始将 AI 模型集成到 .NET 应用程序中。

要运行此代码,您需要正确设置您的环境:

  1. 创建 GitHub 访问令牌:在 GitHub 中生成个人访问令牌并将其保存为名为“GH-TOKEN”的环境变量。此令牌允许您的应用程序通过 GitHub 进行安全身份验证。
  2. 安装必要的 SDK:确保已在项目中安装 Azure AI 推理 SDK。您可以通过 Visual Studio 中的 NuGet 包管理器添加 SDK 来执行此操作。
  3. 测试您的设置:在您的开发环境中运行脚本以验证一切是否正常运行。您可以调整脚本中的提示和模型参数以探索 AI 模型的不同功能。

您可以随意尝试不同的模型、提示和参数来试验代码。Azure AI 推理 SDK 可以灵活地自定义您的 AI 交互,使其成为 .NET 开发人员探索 AI 功能的强大工具。

现在您已经了解了如何使用 Azure AI 推理 SDK 将 AI 模型集成到您的 .NET 应用程序中,让我们探索如何进一步利用 GitHub 模型来扩展您的 AI 功能。

 

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

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

相关文章

微服务网关终极进化:设计模式驱动的性能与可用性优化(四)

时间&#xff1a;2024年09月12日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 希望大家帮个忙&#xff01;如果大家有工作机会&#xff0c;希望帮小蒋推荐一下&#xff0c;小蒋希望遇到一个认真做事的团队&#xff0c;一起努力…

信息安全数学基础(7)最小公倍数

前言 在信息安全数学基础中&#xff0c;最小公倍数&#xff08;Least Common Multiple, LCM&#xff09;是一个重要的概念&#xff0c;它经常与最大公约数&#xff08;Greatest Common Divisor, GCD&#xff09;一起出现&#xff0c;两者在数论、密码学、模运算等领域都有广泛的…

docker-compose 部署 flink

下载 flink 镜像 [rootlocalhost ~]# docker pull flink Using default tag: latest latest: Pulling from library/flink 762bedf4b1b7: Pull complete 95f9bd9906fa: Pull complete a880dee0d8e9: Pull complete 8c5deab9cbd6: Pull complete 56c142282fae: Pull comple…

黑龙江等保测评:保障数据安全的最佳选择,助力企业无忧发展!

在数字化时代&#xff0c;数据安全已成为企业发展的重中之重。尤其是在黑龙江&#xff0c;随着信息技术的快速发展&#xff0c;数据泄露和网络攻击的风险日益增加。为了帮助企业提升数据安全防护能力&#xff0c;黑龙江等保测评应运而生&#xff0c;成为保障数据安全的有力工具…

DRW的公式推导及代码解析

流程 分阶段指定β值 # 根据当前epoch计算使用的beta值idx epoch // 160 # 每160轮epoch切换一次加权系数betas [0, 0.9999] # 两个beta值beta betas[idx] # 根据idx选择beta值 计算有效样本的权重 对权重进行归一化 &#xff08;每类权重值 / 权重总和&#xff09;* …

第7篇:【系统分析师】计算机网络

考点汇总 考点详情 1网络模型和协议&#xff1a;OSI/RM七层模型&#xff0c;网络标准和协议&#xff0c;TCP/IP协议族&#xff0c;端口 七层&#xff1a;应用层&#xff0c;表示层&#xff0c;会话层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层&#xff0c;…

MBD_入门篇_23_SimulinkSinks

23.1 概述 Sink库里面是Simulink的显示或导出信号数据的模块&#xff0c;可以理解为信号的最后接收的模块&#xff0c;要么用于显示要么用于传递给更上层的系统要么终止。 Sink库里面的模块都只有输入&#xff0c;没有输出。 23.2 回顾常用模块 23.2.1 Display 用于实时仿真…

终端文件管理神器 !!!【送源码】

项目简介 nnn是一款专为命令行爱好者打造的高效终端文件管理器。它以其超小的体积、几乎零配置的要求以及卓越的速度表现而著称。nnn不仅适用于Linux、macOS、BSD等操作系统&#xff0c;还能够在诸如树莓派、Android上的Termux、WSL、Cygwin等多个平台运行。它遵循POSIX标准&am…

EPSG 标识符和Web墨卡托投影的关系

Web 墨卡托投影使用修改版的墨卡托投影,并已成为 Web 制图的默认地图投影。此投影的主要区别在于它在所有尺度上都使用球面公式。而墨卡托投影使用与赤道相切的垂直圆柱投影。以下是 Web 墨卡托投影成为 Web 和在线制图事实上的标准的一些原因。 哪些 Web 地图使用 Web Merca…

从 Data 到 Data + AI,必然之路还是盲目跟风?

从 Data 到 Data AI&#xff0c;必然之路还是盲目跟风&#xff1f; 前言从 Data 到 Data AI 前言 数据和人工智能的发展日新月异&#xff0c;深刻地改变着我们的生活和工作方式。数据平台作为数据处理和分析的核心基础设施&#xff0c;也在不断演进和发展。从数据库时代到大…

Linux系统使用Docker安装DockerUI并实现远程管理本地容器无需公网IP

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

如何用MATLAB搭建ResNet网络(复现论文)

文章目录 前言基础工具网络搭建ResNet网络代码完整代码总结参考文献 前言 之前暑假实习了3个月&#xff0c;后来又赶上开学一堆事&#xff0c;现在终于有时间记录一下学习经历。新的学期开始了&#xff0c;要继续努力。 因为最近要做一个无人机航迹分类的项目&#xff0c;所以…

一周完成计算机毕业设计论文:高效写作技巧与方法(纯干货/总结与提炼)

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Trie字符串统计(每周一类)

这节课我们学习Trie字符串。这个算法的主要应用就是字符串的快速存储和查找。我们通过下面这个题来讲 Tire字符串统计 &#xff0c;另外说个题外话&#xff0c;本人是从ACwing里学习的算法知识&#xff0c;希望大家支持一下y总(ACwing大佬)&#xff0c;如果觉得我这里的知识讲得…

Unity Apple Vision Pro 开发(十):通过图像识别锚定空间

XR 开发者社区链接&#xff1a; SpatialXR社区&#xff1a;完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 课程试看&#xff1a;https://www.bilibili.com/video/BV1mpH9eVErW 课程完整版&#xff0c;答疑仅社区成员可见&#xff0c;可以通过文章开头的链接加入…

另类动态规划

前言&#xff1a;一开始我根本想不到这个题目是一个动态规划的题目&#xff0c;而且我一开始的初始状态还写错了 我还忘记了写算法题的基本步骤&#xff0c;先看数据范围&#xff0c;再考虑能不能用动态规划写 题目地址 #include <bits/stdc.h> using namespace std; #de…

RTR_Chapter_4_上半部分

第四章 Transform 变换 变换&#xff08;transform&#xff09;是指以点、向量、颜色等实体作为输入&#xff0c;并以某种方式对其进行转换的一种操作。对于计算机图形学从业者而言&#xff0c;熟练掌握变换相关的知识是非常重要的。通过各种变换操作可以对物体、光源和相机进…

开源网安斩获CCIA中国网络安全创新创业大赛总决赛三等奖

近日&#xff0c;由中央网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办的2024年中国网络安全创新创业大赛总决赛及颁奖典礼在国家网络安全宣传周落下帷幕。开源网安“AI代码审核平台CodeSec V4.0” 凭借在AI方向的技术创新、技术突破及功能应用创…

数据库——MySQL概述

一、数据库 存储数据的仓库&#xff0c;数据是有组织的存储&#xff0c;简称database&#xff08;DB&#xff09; 二、数据库管理系统 操控和管理数据库的大型软件&#xff08;DBMS&#xff09; 三、SQL 操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库…

【2024】前端学习笔记1-HTML主体框架-文本标签

学习笔记 HTML主体框架标题标签:h段落标签:p加粗标签:strong、b斜体文本标签:em、i下划线标签:u上标、下标:sup、sub内联容器:span换行标签:brHTML主体框架 HTML主体框架 <!DOCTYPE html> <html lang="en"><head><meta charset="…