Diskussion

Steuerung des LLM-Ausgabeformats und Parsing von Ergebnissen

Von Wikiprompt, der freien Prompt-Enzyklopädie

宝玉
Beigetragen von宝玉XQuelle

3. Nov. 2023

Steuerung des LLM-Ausgabeformats und Parsing von Ergebnissen Ein Leitfaden zur Steuerung des LLM-Ausgabeformats mithilfe von Function Calling und Few-Shot-Beispielen, mit praktischen Code-Ausschnitten für stabiles JSON-Parsing.

Prompt-InhaltSpeichern

🌐
方法1:使用函数调用 函数调用是OpenAI为GPT API提供的一项功能,它让LLM在输出最终结果之前决定是否调用特定函数。例如,如果用户询问今天的天气,LLM会先输出一个中间结果,告诉你调用一个参数为'今天'的天气相关函数。然后你可以调用天气函数,获取结果,并告诉LLM向用户输出最终结果。 这个功能最初并不是为了控制输出格式而设计的,但它在告诉我们调用哪个函数时,会给出一个标准的JSON格式,即使使用GPT-3.5,也能提供相当稳定的JSON输出。我们可以利用这一点来控制LLM的输出格式。 我们可以将希望ChatGPT输出的内容定义为一个函数,但实际上不需要执行该函数,只需从LLM获取输出结果。 例如,如果我希望ChatGPT输出一个对象: { "name": "John", "age": 30, "city": "New York" } 在调用GPT时,定义一个参数与所需JSON格式匹配的函数: { "name": "getUserInfo", "description": "获取用户信息", "parameters": { "type": "object", "properties": { "name": { "type": "string", "description": "用户的全名" }, "age": { "type": "number", "description": "用户的年龄" }, "city": { "type": "string", "description": "用户所在城市" } }, "required": ["name", "age", "city"] } } 然后在调用GPT时,你可以获得稳定的JSON输出。限制是API必须支持函数调用。 方法2:使用带输出格式示例的few-shot 如果API不支持函数调用,我们可以使用few-shot,通过提供一个或多个输出格式示例供LLM遵循。 例如,在翻译时,我可能会让LLM翻译两次 - 一次直译,一次意译 - 然后使用意译结果。在这种情况下,我不需要JSON格式;我可以简单地使用特殊字符分隔两个结果,并通过这些字符进行拆分来获取意译结果。 对于JSON格式,也可以使用few-shot,但在GPT-3.5下,稳定性不佳,有时格式无法遵循。 确保你的响应可以被Python json解析,请使用以下格式作为示例: { "name": "John", "age": 30, "city": "New York" }

Melde dich an, um den vollständigen Prompt zu sehen

Weiter mit:

Mit der Anmeldung akzeptierst du unsere Nutzungsbedingungen und Datenschutz

Verwendung

Dieser Prompt ist für die Verwendung mit coding gedacht. Kopiere den Inhalt oben und füge ihn in dein bevorzugtes KI-Tool ein.

Für beste Ergebnisse passe die Platzhalter (eckige Klammern oder Großbuchstaben) an deine Anforderungen an.

Referenzen

Kategorien:coding| twitter| llm| output-format

Diskussion