API ها و کلید ها
Type: Build
Languages: Python, TypeScript
Prerequisites: Phase 0, Lesson 01
Time: ~30 minutes
اهداف یادگیری
- کلید های API را با استفاده از متغیرهای محیط امن ذخیره کنید و
.envفایل ها - با استفاده از هر دو SDK Anthropic Python و HTTP خام یک تماس API LLM را انجام دهید
- مقایسه فرمت های درخواست/پاسخ HTTP مبتنی بر SDK و خام برای دیبگ
- شناسایی و مدیریت خطاهای رایج API از جمله محدودیت های تأیید هویت و نرخ
مشکل
از مرحله 11 شروع می کنید، شما API های LLM (Anthropic، OpenAI، Google) را می خوانید. در مرحله 13-16 شما عوامل را ایجاد می کنید که از این API ها در حلقه ها استفاده می کنند. شما باید بدانید که کلید های API چگونه کار می کنند، چگونه آنها را به طور ایمن ذخیره کنید و چگونه اولین تماس API خود را انجام دهید.
مفهوم
sequenceDiagram
participant C as Your Code
participant S as API Server
C->>S: HTTP Request (with API key)
S->>C: HTTP Response (JSON)هر تماس API:
- یک نقطه پایان (URL)
- کلید API (اعتماد)
- یک سازمان درخواست (چه می خواهید)
- یک بدن پاسخ (چه چیزی را به شما باز می دهد)
آن را بسازید
مرحله 1: کلید های API را به صورت ایمن ذخیره کنید
هرگز کلید API رو در کد نذاريد. از متغيرات محیط استفاده کنيد.
bashexport ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."یا از یک.envفایل (به آن اضافه کنید).gitignore):
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...مرحله 2: اولین تماس API (Python)
pythonimport os
import anthropic
client = anthropic.Anthropic()
MODEL = os.environ.get("LLM_MODEL", "claude-sonnet-5")
response = client.messages.create(
model=MODEL,
max_tokens=256,
messages=[{"role": "user", "content": "What is a neural network in one sentence?"}]
)
print(response.content[0].text)LLM_MODELاینترنتی که در آن به عنوان یک سیستم عامل جدید شناخته می شود، به عنوان یک سیستم عامل جدید و یک سیستم عامل جدید شناخته می شود.
مرحله 3: اولین تماس API (TypeScript)
typescriptimport Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const MODEL = process.env.LLM_MODEL ?? "claude-sonnet-5";
const response = await client.messages.create({
model: MODEL,
max_tokens: 256,
messages: [{ role: "user", content: "What is a neural network in one sentence?" }],
});
console.log(response.content[0].text);مرحله 4: HTTP خام (بدون SDK)
pythonimport os
import urllib.request
import json
url = "https://api.anthropic.com/v1/messages"
headers = {
"Content-Type": "application/json",
"x-api-key": os.environ["ANTHROPIC_API_KEY"],
"anthropic-version": "2023-06-01",
}
body = json.dumps({
"model": os.environ.get("LLM_MODEL", "claude-sonnet-5"),
"max_tokens": 256,
"messages": [{"role": "user", "content": "What is a neural network in one sentence?"}],
}).encode()
req = urllib.request.Request(url, data=body, headers=headers, method="POST")
with urllib.request.urlopen(req) as resp:
result = json.loads(resp.read())
print(result["content"][0]["text"])این کاری است که SDK ها در زیر هود انجام می دهند. درک تماس HTTP خام هنگام دیبگینگ کمک می کند.
ازش استفاده کن
براي اين دوره:
| API | When you need it | Free tier |
|---|---|---|
| Anthropic (Claude) | Phases 11-16 (agents, tools) | $5 credit on signup |
| OpenAI | Phase 11 (comparison) | $5 credit on signup |
| Hugging Face | Phases 4-10 (models, datasets) | Free |
الان به همهشون نياز ندارين، وقتي که درس لازم باشه، آماده کنين
-باده
این درس نتیجه می دهد:
outputs/prompt-api-troubleshooter.md- تشخیص خطاهای رایج API
تمرینات
- يه کلید API Anthropic رو بدست بيار و اولين تماس API رو انجام بدي
- نسخه خام HTTP را امتحان کنید و فرمت پاسخ را با نسخه SDK مقایسه کنید
- با استفاده عمدا از کلید API اشتباه و خواندن پیام خطا
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| API key | "Password for the API" | A unique string that identifies your account and authorizes requests |
| Rate limit | "They're throttling me" | Maximum requests per minute/hour to prevent abuse and ensure fair usage |
| Token | "A word" (in API context) | A billing unit: input and output tokens are counted and charged separately |
| Streaming | "Real-time responses" | Getting the response word by word instead of waiting for the full response |
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.