开发者福音:Github Models免费大模型使用教程

createh52周前 (05-14)技术教程5

Github在2024年下半年的时候,推出了一系列的免费大模型服务,即Github Models[1]。涵盖了如OpenAI GPT-4oDeepSeek-R1DeepSeek-V3等一系列流行的大模型。如果开发者想要开发生成式 AI 应用程序,就可以使用 GitHub Models 免费查找和试验 AI 模型。 准备好将应用程序引入生产环境后,可以无缝切换到Azure付费账户。从这一点来说,其实Github Models对于微软来说,其实是为了给Azure AI引流。

除了上面提到的三个模型外,Github Models还支持很多的其他大模型。完整的列表可以从Github Models模型广场[2]获取。

本次课程我将会介绍如何使用Github Models提供的Playground、本地通过API调用Github Models以及在Cherry Studio中使用Github Models

在Github网页中使用Github Models

要使用Github Models,你需要有一个Github的账号。如果你没有账号,你可以前往这里进行注册:Github账号注册[3]。注册好账号之后,使用账号登录Github,然后前往Github模型广场[4]

按照下面的步骤操作:

  • 点击左上角的Model: Select a Model按钮
  • 在下拉选择列表中选择一个模型,比如DeepSeek-R1

在选择好模型之后,页面会自动跳转到试验场(Playground)[5]

这里我们有两种方式来使用Github Models。分别是通过试验场(Playground)以及API调用两种方式。下面我们来分别介绍。

在试验场中使用Github Models

在Playgound页面,我们有三种方式来和模型交互。分别是:

  • Chat:直接和模型对话
  • Code:通过代码调用模型
  • Raw:模型会以json的格式返回响应

Chat模式,直接在对话框中输入你的问题,然后模型开始回复:

Code模式下,我们可以使用不同的编程语言来调用模型。这里支持的语言有PythonJavaScriptC#Java以及REST(curl)。这些编程语言是通过调用Azure AI inflerence SDK这个库来实现和模型的交互的。使用起来也是十分的方便。

Raw模式下,在输入提问之后。页面会以json格式展示请求及回复的数据。方便开发者进一步了解具体交互的数据格式。

通过以上的步骤,我们可以看到,通过试验场来使用这个Github Models是十分方便的。这对于开发者,尤其是在开发阶段来说,提供了极大的便利,能够大大提高我们的开发、调试的效率。

通过API调用Github Models

我们也可以在本地来通过代码调用Github Models的API。为了使用这些API,我们首先需要创建一个Github个人令牌。我们可以通过下面的步骤来创建令牌:

  • 登录到Github[6]主页,点击右上角你自己的头像
  • 选择Settings
  • 点击左侧导航栏最下方的Developer Settings
  • 选择Personal access tokens >> Fine-grained tokens
  • 点击Generate new token按钮
  • 给令牌起一个名字,如github-models-call
  • 点击Account permissions后面的扩展图标,将配置展开
  • Models后面的Access设置为Read-only
  • 点击Generate token按钮生成令牌
  • 生成的令牌只会显示依次,务必点击旁边的拷贝按钮保存下来

这样,令牌就生成好啦。更为详细的创建过程,你可以参考管理Github个人访问令牌[7]。 接着我们先使用下面的脚本,在本地创建一个Python的虚拟环境,然后在虚拟环境中安装所需的库,并将上面创建的令牌保存在环境变量GITHUB_TOKEN中:

  ~ python3.11 -m venv .azure-ai
  ~ source .azure-ai/bin/activate
(.azure-ai)   ~ pip install azure-ai-inference
(.azure-ai)   ~ export GITHUB_TOKEN=your-token

将下面的代码保存在一个文件中,如test.py

"""Run this model in Python

> pip install azure-ai-inference
"""
import os
from azure.ai.inference import ChatCompletionsClient
from azure.ai.inference.models import SystemMessage
from azure.ai.inference.models import UserMessage
from azure.core.credentials import AzureKeyCredential

# To authenticate with the model you will need to generate a personal access token (PAT) in your GitHub settings. 
# Create your PAT token by following instructions here: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
client = ChatCompletionsClient(
    endpoint="https://models.inference.ai.azure.com",
    credential=AzureKeyCredential(os.environ["GITHUB_TOKEN"]),
)

response = client.complete(
    messages=[
        UserMessage("Can you explain the basics of machine learning?"),
    ],
    model="DeepSeek-R1",
    max_tokens=2048,
)

print(response.choices[0].message.content)

接着用Python运行这个脚本:

(.azure-ai)   ~ python3 test.py

顺利的话,你就能看到Github Models返回的输出啦。是不是很简单。

在Cherry Studio中使用Github Models

Cherry Studio中也提供了对Github Models的支持,配置也非常的简单。按照下面的步骤:

  • 点击导航栏底部的设置图标
  • 选择模型服务
  • 在模型服务商列表中选择Github Models
  • 点击右侧的启用切换开关
  • 在API密钥那里输入你上面创建的Github的令牌
  • 点击检查按钮
  • 在弹出框里面选择OpenAI GPT-4o

顺利的话,你就会看到连接成功的提示啦。

同样你可以点击页面中绿色的管理按钮,来添加Github Models里面的其他模型,但是列表里面没有DeepSeek的模型,看起来还不完整。

现在你可以将Cherry Studio中的默认助手切换成使用Github Models提供的OpenAI GPT-4o模型:

  • 点击左侧导航栏上方的助手图标
  • 点击默认助手
  • 点击上方的模型名称
  • 在弹出框里选择OpenAI GPT-4o

现在你就可以在Cherry Studio中使用Github Models提供的大模型啦。

Github Models的速率限制

最后,由于是一个免费服务,Github Models有一些速率限制。不同的模型,限制是不一样的。对于我们开发测试来说,这也足够啦。具体限制可以参考Github Models速率限制[8]

写在最后

Github Models给开发者提供了一系列免费的模型,帮助开发者来熟悉、开发、测试自己的生产式AI应用,同时方便开发者在生产环境中很方便的切换到Azure AI平台。这篇文章中,我们介绍了如何使用Github Models提供的Playground、本地通过API调用Github Models以及在Cherry Studio中使用Github Models。希望能够对您有所帮助。

好了,本次教程就到这里了。感谢各位的阅读。我会持续分享更多的技术教程,希望大家能够点赞关注我。再次感谢!

参考资料

[1] Github Models: https://docs.github.com/zh/github-models

[2] Github Models模型广场:
https://github.com/marketplace?query=sort%3Apopularity&type=models

[3] Github账号注册: https://github.com/join

[4] Github模型广场:
https://github.com/marketplace/models

[5] 试验场(Playground):
https://github.com/marketplace/models/azureml-deepseek/DeepSeek-R1/playground

[6] Github: https://github.com/

[7] 管理Github个人访问令牌:
https://docs.github.com/zh/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens

[8] Github Models速率限制:
https://docs.github.com/zh/github-models/prototyping-with-ai-models#rate-limits

相关文章

Java 8 新特性指南

本教程可以在实验楼(shiyanlou.com)中在线练习。一、实验简介Java 8是近年来最后起来的一个Java编程语言发行版本。Oracle 在 2014 年 3 月发布了它。该版本为Java带来...

第六篇:使用IntelliJ IDEA编写你的第一个Java程序

版权声明:本文为CSDN博主「李阿昀」的原创文章原文链接:https://blog.csdn.net/yerenyuan_pku/article/details/115173948现在我们就要使用In...

Java入门第8天使用Eclipse开发第两个Java小程序

这节教大家如何通过eclipse开发两个Java小程序。在 Eclipse 中编写程序,我们必须先创建项目。Eclipse 中有很多项目,其中 Java 项目用于管理和编写 Java 程序。1、在所示...

IntelliJ IDEA详细配置图解,挖掘更多的功能

目录Appearance & Behavior(外观与行为)Appearance(外观)设置IDEA主题与字体Accessibility(无障碍)UI Options(界面设置)Antialiasin...

「软帝学院」java常用词汇分享第二弹

Java中的常用词汇想要更多基础资料的可以评论联系我,一起学习进步public / 'pblik / 公共的void / vid / 空的,没有的main / mein / 主要的class...

Java开发高手必备:在电脑上轻松切换多个JDK版本

作为Java开发者,你是否经常会遇到需要在不同的JDK版本之间进行切换的情况?可能是因为项目需要在不同版本的Java环境下运行,或者是因为你需要使用某个版本的JDK来测试你的代码。无论出于什么原因,多...