OpenAI API ગાઇડ: Python માં ChatGPT કૉલ કરો — બિગિનર્સ માટે Step-by-Step માર્ગદર્શિકા
બ્રાઉઝરમાં ChatGPT નો ઉપયોગ કરવો ઘણો સારો છે. પણ વિચારો, જો તમારે:
- તમારી પોતાની ઍપ (App) માં ChatGPT જેવો પાવર જોઈતો હોય તો?
- Python કોડની અંદર AI પાસેથી જવાબો જનરેટ કરાવવા હોય તો?
- ઈમેલ (Emails), સમરી (Summaries) કે ટ્રાન્સલેશન (Translations) નું કામ કોડની મદદથી ઓટોમેટિક કરવું હોય તો?
ત્યાં OpenAI API કામ આવે છે. OpenAI API એટલે ChatGPT ને તમારા Python કોડમાં ડાયરેક્ટ કૉલ (Call) કરવો — બ્રાઉઝરમાં નહિ, સીધા કોડમાં જ!
API એટલે શું?
API = Application Programming Interface — આ એક એવી સિસ્ટમ છે જે બે એપ્લિકેશન્સને એકબીજા સાથે "વાત" કરવા દે છે.
💡 રેસ્ટોરન્ટનું ઉદાહરણ (Restaurant Analogy):
- તમે = ડેવલપર (Customer)
- વેઈટર (Waiter) = API
- રસોડું (Kitchen) = OpenAI નું સર્વર (ChatGPT)
ગ્રાહક વેઈટરને ઓર્ડર આપે છે → વેઈટર રસોડામાં ઓર્ડર પહોંચાડે છે → રસોડામાં ફૂડ બને છે → અને વેઈટર તમારી પાસે ફૂડ લઈને પાછો આવે છે. આપણી API પણ આ જ રીતે કામ કરે છે — કોડ રિક્વેસ્ટ મોકલે છે → OpenAI પાસે જાય છે → અને ત્યાંથી રિસ્પોન્સ (જવાબ) પાછો આવે છે.
Step 1 — API Key મેળવો
- platform.openai.com પર જઈને તમારું એકાઉન્ટ બનાવો.
- ડાબી બાજુ મેનુમાં API Keys સેક્શનમાં જાઓ → "Create new secret key" પર ક્લિક કરો.
- અહીંથી તમારી Key કૉપી કરો — ધ્યાન રાખો, આ Key તમને ફક્ત એક જ વાર દેખાશે!
- તેને સુરક્ષિત રીતે સેવ કરી લો — પ્રોજેક્ટમાં
.envફાઈલમાં જ તેને સેવ કરવી.
⚠️ મહત્વનું (Important): API Key એ તમારા પાસવર્ડ (Password) સમાન છે. તેને ક્યારેય GitHub પર ઓપન કોડમાં પુશ (Push) ન કરવી કે પબ્લિકમાં શેર ન કરવી.
ફ્રી ક્રેડિટ્સ (Free Credits): નવા એકાઉન્ટ પર તમને શરૂઆતમાં $5 ની ફ્રી ક્રેડિટ્સ મળે છે (જે ટ્રાયલ માટે હોય છે).
Step 2 — જરૂરી લાઈબ્રેરી ઇન્સ્ટોલ (Install) કરો
તમારા ટર્મિનલ કે કમાન્ડ પ્રોમ્પ્ટમાં આ 2 લાઈબ્રેરી ઇન્સ્ટોલ કરો:
pip install openai python-dotenv
તમારા પ્રોજેક્ટ ફોલ્ડરમાં .env નામની ફાઈલ બનાવો:
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxx
જો તમે Git વાપરતા હોવ, તો .gitignore ફાઈલમાં આટલું ઉમેરો:
.env
Step 3 — તમારો પહેલો API કૉલ (First API Call)
from openai import OpenAI
from dotenv import load_dotenv
import os
# 1. API Key ને લોડ કરો
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# 2. ChatGPT ને કૉલ કરો
response = client.chat.completions.create(
model="gpt-4o-mini", # આપણે મોડલ સિલેક્ટ કર્યું
messages=[
{"role": "user", "content": "ગુજરાત વિશે 2 લાઈન કહો."}
]
)
# 3. રિસ્પોન્સ (જવાબ) પ્રિન્ટ કરો
print(response.choices[0].message.content)
# ઉદાહરણ: ગુજરાત ભારતનું પ્રગતિશીલ રાજ્ય છે, જ્યાં...
પ્રોગ્રામ રન કરવા માટે:
python app.py
મેસેજિસનું માળખું (Messages Structure) — "વાતચીત (Conversation)"
OpenAI API વાતચીત એટલે કે Conversation ફોર્મેટમાં કામ કરે છે — જેમાં 3 રોલ્સ (Roles) મુખ્ય છે:
messages = [
# System = AI ને પર્સનાલિટી (Personality) અને સૂચનાઓ (Instructions) આપવા માટે
{"role": "system", "content": "તમે એક ગુજરાતી AI આસિસ્ટન્ટ છો. તમારે માત્ર ગુજરાતીમાં જ જવાબ આપવાનો છે."},
# User = યુઝરનો મેસેજ (આપણો સવાલ)
{"role": "user", "content": "Machine Learning એટલે શું?"},
# Assistant = AI નો અગાઉનો જવાબ (જો લાંબી વાતચીત ચાલતી હોય તો)
{"role": "assistant", "content": "Machine Learning એ AI નો એક ભાગ છે..."},
# યુઝરનો નવો સવાલ
{"role": "user", "content": "મને તેનું એક સરળ ઉદાહરણ આપો."}
]
પૅરામીટર્સ (Parameters) — રિસ્પોન્સ માટેનો કંટ્રોલ (Response Control)
વધુ સારા અને આપણી જરૂરિયાત મુજબના જવાબો મેળવવા માટે કેટલાક પૅરામીટર્સનો ઉપયોગ થાય છે:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "મને AI વિશે સમજાવો."}],
temperature=0.7, # 0 = Focused, 1 = Creative, 2 = Random
max_tokens=500, # જવાબની મહત્તમ લંબાઈ (Maximum Response Length) નક્કી કરવા
top_p=0.9, # શબ્દોની વિવિધતા (Diversity Control) નક્કી કરવા
n=1, # એક સવાલના કેટલા અલગ-અલગ જવાબો (Versions) જોઈએ છે?
)
ટેમ્પરેચર ગાઈડ (Temperature Guide):
| Value (કિંમત) | ક્યાં ઉપયોગ કરવો? (Use) |
|---|---|
| 0.0 | કોડિંગ, ગણિત, સચોટ માહિતી જોઈતી હોય ત્યારે (Precise) |
| 0.3–0.7 | સામાન્ય ચેટબોટ, કોઈપણ મુદ્દો સમજવા માટે |
| 0.8–1.0 | ક્રિએટિવ લખાણ, કવિતા કે વાર્તાઓ રચવા માટે |
| 1.5–2.0 | અવનવા અને એકદમ રેન્ડમ આઈડિયાઝ (Wild Ideas) માટે |
મોડલ્સ (Models) — કયા કામ માટે કયું મોડલ વાપરવું?
| મોડલ (Model) | સ્પીડ (Speed) | ખર્ચ (Cost) | ક્યાં શ્રેષ્ઠ છે? (Best For) |
|---|---|---|---|
gpt-4o-mini |
⚡ ઝડપી | 💰 સૌથી સસ્તું | સામાન્ય ઉપયોગ અને Beginners માટે શ્રેષ્ઠ! |
gpt-4o |
મધ્યમ (Moderate) | મધ્યમ (Moderate) | જટિલ ટાસ્ક (Complex Tasks) માટે |
gpt-4-turbo |
મધ્યમ | મોંઘું (Costly) | ખૂબ લાંબા ડોક્યુમેન્ટ્સ અને ફાઇલો માટે |
gpt-3.5-turbo |
⚡ ઝડપી | 💰 સસ્તું | જૂનું પણ સિમ્પલ ટાસ્ક માટે કામનું જો gpt-4o-mini ન વાપરવું હોય તો |
💡 બિગિનર્સ માટે (Beginners):
gpt-4o-miniએ સ્પીડ, ખર્ચ અને ક્વોલિટીની દ્રષ્ટિએ બેસ્ટ સંતુલન (Best Balance) આપે છે.
પ્રેક્ટિકલ ઉદાહરણો (Practical Examples)
1. ટેક્સ્ટ સમરાઇઝર (Text Summarizer)
def summarize(text):
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "નીચે આપેલી માહિતીની ગુજરાતીમાં માત્ર 3 લાઈન્સની સમરી (Summary) આપો."},
{"role": "user", "content": text}
],
max_tokens=200
)
return response.choices[0].message.content
article = "Artificial Intelligence (AI) is transforming industries..."
print(summarize(article))
2. ગુજરાતી ટ્રાન્સલેટર (Gujarati Translator)
def translate_to_gujarati(english_text):
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "English વાક્યને શુદ્ધ ગુજરાતીમાં અનુવાદ (Translate) કરો."},
{"role": "user", "content": english_text}
]
)
return response.choices[0].message.content
print(translate_to_gujarati("The future of AI is very bright."))
# AI નું ભવિષ્ય ઘણું ઉજ્જ્વળ છે.
3. સતત વાતચીત કરી શકે તેવો ચેટબોટ (Multi-turn Chatbot)
# વાતચીતનો શરૂઆતી ઇતિહાસ
conversation = [
{"role": "system", "content": "તમે એક મદદરૂપ (Helpful) ગુજરાતી આસિસ્ટન્ટ છો."}
]
def chat(user_message):
# યુઝરનો સવાલ લિસ્ટમાં ઉમેરો
conversation.append({"role": "user", "content": user_message})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=conversation
)
ai_reply = response.choices[0].message.content
# AI નો જવાબ પણ લિસ્ટમાં જમા કરો
conversation.append({"role": "assistant", "content": ai_reply})
return ai_reply
# ચેટ લૂપ (Chat Loop)
while True:
user_input = input("તમે: ")
if user_input.lower() == "exit":
break
print("AI:", chat(user_input))
4. કોડ રિવ્યુઅર (Code Reviewer)
def review_code(code):
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "તમે એક સિનિયર સોફ્ટવેર એન્જિનિયર છો. આપેલા Python કોડનો Review કરો: Bugs શોધો, Improvements કહો અને Best Practices જણાવો."},
{"role": "user", "content": f"મારો કોડ રિવ્યુ કરો:\n```python\n{code}\n```"}
]
)
return response.choices[0].message.content
સ્ટ્રીમિંગ (Streaming) — વાસ્તવિક સમયમાં (Real-time) જવાબ મેળવવો
તમે જોયું હશે કે ChatGPT માં જવાબ પૂરો આવવાને બદલે એક-એક શબ્દ ધીમે-ધીમે ટાઈપ થતો દેખાય છે. તેને સ્ટ્રીમિંગ કહેવાય છે:
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "AI નો ઈતિહાસ (History) ટૂંકમાં કહો."}],
stream=True # સ્ટ્રીમિંગ ચાલુ (Enable) કરવા
)
# એક-એક શબ્દ જેમ આવે તેમ પ્રિન્ટ કરો
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)
ખર્ચ (Cost) — આપણે કેટલા રૂપિયા ચૂકવવા પડે?
OpenAI તમને પ્રતિ ટોકન (Per Token) હિસાબથી ચાર્જ કરે છે:
gpt-4o-mini માટે:
In-put (સવાલ માટે): $0.150 પ્રતિ 1 મિલિયન (10 લાખ) ટોકન્સ
Out-put (જવાબ માટે): $0.600 પ્રતિ 1 મિલિયન (10 લાખ) ટોકન્સ
~1000 ટોકન્સ ≈ 750 અંગ્રેજી શબ્દો (ગુજરાતીમાં શબ્દ દીઠ ટોકન વધુ હોઈ શકે)
તમારા કોડમાં ટોકન વપરાશ ચેક કરવા:
# રિસ્પોન્સમાં કેટલા ટોકન વપરાયા?
print(response.usage.prompt_tokens) # ઇનપુટ ટોકન્સ (Input Tokens)
print(response.usage.completion_tokens) # આઉટપુટ ટોકન્સ (Output Tokens)
print(response.usage.total_tokens) # કુલ ટોકન્સ (Total Tokens)
💡 માત્ર $1 (લગભગ 85 રૂપિયા) માં = ટૂંકા ઍવા 6,000+ API કૉલ્સ (
gpt-4o-miniમાટે) થઈ શકે છે — જે બિગિનર્સના પ્રોજેક્ટ્સ માટે ખૂબ સસ્તું (Affordable) છે!
એરર હેન્ડલિંગ (Error Handling)
ક્યારેક સર્વર ડાઉન હોય કે તમારી લિમિટ પૂરી થઈ જાય તો કોડ ક્રૅશ ન થવો જોઈએ:
from openai import OpenAI, RateLimitError, APIError
import time
def safe_api_call(prompt, retries=3):
for attempt in range(retries):
try:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except RateLimitError:
print(f"રેટ લિમિટ આવી ગઈ છે (Rate Limit) — થોડી રાહ જુઓ... ({attempt+1}/{retries})")
time.sleep(60)
except APIError as e:
print(f"API માં કોઈ એરર આવી છે (API Error): {e}")
break
return "એરર: કોઈ જવાબ નથી મળ્યો. (Error: No response found.)"
પ્રોજેક્ટનું બેસ્ટ સ્ટ્રક્ચર (Project Structure) — Production Ready
જ્યારે તમે મોટી એપ બનાવો ત્યારે ફાઇલોને બરાબર ગોઠવવી જરૂરી છે:
my-ai-app/
├── .env # API Key (જે કોઈને બતાવવાની નથી - Git Ignore!)
├── .gitignore
├── requirements.txt # openai, python-dotenv પેકેજિઝ નું લિસ્ટ
├── config.py # સેટિંગ્સ
├── app.py # તમારી મુખ્ય ઍપ્લિકેશન
└── utils/
├── openai_client.py # API ક્લાઈન્ટનું સેટઅપ ફાઈલ
└── prompts.py # પ્રોમ્પ્ટના તૈયાર ઢાંચા
utils/openai_client.py આવી દેખાશે:
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def get_completion(prompt, system="તમે એક મદદરૂપ આસિસ્ટન્ટ છો.", model="gpt-4o-mini"):
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": system},
{"role": "user", "content": prompt}
]
)
return response.choices[0].message.content
ટૂંકો સારાંશ (Summary)
| Step | Action |
|---|---|
| 1 | platform.openai.com પર જઈને API Key મેળવો |
| 2 | ટર્મિનલમાં pip install openai python-dotenv રન કરો |
| 3 | .env ફાઈલ બનાવી તેમાં Key સેવ (Save) કરો |
| 4 | client.chat.completions.create() ફંક્શનને કૉલ કરો |
| 5 | response.choices[0].message.content થી AI નો ફાઈનલ જવાબ મેળવો |
નિષ્કર્ષ
OpenAI API એટલે = ChatGPT નો પાવર, સીધો જ તમારા Python કોડમાં.
બ્રાઉઝરમાં ચાલતી ChatGPT માંથી → હવે તમારી પોતાની AI એપ્લિકેશનમાં ChatGPT — માત્ર 20 લાઈનનો કોડ, એક API Key, અને કામ પૂરું!
સમરાઇઝર (Summarizer), ટ્રાન્સલેટર (Translator), ચેટબોટ (Chatbot), કોડ રિવ્યુઅર (Code Reviewer) ની જેમ જ બીજી અનેક શક્યતાઓ રહેલી છે — તો શું તમારી API Key રેડી છે? 🚀