Finomhangolás és függvényhívás
A csevegést befejező API támogatási függvény hívását használó modellek. Sajnos a csevegés befejező hívásaiban definiált függvények nem mindig a várt módon működnek. A modell finomhangolása függvényhívási példákkal javíthatja a modell kimenetét a következő funkciók engedélyezésével:
- Hasonló formátumú válaszokat kaphat akkor is, ha a teljes függvénydefiníció nincs jelen. (Lehetővé teszi, hogy pénzt takarítson meg a parancssori jogkivonatokon.)
- Pontosabb és konzisztensebb kimenetek.
Fontos
Az functions
API verziójának kiadásával 2023-12-01-preview
a paraméterek és function_call
a paraméterek elavultak. A finomhangolási API-nak azonban jelenleg az örökölt paramétereket kell használnia.
Betanítási fájl létrehozása
Példákat hívó függvények betanítási fájljának létrehozásakor az alábbihoz hasonló függvénydefiníciót kell elvégeznie:
{
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"},
{"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"}
],
"functions": [{
"name": "get_current_weather",
"description": "Get the current weather",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "The city and country, eg. San Francisco, USA"},
"format": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location", "format"]
}
}]
}
Az alábbi módon fejezze ki az információkat egyetlen sorként a .jsonl
betanítási fájlban:
{"messages": [{"role": "user", "content": "What is the weather in San Francisco?"}, {"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celsius\"}"}}], "functions": [{"name": "get_current_weather", "description": "Get the current weather", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city and country, eg. San Francisco, USA"}, "format": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location", "format"]}}]}
Az összes finomhangoló betanításhoz hasonlóan a példafájlhoz is legalább 10 példa szükséges.
Költségoptimalizálás
Az OpenAI azt javasolja, hogy ha kevesebb parancssori jogkivonat használatára próbál optimalizálni, a modell finomhangolása után a teljes függvénydefiníciókon kísérletezzen:
- Hiányzik a függvény és a paraméter leírása: távolítsa el a leírásmezőt a függvényből és a paraméterekből.
- Paraméterek kihagyása: Távolítsa el a teljes tulajdonságmezőt a paraméterobjektumból.
- A függvény teljes kihagyása: távolítsa el a teljes függvényobjektumot a függvénytömbből.
Minőség optimalizálása
Másik lehetőségként, ha javítani szeretné a függvényhívás kimenetének minőségét, javasoljuk, hogy a betanítási adatkészletben és az azt követő csevegés-befejezési hívásokban található függvénydefiníciók azonosak maradjanak.
Modellválaszok testreszabása függvénykimenetekre
A függvényhívási példákon alapuló finomhangolás a modell függvénykimenetekre adott válaszának javítására is használható. Ennek érdekében példákat is használhat függvényválasz-üzenetekből és asszisztensi válaszüzenetekből, amelyekben a függvényválaszt az asszisztens értelmezi és kontextusba helyezi.
{
"messages": [
{"role": "user", "content": "What is the weather in San Francisco?"},
{"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celcius\"}"}}
{"role": "function", "name": "get_current_weather", "content": "21.0"},
{"role": "assistant", "content": "It is 21 degrees celsius in San Francisco, CA"}
],
"functions": [...] // same as before
}
Az előző példához hasonlóan ez a példa is mesterségesen ki van bontva az olvashatóság érdekében. A betanítási fájl tényleges bejegyzése .jsonl
egyetlen sorból áll:
{"messages": [{"role": "user", "content": "What is the weather in San Francisco?"}, {"role": "assistant", "function_call": {"name": "get_current_weather", "arguments": "{\"location\": \"San Francisco, USA\", \"format\": \"celcius\"}"}}, {"role": "function", "name": "get_current_weather", "content": "21.0"}, {"role": "assistant", "content": "It is 21 degrees celsius in San Francisco, CA"}], "functions": []}
Következő lépések
- Az Azure OpenAI finomhangolási oktatóanyagában megismerheti a finomhangolási képességeket.
- A modell regionális rendelkezésre állásának finomhangolásának áttekintése