开发者福音:Github Models免费大模型使用教程
Github在2024年下半年的时候,推出了一系列的免费大模型服务,即Github Models[1]。涵盖了如OpenAI GPT-4o、DeepSeek-R1、DeepSeek-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模式下,我们可以使用不同的编程语言来调用模型。这里支持的语言有Python、JavaScript、C#、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