मुख्य सामग्री पर जाएं

GPT-4.5 फ़ंक्शन कॉलिंग ट्यूटोरियल: AI की मदद से स्टॉक कीमतें और समाचार निकालें

OpenAI के सबसे उन्नत मॉडल का उपयोग करके स्टॉक कीमतें और समाचार निकालने के लिए एक मल्टी-फ़ंक्शन कॉलिंग AI सिस्टम बनाएँ।
अपडेट किया गया 25 सित॰ 2026  · 12 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

बड़े भाषा मॉडल (LLMs) अक्सर संरचित आउटपुट, जैसे JSON, को लगातार उत्पन्न करने में संघर्ष करते हैं, भले ही उन्नत प्रॉम्प्ट इंजीनियरिंग तकनीकों का उपयोग किया जाए। प्रॉम्प्ट इंजीनियरिंग परिणामों में सुधार कर सकती है, लेकिन यह अचूक नहीं है—परीक्षण के दौरान त्रुटियाँ हो सकती हैं, जिसके कारण कभी-कभी विफलताएँ होती हैं। तो, आप हर बार सटीक और विश्वसनीय संरचित आउटपुट कैसे सुनिश्चित कर सकते हैं?

फ़ंक्शन कॉलिंग का अर्थ LLMs में संरचित डेटा प्रतिक्रियाएँ उत्पन्न करने की क्षमता से है, जो आमतौर पर JSON ऑब्जेक्ट के रूप में होती हैं। यह सुविधा LLMs को साधारण टेक्स्ट जनरेशन से आगे बढ़कर बाहरी सिस्टम, APIs और टूल्स के साथ इंटरैक्ट करने में सक्षम बनाती है। फ़ंक्शन कॉलिंग का लाभ उठाकर, LLMs आवश्यक संरचना और सटीकता बनाए रखते हुए अधिक जटिल, संदर्भ-चालित कार्य कर सकते हैं।

इस ट्यूटोरियल में, हम GPT-4.5, सबसे अधिक सटीक और तथ्यपरक मॉडल, का उपयोग करके एक फ़ंक्शन-कॉलिंग स्क्रिप्ट बनाना सीखेंगे। पहले, हम इंटरनेट से स्टॉक कीमतें निकालने के लिए एक एकल फ़ंक्शन लागू करेंगे। फिर, हम एक और फ़ंक्शन जोड़ेंगे, जिससे LLM कई टूल्स में से चुन सके और उपयोगकर्ता के प्रॉम्प्ट के आधार पर सबसे उपयुक्त टूल का चयन कर सके।

इस ट्यूटोरियल के अंत तक, आप अपना खुद का एक बुद्धिमान अनुप्रयोग बनाना सीखेंगे जो किसी भी कंपनी के लिए स्टॉक कीमतें प्रदान कर सकता है और साथ ही न्यूज़ फीड भी दे सकता है।

छवि लेखक द्वारा

GPT-4.5 की फ़ंक्शन कॉलिंग क्षमताएँ

OpenAI का नवीनतम मॉडल GPT-4.5 कई उन्नत सुविधाएँ पेश करता है, जिनमें बेहतर फ़ंक्शन कॉलिंग क्षमताएँ शामिल हैं। ये क्षमताएँ मॉडल की बाहरी सिस्टम से इंटरैक्ट करने और उपयोगकर्ता इनपुट के आधार पर विशिष्ट फ़ंक्शन को बुलाकर जटिल कार्य करने की क्षमता में सुधार करती हैं।

स्रोत: Model - OpenAI API

यहाँ GPT-4.5 की फ़ंक्शन कॉलिंग की प्रमुख विशेषताएँ हैं:

1. APIs के साथ एकीकरण

GPT-4.5, Chat Completions API, Assistants API, और Batch API के माध्यम से फ़ंक्शन कॉलिंग का समर्थन करता है। इससे डेवलपर्स मॉडल को अपने अनुप्रयोगों में बिना किसी रुकावट के एकीकृत कर सकते हैं, ताकि वह डेटा प्राप्ति, प्रोसेसिंग, और सॉफ़्टवेयर वातावरण के भीतर कमांड निष्पादन जैसे कार्य कर सके।

2. संरचित आउटपुट

मॉडल JSON जैसे संरचित आउटपुट लौटा सकता है, जो उन डेवलपर्स के लिए विशेष रूप से उपयोगी है जिन्हें मॉडल को अन्य सिस्टम या टूल्स के साथ इंटरैक्ट करना होता है, जिनमें विशिष्ट डेटा फ़ॉर्मेट आवश्यक होते हैं।

3. विज़न क्षमताएँ

हालाँकि GPT-4.5 आवाज़ या वीडियो जैसे मल्टीमॉडल आउटपुट का समर्थन नहीं करता, यह इमेज इनपुट्स के माध्यम से विज़न क्षमताओं का समर्थन करता है। इससे मॉडल दृश्य डेटा को प्रोसेस और विश्लेषित कर सकता है, जिसे फ़ंक्शन कॉलिंग के साथ मिलाकर ऐसे कार्य किए जा सकते हैं जिनमें टेक्स्ट और इमेज दोनों डेटा शामिल हों।

4. उन्नत कार्यात्मकताएँ

GPT-4.5 में फ़ंक्शन कॉलिंग सुविधा जटिल वर्कफ़्लो को सरल बनाने के लिए डिज़ाइन की गई है, जिससे मॉडल आपके कोड में लिखे फ़ंक्शनों का सुझाव दे सके या उन्हें बुला सके। यह दोहराए जाने वाले कार्यों को स्वचालित करने या मौजूदा सॉफ़्टवेयर सिस्टम में AI-आधारित निर्णय-निर्धारण को एकीकृत करने में विशेष रूप से उपयोगी हो सकता है।

OpenAI के नए मॉडल के बारे में सभी विवरण जानें इस ब्लॉग में: GPT 4.5: Features, Access, GPT-4o तुलना और अधिक.

GPT-4.5 सिंगल फ़ंक्शन कॉलिंग

अब हम GPT-4.5 मॉडल और Yahooquery लाइब्रेरी का उपयोग करके एक सरल फ़ंक्शन-कॉलिंग सिस्टम बनाएँगे। Yahooquery लाइब्रेरी हमें Yahoo Finance से किसी भी स्टॉक-संबंधित डेटा को निकालने में मदद करेगी। 

हमारा समाधान उपयोगकर्ताओं को स्टॉक कीमतों के बारे में प्रश्न पूछने की अनुमति देगा, जिससे एक विशिष्ट फ़ंक्शन ट्रिगर होगा जो इंटरनेट से स्टॉक कीमत प्राप्त करेगा और प्रतिक्रिया उत्पन्न करेगा। बस इतना ही सरल। 

हम PIP कमांड का उपयोग करके openai और yahooquery लाइब्रेरीज़ इंस्टॉल करके शुरू करेंगे।

!pip install openai yahooquery -q

एक स्टॉक प्राइस फ़ंक्शन बनाना  

एक Python फ़ंक्शन बनाएँ जो एक टिकर (जैसे, AAPL) ले और उस टिकर की कीमत लौटाए। यह बैकएंड में प्रासंगिक डेटा निकालने के लिए yahooquery का उपयोग करता है।

from openai import OpenAI
import json
from yahooquery import Ticker

def get_stock_price(ticker):
    try:
        # Create a Ticker object for the provided ticker symbol
        t = Ticker(ticker)
        # Retrieve the price data
        price_data = t.price
        # Check if we received valid data for the ticker
        if ticker in price_data and price_data[ticker].get("regularMarketPrice") is not None:
            price = price_data[ticker]["regularMarketPrice"]
        else:
            return f"Price information for {ticker} is unavailable."
    except Exception as e:
        return f"Failed to retrieve data for {ticker}: {str(e)}"
    
    return f"{ticker} is currently trading at ${price:.2f}"

फ़ंक्शन का उपयोग करके टूल्स परिभाषित करना

OpenAI क्लाइंट Python फ़ंक्शन को नहीं समझता, इसलिए हमें डिक्शनरीज़ की सूची का उपयोग करके एक टूल बनाना होगा। हमें आवश्यक नाम, विवरण, और आउटपुट प्रकार प्रदान करना होगा। 

जब भी यह फ़ंक्शन कॉल किया जाएगा, यह प्रॉम्प्ट से टिकर नाम निकालेगा और उसे संरचित फ़ॉर्मेट में लौटाएगा।

tools = [{
    "type": "function",
    "function": {
        "name": "get_stock_price",
        "description": "Get current stock price for a provided ticker symbol from Yahoo Finance using the yahooquery Python library.",
        "parameters": {
            "type": "object",
            "properties": {
                "ticker": {"type": "string"}
            },
            "required": ["ticker"],
            "additionalProperties": False
        },
        "strict": True
    }
}]

मॉडल को निर्णय लेने दें कि फ़ंक्शन कॉल करना चाहिए या नहीं

आइए हाल ही में बनाया गया OpenAI फ़ंक्शन टेस्ट करें। चैट कम्प्लीशन को उपयोगकर्ता संदेश, मॉडल का नाम, और टूल्स प्रदान करें।

client = OpenAI()

messages = [{"role": "user", "content": "What's the current price of Meta stock?"}]

completion = client.chat.completions.create(
    model="gpt-4.5-preview",
    messages=messages,
    tools=tools,
)

print(completion.choices[0].message.tool_calls)

जैसा कि हम देख सकते हैं, GPT-4.5 ने सटीक रूप से get_stock_price को कॉल किया और सही टिकर (META) लौटाया।

[ChatCompletionMessageToolCall(id='call_uVGbahRiMnn4AkOJYbv8gfIV', function=Function(arguments='{"ticker":"META"}', name='get_stock_price'), type='function')]

प्रदान किए गए टिकर के साथ फ़ंक्शन निष्पादित करें

अब हम इस टिकर को अपने get_stock_price Python फ़ंक्शन को दे सकते हैं। 

tool_call = completion.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)

result = get_stock_price(args["ticker"])

print(result)

परिणामस्वरूप, आपको एक प्रतिक्रिया मिलती है जिसमें टिकर का नाम और उसकी संबंधित कीमत शामिल होती है।

META is currently trading at $640.00

आप यहाँ रुक सकते हैं, लेकिन प्राकृतिक भाषा में उचित उत्तर देने के लिए, आपको परिणामों को फिर से चैट कम्प्लीशन में पास करना होगा।

फ़ंक्शन कॉल और टूल परिणाम जोड़ना

हम पिछली बातचीत से उत्पन्न प्रतिक्रिया संलग्न करेंगे और टूल आईडी और टूल परिणामों के साथ टूल कॉलिंग भी शामिल करेंगे।

messages.append(completion.choices[0].message)  # Model's function call message
messages.append({
    "role": "tool",
    "tool_call_id": tool_call.id,
    "content": str(result)
})

अपडेट की गई बातचीत को फिर से मॉडल पर भेजें

टूल कॉलिंग कंटेंट सहित संदेश के साथ चैट कम्प्लीशन को फिर से चलाएँ।

completion_2 = client.chat.completions.create(
    model="gpt-4.5-preview",
    messages=messages,
    tools=tools,
)

# The final model response incorporating the stock price information
print(completion_2.choices[0].message.content)

जैसा कि आप देख सकते हैं, हमें उचित परिणाम मिला। 

The current price of Meta stock (META) is $640.00.

आपको यह कदम बेकार लग सकता है, लेकिन जब आपके पास जटिल आउटपुट हो, तो यह कदम JSON फ़ॉर्मेट के बजाय सादी अंग्रेज़ी में परिणाम समझने में मदद करता है।

यदि आप OpenAI API को लेकर उलझन में हैं और अधिक सीखना चाहते हैं, तो OpenAI Fundamentals करियर ट्रैक पर विचार करें, जिससे आप OpenAI के GPT और Whisper मॉडलों को प्रॉम्प्ट करने के लिए OpenAI API का उपयोग करना सीखेंगे।

GPT-4.5 मल्टीपल फ़ंक्शन कॉलिंग

अब, हम सीखेंगे कि अपने AI सिस्टम में एक और फ़ंक्शन कैसे जोड़ें ताकि GPT-4.5 उपयोगकर्ता प्रॉम्प्ट के आधार पर स्वचालित रूप से यह तय कर सके कि किस फ़ंक्शन को कॉल करना है। हम एक नया फ़ीड फ़ंक्शन जोड़ रहे हैं जो निर्दिष्ट टिकर के लिए शीर्ष 3 समाचार लेख लिंक सहित लौटाएगा। 

pip कमांड का उपयोग करके feedparser लाइब्रेरी इंस्टॉल करके शुरू करें। हम इस लाइब्रेरी का उपयोग निर्दिष्ट टिकर के लिए सुर्खियाँ निकालने में करेंगे।

!pip install feedparser -q

स्टॉक समाचार फ़ंक्शन परिभाषित करें

get_stock_news Python फ़ंक्शन बनाएँ जो टिकर को इनपुट के रूप में लेगा और शीर्ष तीन समाचार शीर्षक उनके लिंक सहित लौटाएगा।

import feedparser


def get_stock_news(ticker):
    # Construct the RSS feed URL for the given ticker.
    rss_url = f"https://feeds.finance.yahoo.com/rss/2.0/headline?s={ticker}&region=US&lang=en-US"
    try:
        feed = feedparser.parse(rss_url)
        if not feed.entries:
            return f"No news found for {ticker}."
        # Extract the top 3 news items (title and link)
        news_items = []
        for entry in feed.entries[:3]:
            title = entry.get("title", "No Title")
            link = entry.get("link", "No Link")
            news_items.append(f"{title} ({link})")
        news_str = "\n".join(news_items)
    except Exception as e:
        return f"Failed to retrieve news for {ticker}: {str(e)}"
    
    return f"Latest news for {ticker}:\n{news_str}"

get_stock_news("AAPL")

हमने Apple के बारे में शीर्ष तीन सुर्खियाँ उपयुक्त लिंक सहित इकट्ठा कर ली हैं।

'Latest news for AAPL:\nNvidia AI Server Maker Hon Hai Posts 25% Jump in Two-Month Sales 
(https://finance.yahoo.com/news/nvidia-ai-server-maker-hon-075011863.html?.tsrc=rss)\nFoxconn says February revenue rose 56.43% y/y
(https://finance.yahoo.com/news/foxconn-says-february-revenue-rose-074433615.html?.tsrc=rss)\nApple Inc. (AAPL): Among the Best Stocks To Invest In According to Billionaires 
(https://finance.yahoo.com/news/apple-inc-aapl-among-best-051548210.html?.tsrc=rss)'

स्टॉक कीमत और समाचार के लिए मल्टीपल टूल्स परिभाषित करें

अब हमें उचित विवरण और आउटपुट के साथ get_stock_news नाम का एक और OpenAI फ़ंक्शन जोड़ना होगा।

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_stock_price",
            "description": "Get current stock price for a provided ticker symbol using yahooquery.",
            "parameters": {
                "type": "object",
                "properties": {
                    "ticker": {"type": "string"}
                },
                "required": ["ticker"],
                "additionalProperties": False
            },
            "strict": True
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_stock_news",
            "description": "Get the latest news for a provided ticker symbol by parsing the Yahoo Finance RSS feed using feedparser.",
            "parameters": {
                "type": "object",
                "properties": {
                    "ticker": {"type": "string"}
                },
                "required": ["ticker"],
                "additionalProperties": False
            },
            "strict": True
        }
    }
]

मॉडल को निर्णय लेने दें कि उसे एक या दोनों फ़ंक्शन कॉल करने चाहिए

आइए Google स्टॉक्स और Google के नवीनतम समाचारों के बारे में पूछकर फ़ंक्शन को आज़माएँ।

messages = [{
    "role": "user",
    "content": "What's the current price of Google stock and can you show me the latest news about it?"
}]


completion = client.chat.completions.create(
    model="gpt-4.5-preview",
    messages=messages,
    tools=tools,
)

completion.choices[0].message.tool_calls

जैसा कि हम देख सकते हैं, इसने स्टॉक कीमतें और नवीनतम समाचार—दोनों के लिए फ़ंक्शन कॉल किए हैं।

[ChatCompletionMessageToolCall(id='call_zfcRJ4EcIUUqHCcN8SErjeoi', function=Function(arguments='{"ticker": "GOOGL"}', name='get_stock_price'), type='function'),
 ChatCompletionMessageToolCall(id='call_jBv8TlSPOyFKcRWHwByxLMb4', function=Function(arguments='{"ticker": "GOOGL"}', name='get_stock_news'), type='function')]

फ़ंक्शन कॉल परिणाम सहेजना

समस्या यह है कि दोनों फ़ंक्शन परिणाम के रूप में टिकर लौटाते हैं। हमें यह निर्धारित करने के लिए if-else कथन बनाना होगा कि कौन-सा फ़ंक्शन कॉल हुआ। हम फ़ंक्शन के परिणामों को डिक्शनरी में संग्रहीत करेंगे।

# The model returns function call requests.
tool_calls = completion.choices[0].message.tool_calls

# Execute each function call based on the tool the model requested
tool_results = {}
for tool_call in tool_calls:
    func_name = tool_call.function.name
    args = json.loads(tool_call.function.arguments)
    if func_name == "get_stock_price":
        tool_results["price"] = get_stock_price(args["ticker"])
    elif func_name == "get_stock_news":
        tool_results["news"] = get_stock_news(args["ticker"])

फ़ंक्शन कॉल और टूल परिणाम जोड़ना

अब हम पहले से उत्पन्न परिणामों और फ़ंक्शन परिणाम को टूल आईडी के साथ जोड़ेंगे। 

messages.append(completion.choices[0].message)  # Append the model's function call message

for tool_call in tool_calls:
    func_name = tool_call.function.name
    result_content = tool_results.get("price") if func_name == "get_stock_price" else tool_results.get("news")
    messages.append({
        "role": "tool",
        "tool_call_id": tool_call.id,
        "content": result_content
    })

अपडेट की गई बातचीत को फिर से मॉडल पर भेजें

जब हम परिणामी संदेश GPT-4.5 को पास करते हैं, तो यह बेहद तार्किक और उत्कृष्ट परिणाम उत्पन्न करता है।

from IPython.display import display, Markdown

completion_2 = client.chat.completions.create(
    model="gpt-4.5-preview",
    messages=messages,
    tools=tools,
)

# The final model response incorporates both stock price and news.
Markdown(completion_2.choices[0].message.content)

हमें Google की स्टॉक कीमत और Google से संबंधित शीर्ष समाचारों के लिंक मिल गए। 

सोर्स कोड और आउटपुट DataLab Workspace में उपलब्ध हैं। आपको बस अपना OpenAI API key एनवायरनमेंट वेरिएबल में जोड़ना है, और आप सब कुछ स्वयं चला सकते हैं।

निष्कर्ष

हमने बड़े भाषा मॉडलों को संरचित आउटपुट उत्पन्न करने के लिए बाध्य किया और फिर उसे किसी API या दूसरे Python फ़ंक्शन को किसी विशिष्ट कार्य के निष्पादन के लिए पास किया। GPT-4.5 जैसे उन्नत AI कई सेवाओं या APIs का उपयोग करके अत्यधिक एकीकृत प्रतिक्रियाएँ उत्पन्न कर सकते हैं। 

भविष्य में, हम फ़ंक्शन कॉलिंग और एजेंट्स का उपयोग करके अपने आसपास की हर चीज़ को नियंत्रित करेंगे; बस अपने AI को एक वॉइस कमांड भेजें, और यह आपके कमांड के आधार पर आवश्यक टूल्स को कॉल करेगा और सिस्टम में बदलाव करेगा।

हमारे पास GPT-4.5 है, लेकिन कई AI विशेषज्ञ GPT-5 का इंतज़ार कर रहे हैं, जिसके AGI के और करीब होने की उम्मीद है। आप आने वाले मॉडल के बारे में सब कुछ इस ब्लॉग में पढ़कर सीख सकते हैं: Everything We Know About GPT-5.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

एक प्रमाणित डेटा साइंटिस्ट के रूप में, मैं अत्याधुनिक तकनीक का उपयोग करके नवाचारी मशीन लर्निंग अनुप्रयोग बनाने के लिए उत्साहित रहता/रहती हूँ। स्पीच रिकॉग्निशन, डेटा विश्लेषण और रिपोर्टिंग, MLOps, संवादात्मक AI और NLP में मजबूत पृष्ठभूमि के साथ, मैंने ऐसे बुद्धिमान सिस्टम विकसित करने में अपनी विशेषज्ञता निखारी है जो वास्तविक प्रभाव डाल सकें। तकनीकी दक्षता के अलावा, मैं जटिल अवधारणाओं को स्पष्ट और संक्षिप्त भाषा में प्रस्तुत करने में भी निपुण हूँ। परिणामस्वरूप, मैं डेटा साइंस पर एक मांग में रहने वाला/वाली ब्लॉगर बन गया/गई हूँ, और डेटा प्रोफेशनलों के बढ़ते समुदाय के साथ अपने अनुभव और विचार साझा करता/करती हूँ। वर्तमान में, मैं कंटेंट निर्माण और संपादन पर केंद्रित हूँ, बड़े भाषा मॉडलों के साथ काम करते हुए ऐसा प्रभावशाली और आकर्षक कंटेंट विकसित कर रहा/रही हूँ जो व्यवसायों और व्यक्तियों दोनों को अपने डेटा का अधिकतम लाभ उठाने में मदद कर सके।

विषय
कृत्रिम बुद्धिमत्ता
OpenAI

सर्वश्रेष्ठ DataCamp कोर्स

कोर्स

OpenAI API के साथ AI सिस्टम बनाना

3 घंटा
22.9K
OpenAI API का उपयोग करके अपने AI ऐप्स को प्रोडक्शन के लिए तैयार करें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें

कोर्स

OpenAI API के साथ काम करना

3 घंटा
178.4K
OpenAI API के साथ AI-संचालित एप्लिकेशन विकसित करना शुरू करें। ChatGPT जैसे लोकप्रिय AI अनुप्रयोगों के पीछे की कार्यक्षमता के बारे में जानें।
और देखेंRight Arrow