نمونه کدها
نصب پکیج + نمونه استفاده با پایه OpenAI
مستندات
قبل از شروع
همهشان از کتابخانهٔ رسمی OpenAI هستند
هیچ SDK اختصاصیای وجود ندارد و لازم هم نیست. در هر پنج نمونه، تنها چیزی که با یک پروژهٔ OpenAI فرق میکند آدرس پایه و کلید است.
هر پنج نمونه دقیقاً یک کار میکنند: یک درخواست chat/completions با یک پیام سیستم و یک پیام کاربر میفرستند و متن پاسخ را چاپ میکنند. سه مقدار زیر را در هرکدام جایگذاری کنید:
| مورد | مقدار | توضیح |
|---|---|---|
| Base URL | https://api-ai.hibanacloud.ir/v1 | در SDKها با نام base_url یا baseURL. |
| API Key | YOUR_API_KEY | کلیدی که در داشبورد ساختهاید. |
| model | gpt-5-nano | یکی از کدهای فهرستشده در صفحهٔ لیست مدلها. |
اگر هنوز کلید ندارید، شروع سریع در چند دقیقه شما را به اولین پاسخ میرساند. برای دریافت پاسخ بهصورت تدریجی، استریم پاسخ (SSE) همین نمونهها را با یک پارامتر اضافه نشان میدهد.
Python
نصب پکیج:
pip install --upgrade openaiنمونه کد:
from openai import OpenAI client = OpenAI( base_url="https://api-ai.hibanacloud.ir/v1", api_key="<API_KEY>") resp = client.chat.completions.create( model="gpt-5-nano", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "سلام! یک لطیفه کوتاه بگو."} ], max_tokens=4096) print(resp.choices[0].message.content)JavaScript (Node)
نصب پکیج:
npm i openai# یاyarn add openaipnpm add openaiنمونه کد (ESM):
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api-ai.hibanacloud.ir/v1", apiKey: "<API_KEY>",}); const resp = await client.chat.completions.create({ model: "gpt-5-nano", messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: "سلام! یک لطیفه کوتاه بگو." } ], max_tokens: 4096}); console.log(resp.choices[0].message.content);C#
نصب پکیج (با dotnet CLI):
dotnet add package OpenAI --version 2.*نمونه کد:
using System.ClientModel;using OpenAI;using OpenAI.Chat; var chat = new ChatClient( model: "gpt-5-nano", credential: new ApiKeyCredential("YOUR_API_KEY"), options: new OpenAIClientOptions { Endpoint = new Uri("https://api-ai.hibanacloud.ir/v1") }); var response = await chat.CompleteChatAsync(new ChatMessage[]{ new SystemChatMessage("You are a helpful assistant."), new UserChatMessage("سلام! چطوری؟")}); Console.WriteLine(response.Value.Content[0].Text);Java
نصب پکیج:
<!-- Maven --><dependency> <groupId>com.openai</groupId> <artifactId>openai-java</artifactId> <version>latest</version></dependency> <!-- Gradle -->implementation 'com.openai:openai-java:latest'نمونه کد:
import com.openai.client.OpenAIClient;import com.openai.client.okhttp.OpenAIOkHttpClient;import com.openai.models.*; OpenAIClient client = OpenAIOkHttpClient.builder() .baseUrl("https://api-ai.hibanacloud.ir/v1") .apiKey("<API_KEY>") .build(); ChatCompletionCreateParams params = ChatCompletionCreateParams.builder() .model("gpt-5-nano") .maxTokens(4096) .addMessage(ChatCompletionMessageParam.ofChatCompletionUserMessageParam( ChatCompletionUserMessageParam.builder() .role(ChatCompletionUserMessageParam.Role.USER) .content(ChatCompletionUserMessageParam.Content.ofTextContent( "سلام! یک لطیفه کوتاه بگو.")) .build() )) .build(); ChatCompletion resp = client.chat().completions().create(params);System.out.println(resp.choices().get(0).message().content());cURL
نمونه کد:
curl --location 'https://api-ai.hibanacloud.ir/v1/chat/completions' \--header 'Authorization: Bearer YOUR_API_KEY' \--header 'Content-Type: application/json' \--data '{ "model": "gpt-5-nano", "messages": [{"role": "user", "content": "Hello!"}] }'cURL سادهترین راه برای جدا کردن «کلید یا شبکه ایراد دارد» از «کد من ایراد دارد» است. اگر این دستور جواب میدهد ولی برنامهٔ شما نه، مشکل در کد کلاینت است؛ اگر این هم خطا میدهد، مدیریت خطاها کد پاسخ را ترجمه میکند.