提示操弄是應用程式開發人員的主要影響力 生成式 AI 模型的輸出內容舉例來說,使用 LLM 時 提示文字的語調、格式、長度和其他特徵 根據模型產生的回應
Genkit 主要針對作業環境設計,提示就是程式碼。您編寫 維護來源檔案中的提示,並使用相同版本追蹤這些事件的變更 用於程式碼的控管系統,而且會與程式碼一起部署 會呼叫生成式 AI 模型
大部分開發人員都會找到隨附的 Dotprompt 程式庫 可滿足他們在 Genkit 提示的使用需求。不過, 直接使用提示即可提供支援。
定義提示
Genkit 的 generate()
輔助函式接受字串提示,你可以
,以這種方式直接呼叫模型
import { generate } from '@genkit-ai/ai';
generate({
model: 'googleai/gemini-1.5-flash-latest',
prompt: 'You are a helpful AI assistant named Walt.',
});
大多數情況下,你必須在提示中提供客戶輸入的部分內容。 您可以定義函式,以下列方式呈現。
function helloPrompt(name: string) {
return `You are a helpful AI assistant named Walt. Say hello to ${name}.`;
}
generate({
model: 'googleai/gemini-1.5-flash-latest',
prompt: helloPrompt('Fred'),
});
在程式碼中定義提示的一個缺點是,測試需要執行 做為流程的一部分為了加快疊代速度,Genkit 提供專用設備 ,在開發人員 UI 中定義提示並執行。
使用 definePrompt
函式在 Genkit 註冊提示。
import { definePrompt } from '@genkit-ai/ai';
import z from 'zod';
export const helloPrompt = definePrompt(
{
name: 'helloPrompt',
inputSchema: z.object({ name: z.string() }),
},
async (input) => {
const promptText = `You are a helpful AI assistant named Walt.
Say hello to ${input.name}.`;
return {
messages: [{ role: 'user', content: [{ text: promptText }] }],
config: { temperature: 0.3 }
});
}
);
提示動作會定義會傳回 GenerateRequest
物件的函式
可與任何模型搭配使用您也可以選擇定義輸入結構定義
這點與流程的輸入結構定義相似。
提示也能定義任何常見的模型設定選項,例如
隨機性參數或輸出分詞的數量
您可以在程式碼中使用 renderPrompt()
輔助函式來使用此提示。
請提供提示預期的輸入變數,以及要呼叫的模型。
import { generate, render } from '@genkit-ai/ai';
generate(
renderPrompt({
prompt: helloPrompt,
input: { name: 'Fred' },
model: 'googleai/gemini-1.5-flash-latest',
})
);
在 Genkit 開發人員 UI 中,您可以執行以這種方式定義的任何提示。 這包括實驗範圍外的個別提示 可在各種流程中使用
圓點
Genkit 包含 Dotprompt 程式庫 提示功能
- 正在從
.prompt
個來源檔案載入提示 - 處理常式型範本
- 支援多輪提示範本和多媒體內容
- 精簡輸入和輸出結構定義定義
- 用
generate()
常用