OpenAI
ਇਸ ਪੰਨੇ ਦਾ ਮਸ਼ੀਨ ਦੁਆਰਾ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਸੀ। ਮੂਲ ਅੰਗਰੇਜ਼ੀ ਲੇਖ ਦੇਖੋ

OpenAI API ਵਿੱਚ ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ

ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਕੀ ਹੈ ਅਤੇ ਇਹ OpenAI API ਵਿੱਚ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀ ਹੈ?

ਅੱਪਡੇਟ ਕੀਤਾ: 18 days ago

11 ਮਾਰਚ, 2025 ਤੋਂ, ਅਸੀਂ ਆਪਣੇ ਨਵੇਂ ਏਜੰਟਸ ਪਲੇਟਫਾਰਮ ਦੇ ਬਿਲਡਿੰਗ ਬਲਾਕ ਜਾਰੀ ਕਰ ਦਿੱਤੇ ਹਨ। ਵੇਰਵਿਆਂ ਲਈ, ਸਾਡੀ Responses API ਲਈ API docs, ਟੂਲਜ਼ ਜਿਨ੍ਹਾਂ ਵਿੱਚ Web Search, File Search, ਅਤੇ Computer Use ਸ਼ਾਮਲ ਹਨ, ਅਤੇ Agents SDK ਨਾਲ Tracing ਲਈ ਸਾਡੇ docs ਵੇਖੋ।

ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਨਾਲ ਤੁਸੀਂ OpenAI ਮਾਡਲਾਂ ਨੂੰ ਬਾਹਰੀ ਟੂਲਾਂ ਅਤੇ ਸਿਸਟਮਾਂ ਨਾਲ ਜੋੜ ਸਕਦੇ ਹੋ. ਇਹ ਕਈ ਕੰਮਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ, ਜਿਵੇਂ ਨਕਲੀ ਬੁੱਧੀ ਵਾਲੇ ਸਹਾਇਕਾਂ ਨੂੰ ਵਾਧੂ ਸਮਰੱਥਾਵਾਂ ਦੇਣਾ ਜਾਂ ਤੁਹਾਡੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲਾਂ ਵਿਚਕਾਰ ਡੂੰਘਾ ਏਕੀਕਰਨ ਕਰਨਾ.

ਸਾਡੀ ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਡਿਵੈਲਪਰ ਗਾਈਡ ਵਿੱਚ ਹੋਰ ਜਾਣੋ.

ਜੂਨ 2024 ਵਿੱਚ ਅਸੀਂ ਸਟਰੱਕਚਰਡ ਆਉਟਪੁੱਟਸ ਪੇਸ਼ ਕੀਤੇ. ਸਮਰਥਿਤ ਮਾਡਲਾਂ ਅਤੇ ਬੇਨਤੀ ਸੰਰਚਨਾਵਾਂ ਵਿੱਚ, ਜਦੋਂ ਮਾਡਲ ਕੋਈ ਫੰਕਸ਼ਨ ਕਾਲ ਜਾਰੀ ਕਰਦਾ ਹੈ, ਤਾਂ ਤੁਹਾਡੀ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾ ਵਿੱਚ strict: true ਸੈੱਟ ਕਰਨ ਨਾਲ ਇਹ ਯਕੀਨੀ ਬਣਦਾ ਹੈ ਕਿ ਬਣਾਏ ਗਏ ਆਰਗੂਮੈਂਟ ਦਿੱਤੇ ਸਕੀਮਾ ਦੀ ਪਾਲਣਾ ਕਰਨ, ਬਸ਼ਰਤੇ ਸਕੀਮਾ ਸਮਰਥਿਤ JSON ਸਕੀਮਾ ਉਪ-ਸਮੂਹ ਵਰਤਦਾ ਹੋਵੇ ਅਤੇ ਸਖ਼ਤ ਮੋਡ ਦੀਆਂ ਲੋੜਾਂ ਪੂਰੀਆਂ ਕਰਦਾ ਹੋਵੇ. ਗੈਰ-ਸਮਰਥਿਤ ਜਾਂ ਨਿਯਮਾਂ ਅਨੁਸਾਰ ਨਾ ਹੋਣ ਵਾਲੇ ਸਕੀਮਿਆਂ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਗਲਤੀ ਸੁਨੇਹੇ ਨਾਲ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ.

ਅਕਤੂਬਰ 2024 ਵਿੱਚ ਅਸੀਂ 'ਕੁਝ ਵੀ ਬਣਾਓ' ਵਿਸ਼ੇਸ਼ਤਾ ਪੇਸ਼ ਕੀਤੀ, ਜਿਸ ਨਾਲ ਡਿਵੈਲਪਰ ਕਿਸੇ ਫੰਕਸ਼ਨ ਦਾ ਵੇਰਵਾ ਦੇ ਕੇ, ਉਸਨੂੰ ਸਿੱਧਾ ਪੇਸਟ ਕਰਕੇ ਜਾਂ ਆਪਣਾ ਕੋਡ ਪੇਸਟ ਕਰਕੇ ਇੱਕ ਵੈਧ ਫੰਕਸ਼ਨ ਸਕੀਮਾ ਬਣਾ ਸਕਦੇ ਹਨ. 'ਕੁਝ ਵੀ ਬਣਾਓ' ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਲਈ ਇਹ ਮਦਦ ਕੇਂਦਰ ਲੇਖ ਪੜ੍ਹੋ.

ਮੈਂ ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਕਿਵੇਂ ਵਰਤ ਸਕਦਾ/ਸਕਦੀ ਹਾਂ?

ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਬਹੁਤ ਸਾਰੇ ਵਰਤੋਂ ਕੇਸਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ, ਜਿਵੇਂ ਕਿ:

  • ਸਹਾਇਕਾਂ ਨੂੰ ਡਾਟਾ ਲਿਆਉਣ ਯੋਗ ਬਣਾਉਣਾ:

  • ਸਹਾਇਕਾਂ ਨੂੰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਯੋਗ ਬਣਾਉਣਾ:

  • ਸਹਾਇਕਾਂ ਨੂੰ ਗਣਨਾ ਕਰਨ ਯੋਗ ਬਣਾਉਣਾ:

  • ਭਰਪੂਰ ਵਰਕਫਲੋਜ਼ ਬਣਾਉਣਾ:

  • ਇੱਕ ਡਾਟਾ ਨਿਕਾਸ ਪਾਈਪਲਾਈਨ ਜੋ ਕੱਚਾ ਟੈਕਸਟ ਲਿਆਉਂਦੀ ਹੈ, ਫਿਰ ਇਸਨੂੰ ਸਟਰੱਕਚਰਡ ਡਾਟਾ ਵਿੱਚ ਬਦਲਦੀ ਹੈ ਅਤੇ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸੰਭਾਲਦੀ ਹੈ.

ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ Responses API ਵਿੱਚ ਸਮਰਥਿਤ ਹੈ, ਜੋ ਉਹ ਸਮਰੱਥਾਵਾਂ ਇਕੱਠੀਆਂ ਕਰਦੀ ਹੈ ਜੋ ਪਹਿਲਾਂ ਚੈਟ ਕੰਪਲੀਸ਼ਨਜ਼ API ਅਤੇ Assistants API ਵਿੱਚ ਵੰਡੀਆਂ ਹੋਈਆਂ ਸਨ.

ਮੈਂ JSON ਮੋਡ ਕਿਵੇਂ ਵਰਤ ਸਕਦਾ/ਸਕਦੀ ਹਾਂ?

ਜਦੋਂ JSON ਮੋਡ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਮਾਡਲ ਦਾ ਆਉਟਪੁੱਟ ਵੈਧ JSON ਹੋਣਾ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਕੁਝ ਐਜ ਕੇਸਾਂ ਤੋਂ ਇਲਾਵਾ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਹਾਨੂੰ ਪਛਾਣ ਕੇ ਢੰਗ ਨਾਲ ਹੈਂਡਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ.

ਚੈਟ ਕੰਪਲੀਸ਼ਨਜ਼ API ਨਾਲ JSON ਮੋਡ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ, ਸਮਰਥਿਤ ਮਾਡਲਾਂ ’ਤੇ response_format ਨੂੰ { "type": "json_object" } ’ਤੇ ਸੈੱਟ ਕਰੋ. Responses API ਨਾਲ, ਜਿੱਥੇ ਲਾਗੂ ਹੋਵੇ, text.format ਨੂੰ { "type": "json_object" } ’ਤੇ ਸੈੱਟ ਕਰੋ, ਉਦਾਹਰਨ ਵਜੋਂ text: { "format": { "type": "json_object" } }. ਕਿਸੇ ਵੀ API ਵਿੱਚ, JSON ਮੋਡ ਸਿਰਫ਼ ਤਦੋਂ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਮਾਡਲ/ਸੁਨੇਹਾ/ਟੂਲ ਪੂਰਵ-ਸ਼ਰਤਾਂ ਪੂਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ (ਉਦਾਹਰਨ ਲਈ, ਮਾਡਲ json_object ਨੂੰ ਸਮਰਥਨ ਕਰਦਾ ਹੋਵੇ, ਗੱਲਬਾਤ ਵਿੱਚ JSON ਬਣਾਉਣ ਦੀਆਂ ਹਦਾਇਤਾਂ ਸ਼ਾਮਲ ਹੋਣ, ਅਤੇ ਕੋਈ ਵੀ ਟੂਲ ਪਾਬੰਦੀਆਂ ਅਨੁਕੂਲ ਹੋਣ). ਪ੍ਰਭਾਵੀ ਇਨਪੁੱਟ ਸੰਦਰਭ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਬੇਨਤੀ ਸੁਨੇਹੇ ਜਾਂ ਇਨਪੁੱਟ ਸੁਨੇਹੇ ਵਿੱਚ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਰੂਪ ਵਿੱਚ json ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ, ਜਿਵੇਂ JSON, json, ਜਾਂ Json; ਨਹੀਂ ਤਾਂ, API ਗਲਤੀ ਵਾਪਸ ਕਰਦਾ ਹੈ. Responses ਵਿੱਚ, ਸਿਰਫ਼ ਟੌਪ-ਲੈਵਲ instructions ਫੀਲਡ ਇਸ ਵੈਲੀਡੇਸ਼ਨ ਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦੀ. ਜਦੋਂ ਅਨੁਕੂਲ ਮਾਡਲਾਂ/ਪਾਥਾਂ ’ਤੇ ਫੰਕਸ਼ਨ ਕਾਲਿੰਗ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਫੰਕਸ਼ਨ-ਕਾਲ ਆਰਗੂਮੈਂਟਾਂ ’ਤੇ JSON ਪਾਬੰਦੀਆਂ ਆਪਣੇ ਆਪ ਲਾਗੂ ਹੁੰਦੀਆਂ ਹਨ; ਅਸੰਗਤ ਮਾਡਲ ਜਾਂ ਟੂਲ/ਰਿਸਪਾਂਸ-ਫਾਰਮੈਟ ਸੰਯੋਜਨ ਅਸਵੀਕਾਰ ਹੋ ਸਕਦੇ ਹਨ ਜਾਂ JSON-ਪਾਬੰਦ ਸੈਂਪਲਿੰਗ ਨਹੀਂ ਵਰਤ ਸਕਦੇ.

ਮਹੱਤਵਪੂਰਨ ਨੋਟ:

  • JSON ਮੋਡ ਵਰਤਦੇ ਸਮੇਂ, ਤੁਹਾਨੂੰ ਹਮੇਸ਼ਾਂ ਗੱਲਬਾਤ ਵਿੱਚ ਕਿਸੇ ਸੁਨੇਹੇ ਰਾਹੀਂ, ਉਦਾਹਰਨ ਲਈ ਆਪਣੇ ਸਿਸਟਮ ਸੁਨੇਹੇ ਰਾਹੀਂ, ਮਾਡਲ ਨੂੰ JSON ਬਣਾਉਣ ਦੀ ਹਦਾਇਤ ਦੇਣੀ ਚਾਹੀਦੀ ਹੈ. ਜੇ ਤੁਸੀਂ JSON ਜਨਰੇਟ ਕਰਨ ਲਈ ਸਪਸ਼ਟ ਹਦਾਇਤ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰਦੇ, ਤਾਂ ਮਾਡਲ ਖਾਲੀ ਥਾਂਵਾਂ ਦੀ ਅਨੰਤ ਧਾਰਾ ਜਨਰੇਟ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਬੇਨਤੀ ਟੋਕਨ ਸੀਮਾ ਤੱਕ ਪਹੁੰਚਣ ਤੱਕ ਲਗਾਤਾਰ ਚੱਲ ਸਕਦੀ ਹੈ. ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ ਕਿ ਤੁਸੀਂ ਭੁੱਲੋ ਨਾ, JSON ਮੋਡ ਬੇਨਤੀਆਂ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰਦਾ ਹੈ ਜਦ ਤੱਕ ਸੰਬੰਧਿਤ ਇਨਪੁੱਟ ਸੁਨੇਹਿਆਂ ਜਾਂ ਹਦਾਇਤਾਂ ਵਿੱਚ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਕਿਸੇ ਰੂਪ ਵਿੱਚ json ਸ਼ਬਦ ਨਾ ਹੋਵੇ.

  • JSON ਮੋਡ ਇਹ ਗਾਰੰਟੀ ਨਹੀਂ ਦੇਵੇਗਾ ਕਿ ਆਉਟਪੁੱਟ ਕਿਸੇ ਖਾਸ ਸਕੀਮਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਸਿਰਫ਼ ਇਹ ਕਿ ਉਹ ਵੈਧ ਹੈ ਅਤੇ ਬਿਨਾਂ ਗਲਤੀਆਂ ਦੇ ਪਾਰਸ ਹੁੰਦਾ ਹੈ. ਤੁਹਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਸਟਰੱਕਚਰਡ ਆਉਟਪੁੱਟਸ ਵਰਤਣੇ ਚਾਹੀਦੇ ਹਨ ਕਿ ਇਹ ਤੁਹਾਡੇ ਸਕੀਮਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਜਾਂ ਜੇ ਇਹ ਸੰਭਵ ਨਹੀਂ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਵੈਲੀਡੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ ਸੰਭਵ ਤੌਰ ’ਤੇ ਮੁੜ-ਕੋਸ਼ਿਸ਼ਾਂ ਵਰਤਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ ਤਾਂ ਜੋ ਆਉਟਪੁੱਟ ਤੁਹਾਡੇ ਇੱਛਿਤ ਸਕੀਮਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੋਵੇ.

  • ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਉਹ ਐਜ ਕੇਸ ਪਛਾਣਣ ਅਤੇ ਹੈਂਡਲ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਕਾਰਨ ਮਾਡਲ ਆਉਟਪੁੱਟ ਪੂਰਾ JSON ਆਬਜੈਕਟ ਨਹੀਂ ਬਣਦਾ (ਹੇਠਾਂ ਵੇਖੋ).

ਕੀ ਇਹ ਲੇਖ ਉਪਯੋਗੀ ਸੀ?