随着新的 AI 模型定期发布,为应用程序选择合适的模型可能会很具挑战性。 ********GitHub Models 通过使你能够将不同模型和提示变体与示例输入进行对比,同时使用内置评估程序来验证模型输出,从而帮助你优化 AI 支持的应用程序。
我们将通过示例方案构建 AI 支持的助手,帮助用户了解如何从命令行使用 Git。 我们将逐步比较不同的模型,并了解如何优化提示变体以提高输出质量。
注意
- GitHub Models 为 公共预览版,可能随时更改。
- 使用存在速率限制。 请参阅“使用 AI 模型进行原型制作”。
测试提示
**** 通过“GitHub Models Comparisons”视图,可调整用于测试模型输出的模型参数和提示。
1.创建示例存储库
******** 可以直接从任何存储库中的“Models”选项卡访问“Comparisons”视图,但在本指南中,我们将创建一个作为测试环境的新存储库。
- 导航到新仓库页面。
- 在“Owner”下,确保已选择用户帐户。
- 在“Repository name”字段中,键入
models-playground
。 - 在说明字段下,选择“Private”,设置存储库可见性****。
- 单击“创建存储库”。
2.创建新提示
- **** 在新存储库的主页上,单击“Models”选项卡。
- **** 在“Prompts”部分中,单击“ New Prompt”。
- 从左上角的下拉菜单中选择一个模型。
3.编写系统提示
系统提示是一组指令,用于定义 AI 模型在与用户交互之前的角色、行为和限制。 在此示例中,我们将使用 AI 支持的应用程序,该应用程序介绍如何从命令行使用 Git。
**** 在“System prompt”字段中,复制并粘贴以下文本:
You are an expert at using the Git version control system. I will ask questions looking for guidance on the best way to perform tasks using Git, and you will give clear, step-by-step answers that explain each step you are recommending.
You are an expert at using the Git version control system. I will ask questions looking for guidance on the best way to perform tasks using Git, and you will give clear, step-by-step answers that explain each step you are recommending.
注意
**** 如果“System”文本字段不可编辑,尝试在上面的模型下拉菜单中选择另一个模型。 并非所有模型都支持修改系统提示。
4.编写用户提示
用户提示是在与 AI 系统对话过程中向其提出的直接问题或发出的指令,AI 系统会对此作出响应。
**** 在“User prompt”字段中,复制并粘贴以下文本:
I want to learn how to use Git from the command line.
I want to learn how to use Git from the command line.
5.输入示例输入
****“User prompt”中的 {{input}}
变量充当示例输入的占位符。 **** 若要管理此占位符,可单击“Variables”按钮并输入以下文本:
When should I use rebase or merge?
When should I use rebase or merge?
6.运行示例提示
- 在右上角,单击****“ Play”。
- 对模型或提示进行更改,然后再次运行提示以查看获得的结果。
针对一个提示测试不同的模型
**** 现在,使用“Comparisons”视图确定哪个模型对于我们的应用程序而言性能最优。 通过此视图,可使用相同的输入测试不同模型,从而揭示出这些模型在准确性、创造性、语气、推理能力和可靠性等方面的差异。 这可帮助我们选择在质量、速度、成本和一致性方面最能满足我们需求的模型。
-
**** 在左上角,单击“Comparisons”。
-
******** 若要比较不同的模型,请单击“ Add prompt”,然后选择“ Copy original prompt”以复制现有系统和用户提示。 创建至少两个原始提示的副本来评估三个不同的模型。
-
在每个提示旁边,单击 。 **** 从“Model”下拉菜单中,为每个创建的提示选择一个不同的模型。
-
**** 单击“ Add inputs”,为示例输入创建新行。
-
单击“ Add inputs”。**** 然后,在“Input”字段中复制并粘贴以下文本:
Text How do I modify the most recent commit message in my current branch?
How do I modify the most recent commit message in my current branch?
-
**** 再次单击“ Add inputs”,然后粘贴以下输入:
Text How do I move a specific commit from one branch to a different branch?
How do I move a specific commit from one branch to a different branch?
-
**** 再次单击“ Add inputs”,并粘贴以下输入:
Text How do I find the author of a specific commit in a repository's history?
How do I find the author of a specific commit in a repository's history?
-
-
**** 在右上角单击“ Run”以运行提示。
-
************ 针对提示使用不同的模型,记录不同模型中“Latency”、“Input”和“Output”标记的用量。
使用特定模型测试提示变体
如果要使用特定 AI 模型构建应用程序,需要确保响应是可预测且可靠的。 测试提示变体有助于:
- **** 优化性能和质量:措辞中的细微变化也可能影响响应质量。 通过测试变体,可发现能获得最佳响应的措辞。
- **** 明晰指令:通过改变提示的措辞,可以确定模型最清楚理解的是哪个版本。
- **** 适配特定模型行为:可以根据特定模型理解语言的方式来调整输入。
- **** 验证输出格式:可能会需要列表、段落、代码块形式或特定语调。 测试提示变体可帮助强制应用特定的结构或样式。
现在,使用 GitHub Models 和特定模型针对用户输入测试提示变体。
1.添加提示变体
**** 对于此示例方案,为每列选择同一模型,但通过编辑现有提示的“User prompt”字段来提供不同的提示变体。 在每个提示旁边,单击 。
-
**** 单击“提示 2”中的 。 然后,在“User prompt”字段中复制并粘贴以下文本:
Text I want to learn how to use Git from the command line, but explain it to me like I am five years old.
I want to learn how to use Git from the command line, but explain it to me like I am five years old.
-
**** 单击“Prompt 3”中的 ,然后粘贴以下输入:
Text I want to learn how to use Git from the command line. Give me instructions in the form of a haiku.
I want to learn how to use Git from the command line. Give me instructions in the form of a haiku.
2.运行提示变体
- **** 在右上角单击“ Run”以运行提示。
- 尝试使用不同的提示变体,并比较模型提供的输出类型。
评估模型输出
我们测试了GitHub Models 中的不同模型和提示变体,下一步是解释和比较结果,以便针对 AI 支持的应用程序制定明智决策。
************ 在示例方案中运行模型时,每次运行后都会显示“Input”和“Output”标记的用量以及“Latency”。 标记的用量很重要,因为它直接影响成本、性能和模型限制。****
- 由于大多数模型都按标记收取输入和输出费用,使用的标记越多,成本越高。
- 每个模型还都存在最大标记数限制(称为上下文窗口),如果超过此限制,可能会导致错误或响应被截断。
- 较长的提示会减慢响应时间或降低明晰程度,而简洁的提示通常能生成更好、更高效的输出。
使用 GitHub Models 来测试标记使用量和延迟,有助于保持在限制范围内、控制成本,并提高 AI 支持的应用程序的整体效能。
使用评估程序来评估输出
根据所评估的提示数量和模型数量,手动进行模型输出的排序可能会不堪重负。 **** 为帮助评估每个模型输出的质量,可以使用评估程序对结果在明晰程度、准确性和相关性等关键维度上进行评分。 可以自定义评估标准,或使用内置的评估程序自动对输出进行评分,这样能更轻松地识别出性能最优的模型和提示变体。
**** 对于此示例方案,使用“字符串检查”评估程序来检查输出中是否存在某个字符串。
-
************ 在“Prompts”字段的右下角,单击“ Add evaluator”,然后选择“ String check”。
-
******** 在“Name”字段中,输入“Amend check”,然后为“Value”字段复制并粘贴以下输入:
Text git commit --amend
git commit --amend
-
**** 在右上角单击“ Run”以运行提示。
-
******** 提示输出现在会显示“Pass”或“Fail”标签,由此可知晓哪个模型包含所需的字符串。
若要详细了解预生成的评估程序,例如相似度、有据性和相关性,请参阅 评估 AI 模型。
后续步骤
现在,你已了解如何使用 GitHub Models 测试模型、优化提示和评估输出,现在已可开始为 AI 支持的应用程序生成提示。 创建提示后,可通过将 .prompt.yml
文件提交到存储库来进行存储、共享以及版本控制。 这可使提示始终处于版本控制之下,并实现轻松的提示协同处理和模型优化。 有关详细信息,请参阅“在 GitHub 存储库中存储提示”。
加入社区
若要提问和共享反馈,请参阅这篇 GitHub Models 讨论文章。
若要了解其他人如何使用 GitHub Models,请访问 GitHub Community 模型讨论。