Damit
Generative-KI-Controller das Format der Eingaben und Ausgaben Ihres anwenderdefinierten LLM versteht, müssen Sie Umwandlerskripts schreiben. Wenn Sie einen Transformatordatensatz erstellen, werden Code und Kommentare bereitgestellt, die Sie bei der Bearbeitung als Leitfaden verwenden können. Diese Skripts hängen von den erwarteten Anforderungs- und Antwortobjekten ab, die von Ihrem Modell interpretiert werden.
Die Anforderungsstruktur Azure OpenAI sieht beispielsweise wie das folgende Skript aus:
{"messages": [{"role":"user", "content":"Summarize the following text: <<content>>"}], "max_tokens": 800, "temperature": 0.7}
Das Anforderungs-Umwandlerskript für diese Anforderungsstruktur ist das folgende Skript:
(function(inputs) {
/* write code here to construct the request body and any custom headers needed using the inputs object.
inputs structure: {
prompt_data: object,
request_data: object
} */
var requestData = inputs.request_data;
var promptData = inputs.prompt_data;
var prompt = promptData.prompt;
var model = promptData.model;
// construct body using the inputs
var body = {
messages: [{
"role": "user",
"content": prompt
}],
max_tokens: parseInt(promptData.max_tokens),
temperature: parseInt(promptData.temperature)
};
//construct headers using the inputs
var headers = {};
return {
body: body,
headers: headers
};
})(inputs);
Die Antwortstruktur von
Azure OpenAI sieht wie folgt aus:
{
"choices": [{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "<<response>>",
"role": "assistant"
}
}],
"created": 1714994995,
"id": "chatcmpl-9LqpXeLVXDAi6kciPfLeIDjmALeea",
"model": "gpt-35-turbo-16k",
"object": "chat.completion",
"usage": {
"completion_tokens": 47,
"prompt_tokens": 70,
"total_tokens": 117
}
}
Aufgrund dieser Antwortstruktur sieht das Antwort-Umwandlerskript wie folgt aus:
(function(inputs) {
/* write code here to transform the llm response into an array of text responses, using the inputs object
inputs structure: {
prompt_data: object,
request_data: object,
response_body: string,
response_headers: string
} */
var requestData = inputs.request_data;
var promptData = inputs.prompt_data;
var responseBody = JSON.parse(inputs.response_body);
gs.info("response : " + inputs.response_body);
var responseTexts = [];
// write code here to populate the responseTexts array.
responseTexts.push(responseBody.choices[0].message.content);
return responseTexts;
})(inputs);