diff --git a/content/github-models/quickstart.md b/content/github-models/quickstart.md
index 4dcb7e9a5064..e277d6b3a060 100644
--- a/content/github-models/quickstart.md
+++ b/content/github-models/quickstart.md
@@ -76,41 +76,34 @@ To call models programmatically, you’ll need:
1. Paste the following workflow into the file you just created.
- ```yaml
- name: GitHub Models Demo
+ ```yaml copy
+ name: Use GitHub Models
on: [push]
permissions:
- contents: read
models: read
jobs:
- summarize-repo:
+ call-model:
runs-on: ubuntu-latest
steps:
- - name: Checkout code
- uses: {% data reusables.actions.action-checkout %}
-
- - name: Summarize the repository README
+ - name: Call AI model
+ env:
+ GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
run: |
- SUMMARY_INPUT=$(head -c 4000 README.md)
- PROMPT="Summarize this repository in one sentence. Here is the README:\n$SUMMARY_INPUT"
- PAYLOAD=$(jq -n --arg prompt "$PROMPT" '{
- model: "openai/gpt-4.1",
- messages: [
- {role: "user", content: $prompt}
- ]
- }')
- RESPONSE=$(curl -sL \
- -X POST \
- -H "Accept: application/vnd.github+json" \
- -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
- -H "X-GitHub-Api-Version: 2022-11-28" \
- -H "Content-Type: application/json" \
- https://models.github.ai/inference/chat/completions \
- -d "$PAYLOAD")
- echo "$RESPONSE" | jq -r '.choices[0].message.content'
+ curl "https://models.github.ai/inference/chat/completions" \
+ -H "Content-Type: application/json" \
+ -H "Authorization: Bearer $GITHUB_TOKEN" \
+ -d '{
+ "messages": [
+ {
+ "role": "user",
+ "content": "Explain the concept of recursion."
+ }
+ ],
+ "model": "openai/gpt-4o"
+ }'
```
> [!NOTE]
@@ -128,13 +121,21 @@ This example shows how to send a prompt to a model and use the response in your
1. Paste the following example prompt into the file you just created.
- ```yaml
- name: One-line summary
- description: Ask the model to summarize a paragraph in one sentence.
+ ```yaml copy
+ name: Text Summarizer
+ description: Summarizes input text concisely
+ model: gpt-4o-mini
+ modelParameters:
+ temperature: 0.5
messages:
+ - role: system
+ content: You are a text summarizer. Your only job is to summarize text given to you.
- role: user
- content: 'Summarize the following text in one sentence: {{input}}'
- model: openai/gpt-4o
+ content: |
+ Summarize the given text, beginning with "Summary -":
+
+ {% raw %}{{input}}{% endraw %}
+
```
1. Commit and push the file to your repository.
@@ -156,28 +157,37 @@ Evaluations help you measure how different models respond to the same inputs so
1. Update the file to match the following example.
- ```yaml
- name: One-line summary
- description: Ask the model to summarize a paragraph in one sentence.
- messages:
- - role: user
- content: 'Summarize the following text in one sentence: {{input}}'
- model: openai/gpt-4o
- testData:
- - input: >-
- The museum opened a new dinosaur exhibit this weekend. Families from all
- over the city came to see the life-sized fossils and interactive displays.
- expected: >-
- The museum's new dinosaur exhibit attracted many families with its fossils
- and interactive displays.
- - input: >-
- Lucy baked cookies for the school fundraiser. She spent the entire evening
- in the kitchen to make sure there were enough for everyone.
- expected: Lucy baked cookies all evening to support the school fundraiser.
- evaluators:
- - name: Similarity
- uses: github/similarity
- ```
+ ```yaml copy
+ name: Text Summarizer
+ description: Summarizes input text concisely
+ model: gpt-4o-mini
+ modelParameters:
+ temperature: 0.5
+ messages:
+ - role: system
+ content: You are a text summarizer. Your only job is to summarize text given to you.
+ - role: user
+ content: |
+ Summarize the given text, beginning with "Summary -":
+
+ {% raw %}{{input}}{% endraw %}
+
+ testData:
+ - input: |
+ The quick brown fox jumped over the lazy dog.
+ The dog was too tired to react.
+ expected: Summary - A fox jumped over a lazy, unresponsive dog.
+ - input: |
+ The museum opened a new dinosaur exhibit this weekend. Families from all
+ over the city came to see the life-sized fossils and interactive displays.
+ expected: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays.
+ evaluators:
+ - name: Output should start with 'Summary -'
+ string:
+ startsWith: 'Summary -'
+ - name: Similarity
+ uses: github/similarity
+ ```
1. Commit and push the file to your repository.