داشبورد توسعه‌دهنده
پرسش از هوش مصنوعی
پرسش از هوش مصنوعی

کتابخانه‌ها

محیط توسعه خود را برای استفاده از API AvalAI با یک SDK در زبان مورد نظر خود راه‌اندازی کنید.

این صفحه راه‌اندازی محیط توسعه محلی شما برای استفاده از API AvalAI را پوشش می‌دهد. AvalAI از SDK‌های رسمی OpenAI با یک URL پایه سفارشی استفاده می‌کند که به شما امکان می‌دهد از کتابخانه‌های به خوبی نگهداری شده در حین اتصال به سرویس‌های AvalAI استفاده کنید.

ایجاد و صادر کردن یک کلید API

قبل از شروع، یک کلید API در داشبورد ایجاد کنید، که از آن برای دسترسی امن به API استفاده خواهید کرد. کلید را در مکانی امن مانند فایل .zshrc یا فایل متنی دیگری در کامپیوتر خود ذخیره کنید. پس از تولید یک کلید API، آن را به عنوان یک متغیر محیطی در ترمینال خود صادر کنید.

bash
# صادر کردن یک متغیر محیطی در سیستم‌های macOS یا Linux
export AVALAI_API_KEY="aa-YOUR_API_KEY"

powershell:# صادر کردن یک متغیر محیطی در PowerShell
setx AVALAI_API_KEY "aa-YOUR_API_KEY"

مثال‌های زیر AVALAI_API_KEY را صریحا به کلاینت می‌دهند و URL پایه سفارشی AvalAI را روی هر کلاینت تنظیم می‌کنند.

گزینه‌های SDK

AvalAI از سه رویکرد برای دسترسی به مدل‌های هوش مصنوعی پشتیبانی می‌کند:

  1. SDK های سازگار با OpenAI (رویکرد یکپارچه) - از SDK های OpenAI برای دسترسی به تمام مدل‌ها از چندین ارائه دهنده با نحو یکسان استفاده کنید
  2. SDK های رسمی Anthropic (رویکرد بومی) - استفاده از SDK های رسمی Anthropic برای دسترسی به مدل‌های چندین ارائه دهنده (Anthropic، OpenAI، AWS Bedrock، Vertex AI و Gemini) با نحو بومی
  3. SDK Google GenAI (رویکرد بومی) - استفاده از SDK رسمی GenAI گوگل برای دسترسی بومی به مدل‌های Gemini با طرحواره API بومی گوگل

انتخاب بین Responses و Chat Completions

برای هر دو مسیر /v1/responses و /v1/chat/completions می‌توانید SDKهای رسمی OpenAI را با baseURL سفارشی AvalAI استفاده کنید:

  • برای گردش‌کارهای جدید متنی، استدلالی و ابزارمحور با Responses شروع کنید وقتی مدل انتخابی پشتیبانی می‌کند. input و در صورت نیاز instructions ارسال کنید و متن نهایی را از response.output_text بخوانید.
  • Chat Completions را برای ادغام‌های موجود نگه دارید وقتی از قبل messages دارید، فریم‌ورک شما chat completions می‌خواهد یا مدل انتخابی فقط سازگاری چت دارد.
  • مهاجرت را مرحله‌ای انجام دهید: messages ساده را به input منتقل کنید، system prompt را به instructions ببرید و choices[0].message.content را با output_text جایگزین کنید.

برای مسیر کامل مهاجرت، Responses در مقابل Chat Completions را ببینید.

نکته‌های به‌روز نگه داشتن SDK

SDKهای OpenAI هم‌زمان با اضافه شدن قابلیت‌های تازه به Responses API سریع تغییر می‌کنند. در production نسخه‌ها را pin کنید، قبل از ارتقای major changelog هر SDK را بخوانید، و برای routeهای تازه AvalAI یا پارامترهای provider-specific که هنوز در SDK expose نشده‌اند یک fallback خام HTTP نگه دارید. هرجا نمونه SDK از OPENAI_API_KEY نام می‌برد، در AvalAI از AVALAI_API_KEY استفاده کنید و baseURL / base_url را روی https://api.avalai.ir/v1 بگذارید.

چک‌لیست SDK برای production

راهنمای کتابخانه‌ها و مرجع API OpenAI نشان می‌دهد انتخاب SDK فقط یک بخش از integration عملیاتی است. هنگام تطبیق نمونه‌های SDK برای AvalAI این قواعد را رعایت کنید:

  • لایه کلاینت مناسب را انتخاب کنید: برای فراخوانی مستقیم /v1/responses، /v1/chat/completions، صوت، تصویر، embeddings و files از SDKهای رسمی OpenAI استفاده کنید؛ وقتی route تازه AvalAI یا پارامتر native ارائه‌دهنده هنوز در SDK expose نشده، fallback خام HTTP داشته باشید.
  • secretها را سمت سرور نگه دارید: هرگز AVALAI_API_KEY را در کد مرورگر، موبایل یا repository عمومی قرار ندهید. اگر flow مرورگر به مدل نیاز دارد، آن را از backend خود proxy کنید.
  • trace IDها را log کنید: مقدار x-request-id AvalAI را از response header بگیرید و اگر trace ID داخلی دارید، X-Client-Request-Id خودتان را هم ارسال کنید. این مقدار باید ASCII، یکتا برای هر درخواست، و مطابق محدودیت‌های هدرهای پاسخ کوتاه باشد.
  • سطح‌های SDK را جدا نگه دارید: نمونه‌های سازگار با OpenAI معمولا به https://api.avalai.ir/v1 نیاز دارند؛ نمونه‌های native Anthropic و Google در همین صفحه عمدا از https://api.avalai.ir بدون /v1 استفاده می‌کنند.
  • retry را آگاهانه مدیریت کنید: برای خطاهای موقت شبکه می‌توانید از رفتار retry SDK کمک بگیرید، اما برای tool call، پرداخت، upload فایل و jobهای طولانی همچنان idempotency، backoff و وضعیت خطای قابل‌مشاهده برای کاربر پیاده کنید.
  • Agents SDK را راهنمای orchestration بدانید: OpenAI Agents SDK را برای orchestration ابزارها، handoff، guardrail، tracing و sandbox execution پیشنهاد می‌کند. در AvalAI فقط وقتی از آن استفاده کنید که model client، base URL و قابلیت‌های ابزار route انتخابی را verify کرده‌اید.

Timeoutها و درخواست‌های طولانی

راهنمای SDK OpenAI یادآوری می‌کند SDKهای رسمی timeout درخواست و retry خودکار برای بعضی خطاهای گذرای timeout دارند. در AvalAI، وقتی یک درخواست می‌تواند بیشتر از یک turn چت معمولی طول بکشد، timeout را صریح تنظیم کنید: سطح سرویس flex، سندهای طولانی، workflowهای شبیه deep research، ورودی فایل بزرگ، ابزارهای کند یا jobهای پس‌زمینه app-managed.

timeout بلندتر را فقط برای workloadهایی بگذارید که واقعا می‌توانند منتظر بمانند. برای UX تعاملی، streaming، پیام پیشرفت، max_output_tokens کوتاه‌تر، reasoning.effort پایین‌تر یا job سمت برنامه که کاربر بتواند بعدا ادامه دهد را ترجیح دهید.

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
    timeout=900.0,  # ۱۵ دقیقه برای درخواست‌های طولانی
)

response = client.with_options(timeout=900.0).responses.create(
    model="gpt-5.5",
    input="Analyze this long report and return a concise risk summary...",
    max_output_tokens=800,
)

print(response.output_text)
javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AVALAI_API_KEY,
  baseURL: "https://api.avalai.ir/v1",
  timeout: 900_000, // ۱۵ دقیقه برای درخواست‌های طولانی
});

const response = await client.responses.create(
  {
    model: "gpt-5.5",
    input: "Analyze this long report and return a concise risk summary...",
    max_output_tokens: 800,
  },
  { timeout: 900_000 }
);

console.log(response.output_text);

هنگام اضافه کردن retry دور فراخوانی‌های SDK، فقط operationهای idempotent را خودکار retry کنید. برای write، پرداخت، upload فایل، پردازش webhook یا اجرای ابزارهایی که side effect دارند، ابتدا idempotency key یا job ID ذخیره کنید و سپس از state برنامه retry کنید، نه با replay کورکورانه همان action.

نصب یک SDK رسمی

به زبان خود بروید:

Javascript

برای استفاده از API AvalAI در محیط‌های JavaScript سمت سرور مانند Node.js، Deno، یا Bun، می‌توانید از SDK رسمی OpenAI برای TypeScript و JavaScript استفاده کنید. با نصب SDK با استفاده از npm یا مدیر بسته مورد نظر خود شروع کنید:

bash
npm install openai

با نصب SDK OpenAI، یک فایل به نام example.mjs ایجاد کنید و کد نمونه را در آن کپی کنید:

javascript
import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.AVALAI_API_KEY,
  baseURL: "https://api.avalai.ir/v1", // نقطه پایانی API AvalAI
});

const response = await client.responses.create({
  model: "gpt-5.5",
  input: "Write a one-sentence bedtime story about a unicorn.",
});

console.log(response.output_text);

کد را با node example.mjs (یا دستور معادل برای Deno یا Bun) اجرا کنید. در چند لحظه، خروجی درخواست API خود را خواهید دید.

Python

برای استفاده از API AvalAI در Python، می‌توانید از SDK رسمی OpenAI برای Python استفاده کنید. با نصب SDK با استفاده از pip شروع کنید:

bash
pip install openai

با نصب SDK OpenAI، یک فایل به نام example.py ایجاد کنید و کد نمونه را در آن کپی کنید:

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir/v1",
)

response = client.responses.create(
    model="gpt-5.5", input="Write a one-sentence bedtime story about a unicorn."
)

print(response.output_text)

کد را با python example.py اجرا کنید. در چند لحظه، خروجی درخواست API خود را خواهید دید.

.NET

با همکاری با مایکروسافت، OpenAI یک کلاینت API رسمی پشتیبانی شده برای C# ارائه می‌دهد که می‌تواند با AvalAI استفاده شود. می‌توانید آن را با .NET CLI از NuGet نصب کنید.

bash
dotnet add package OpenAI

یک درخواست API ساده به تکمیل چت به این شکل خواهد بود:

csharp
using OpenAI.Chat;

ChatClient client = new(
 model: "gpt-5.5",
 apiKey: Environment.GetEnvironmentVariable("AVALAI_API_KEY"),
 endpoint: new Uri("https://api.avalai.ir/v1") // نقطه پایانی API AvalAI
);

ChatCompletion completion = client.CompleteChat("Say 'this is a test.'");

Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");

نسخه Responses API:

csharp
using OpenAI.Responses;

OpenAIResponseClient client = new(
 model: "gpt-5.5",
 apiKey: Environment.GetEnvironmentVariable("AVALAI_API_KEY"),
 endpoint: new Uri("https://api.avalai.ir/v1") // نقطه پایانی API AvalAI
);

OpenAIResponse response = client.CreateResponse("Say 'this is a test.'");

Console.WriteLine($"[ASSISTANT]: {response.GetOutputText()}");

Java

OpenAI یک کمک‌کننده API برای زبان برنامه‌نویسی Java ارائه می‌دهد که می‌تواند با AvalAI استفاده شود. می‌توانید وابستگی Maven را با استفاده از پیکربندی زیر اضافه کنید:

xml
<dependency>
 <groupId>com.openai</groupId>
 <artifactId>openai-java</artifactId>
 <version>0.31.0</version>
</dependency>

یک درخواست API ساده به تکمیل چت به این شکل خواهد بود:

java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatCompletion;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatModel;

// ایجاد یک کلاینت سفارشی با URL پایه AvalAI
OpenAIClient client = OpenAIOkHttpClient.builder()
 .baseUrl("https://api.avalai.ir/v1") // نقطه پایانی API AvalAI
 .apiKey(System.getenv("AVALAI_API_KEY"))
 .build();

ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
 .addUserMessage("Say this is a test")
 .model(ChatModel.O3_MINI)
 .build();
ChatCompletion chatCompletion = client.chat().completions().create(params);

نسخه Responses API:

java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;

OpenAIClient client = OpenAIOkHttpClient.builder()
 .baseUrl("https://api.avalai.ir/v1") // نقطه پایانی API AvalAI
 .apiKey(System.getenv("AVALAI_API_KEY"))
 .build();

ResponseCreateParams params = ResponseCreateParams.builder()
 .input("Say this is a test")
 .model("gpt-5.5")
 .build();

Response response = client.responses().create(params);
System.out.println(response.outputText());

Go

OpenAI یک کمک‌کننده API برای زبان برنامه‌نویسی Go ارائه می‌دهد که می‌تواند با AvalAI استفاده شود. می‌توانید کتابخانه را با استفاده از کد زیر وارد کنید:

go
import (
	"github.com/openai/openai-go" // به عنوان openai وارد شده است
)

یک درخواست API ساده به تکمیل چت به این شکل خواهد بود:

go
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	client := openai.NewClient(
		option.WithAPIKey(os.Getenv("AVALAI_API_KEY")),
		option.WithBaseURL("https://api.avalai.ir/v1"), // نقطه پایانی API AvalAI
	)
	chatCompletion, err := client.Chat.Completions.New(
		context.TODO(), openai.ChatCompletionNewParams{
			Messages: openai.F(
				[]openai.ChatCompletionMessageParamUnion{
					openai.UserMessage("Say this is a test"),
				},
			),
			Model: openai.F(openai.ChatModel("gpt-5.5")),
		},
	)

	if err != nil {
		panic(err.Error())
	}

	fmt.Println(chatCompletion.Choices[0].Message.Content)
}

نسخه Responses API:

go
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/openai/openai-go/v3"
	"github.com/openai/openai-go/v3/option"
	"github.com/openai/openai-go/v3/responses"
)

func main() {
	client := openai.NewClient(
		option.WithAPIKey(os.Getenv("AVALAI_API_KEY")),
		option.WithBaseURL("https://api.avalai.ir/v1"), // نقطه پایانی API AvalAI
	)
	resp, err := client.Responses.New(context.TODO(), openai.ResponseNewParams{
		Model: "gpt-5.5",
		Input: responses.ResponseNewParamsInputUnion{
			OfString: openai.String("Say this is a test"),
		},
	})
	if err != nil {
		panic(err.Error())
	}

	fmt.Println(resp.OutputText())
}

Ruby

OpenAI یک SDK رسمی برای Ruby ارائه می‌دهد. در AvalAI فقط وقتی از آن استفاده کنید که نسخه نصب‌شده SDK از URL پایه سفارشی پشتیبانی کند؛ در غیر این صورت از fallback خام HTTP در بخش CLI استفاده کنید.

SDK را به برنامه خود اضافه کنید:

ruby
gem "openai"

نسخه Responses API:

ruby
require "openai"

openai = OpenAI::Client.new(
  api_key: ENV.fetch("AVALAI_API_KEY"),
  base_url: "https://api.avalai.ir/v1"
)

response = openai.responses.create(
  model: "gpt-5.5",
  input: "Write a one-sentence bedtime story about a unicorn."
)

puts(response.output_text)

OpenAI CLI

CLI OpenAI برای گردش‌کارهای تکرارشونده در ترمینال مفید است، اما ممکن است به‌صورت پیش‌فرض API میزبانی‌شده OpenAI را هدف بگیرد مگر اینکه نسخه نصب‌شده شما تنظیم URL پایه سفارشی داشته باشد. اگر CLI شما از OPENAI_BASE_URL پشتیبانی می‌کند، آن را صریح به AvalAI وصل کنید:

bash
# اگر نسخه نصب‌شده openai CLI از OPENAI_BASE_URL پشتیبانی می‌کند، آن را به AvalAI وصل کنید.
OPENAI_API_KEY="$AVALAI_API_KEY" \
  OPENAI_BASE_URL="https://api.avalai.ir/v1" \
  openai responses create \
  --model gpt-5.5 \
  --input "Write a one-sentence bedtime story about a unicorn." \
  --format yaml \
  --transform 'output.#(type=="message").content.0.text'

برای scriptهای تکرارشونده که متن assistant، استخراج JSON یا رکوردهای یک‌خطی برای ابزارهای shell می‌خواهند از --format، --transform و request bodyهای YAML استفاده کنید. فایل‌های تولیدی مانند project.json، .env، file IDهای آپلودشده و response خام API را وارد Git نکنید، چون workflowهای CLI اغلب secret یا داده مشتری را روی دیسک می‌نویسند.

اگر نسخه CLI شما OPENAI_BASE_URL را رعایت نمی‌کند، یا route تازه AvalAI را قبل از اضافه شدن flagهای CLI تست می‌کنید، HTTP خام را ترجیح دهید چون endpoint و کلید API در آن صریح است:

bash
curl "https://api.avalai.ir/v1/responses" \
  -H "Authorization: Bearer $AVALAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "input": "Write a one-sentence bedtime story about a unicorn."
  }'

از این fallback برای تست endpointهای تازه، عیب‌یابی رفتار SDK یا ساختن script با jq استفاده کنید. اگر مستقیما از CLI تولیدشده openai استفاده می‌کنید، ابتدا یک بررسی بی‌خطر /v1/models یا یک درخواست کوتاه /v1/responses اجرا کنید تا مطمئن شوید AVALAI_API_KEY و URL پایه AvalAI واقعا اعمال شده‌اند.

SDK های رسمی Anthropic

AvalAI اکنون از SDK های رسمی Anthropic پشتیبانی می‌کند و به شما امکان استفاده از کتابخانه‌های کلاینت بومی Anthropic با نحو و ویژگی‌های آشنا را می‌دهد در حالی که از طریق سیستم API یکپارچه AvalAI به مدل‌ها دسترسی دارید. از ژوئن ۲۰۲۵، SDK Anthropic می‌تواند برای دسترسی به مدل‌ها از چندین ارائه دهنده، نه فقط مدل‌های Claude، استفاده شود.

پشتیبانی از چندین ارائه دهنده

SDK Anthropic اکنون می‌تواند برای دسترسی به مدل‌های چت از ارائه‌دهندگان زیر استفاده شود:

  • OpenAI
  • Anthropic
  • AWS Bedrock
  • Vertex AI
  • Gemini

هر مدل چت از این ارائه‌دهندگان که از نقطه پایانی تکمیل چت پشتیبانی می‌کند، می‌تواند از طریق SDK رسمی Anthropic و نقطه پایانی "v1/messages" در ساختار API Anthropic استفاده شود.

Python

SDK رسمی Anthropic Python را نصب کنید:

bash
pip install anthropic

کلاینت را برای استفاده از نقطه پایانی AvalAI پیکربندی کنید:

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir",  # نقطه پایانی API AvalAI بدون /v1
)

# استفاده از مدل Claude
message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "سلام، کلود"}],
)
print(message.content)

# استفاده از مدل OpenAI از طریق SDK Anthropic
message = client.messages.create(
    model="gpt-5.5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "سلام، gpt-5.5!"}],
)
print(message.content)

# استفاده از مدل Gemini از طریق SDK Anthropic
message = client.messages.create(
    model="gemini-2.5-pro",
    max_tokens=1024,
    messages=[{"role": "user", "content": "سلام، Gemini!"}],
)
print(message.content)

TypeScript/JavaScript

SDK رسمی Anthropic TypeScript را نصب کنید:

bash
npm install @anthropic-ai/sdk

کلاینت را پیکربندی کنید:

javascript
import Anthropic from "@anthropic-ai/sdk";

const anthropic = new Anthropic({
  apiKey: process.env.AVALAI_API_KEY,
  baseURL: "https://api.avalai.ir", // نقطه پایانی API AvalAI بدون /v1
});

// استفاده از مدل Claude
const claudeMsg = await anthropic.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "سلام، کلود" }],
});
console.log(claudeMsg);

// استفاده از مدل OpenAI از طریق SDK Anthropic
const openaiMsg = await anthropic.messages.create({
  model: "gpt-5.5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "سلام، gpt-5.5!" }],
});
console.log(openaiMsg);

// استفاده از مدل Vertex AI از طریق SDK Anthropic
const vertexMsg = await anthropic.messages.create({
  model: "gemini-2.5-pro",
  max_tokens: 1024,
  messages: [{ role: "user", content: "سلام، Gemini!" }],
});
console.log(vertexMsg);

Go

SDK رسمی Anthropic Go را نصب کنید:

bash
go get github.com/anthropics/anthropic-sdk-go

کلاینت را پیکربندی کنید:

go
package main

import (
	"context"
	"fmt"
	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
	"os"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey(os.Getenv("AVALAI_API_KEY")),
		option.WithBaseURL("https://api.avalai.ir"), // نقطه پایانی AvalAI بدون /v1
	)

	message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
		Model:     anthropic.F(anthropic.ModelClaudeSonnet4_0),
		MaxTokens: anthropic.F(int64(1024)),
		Messages: anthropic.F([]anthropic.MessageParam{
			anthropic.NewUserMessage(anthropic.NewTextBlock("سلام، کلود")),
		}),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", message.Content)
}

Ruby

gem رسمی Anthropic Ruby را نصب کنید:

bash
gem install anthropic

کلاینت را پیکربندی کنید:

ruby
require "bundler/setup"
require "anthropic"

anthropic = Anthropic::Client.new(
    api_key: ENV.fetch("AVALAI_API_KEY"),
    base_url: "https://api.avalai.ir" # نقطه پایانی AvalAI بدون /v1
)

message = anthropic.messages.create(
    max_tokens: 1024,
    messages: [{
            role: "user",
            content: "سلام، کلود"
        }
    ],
    model: "claude-sonnet-4-6"
)

puts(message.content)

ویژگی‌های بتا

تمام SDK های Anthropic از فضای نام بتا برای ویژگی‌های آزمایشی پشتیبانی می‌کنند:

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["AVALAI_API_KEY"],
    base_url="https://api.avalai.ir",  # نقطه پایانی AvalAI بدون /v1
)

message = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "سلام، کلود"}],
    betas=["beta-feature-name"],
)
print(message.content)

مدل‌های موجود

هنگام استفاده از SDK های Anthropic با AvalAI، می‌توانید به مدل‌هایی از چندین ارائه دهنده دسترسی داشته باشید:

مدل‌های Claude

دسترسی در سطح کاربری ۱ و بالاتر

  • Claude Opus 4 - anthropic.claude-opus-4-20250514-v1:0
  • Claude Sonnet 4 - anthropic.claude-sonnet-4-20250514-v1:0
  • Claude 3.7 Sonnet - claude-sonnet-4-6
  • Claude 3.5 Sonnet - claude-sonnet-4-6
  • Claude 3.5 Haiku - claude-haiku-4-5

مدل‌های سایر ارائه‌دهندگان

همچنین می‌توانید به مدل‌هایی از این ارائه‌دهندگان دسترسی داشته باشید:

  • OpenAI (مانند gpt-5.5، gpt-5.3-codex، gpt-5-mini)
  • AWS Bedrock مدل‌ها
  • Vertex AI مدل‌ها
  • Gemini (مانند gemini-3.5-flash، gemini-3.1-pro-preview)

برای فهرست کامل، مستندات مدل‌های ما را ببینید.

SDK Google GenAI

AvalAI اکنون از SDK رسمی GenAI گوگل برای دسترسی بومی به مدل‌های Gemini با استفاده از طرحواره API بومی گوگل و نقاط پایانی آن پشتیبانی می‌کند.

JavaScript/TypeScript

SDK Google GenAI را نصب کنید:

bash
npm install @google/genai

کلاینت را برای استفاده از نقطه پایانی AvalAI پیکربندی کنید:

javascript
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({
	apiKey: process.env.AVALAI_API_KEY,
	httpOptions: {"apiVersion": "v1beta", "baseUrl": "https://api.avalai.ir"}
});

async function main() {
	const response = await ai.models.generateContent({
		model: "gemini-2.5-flash",
		contents: "خلاصه‌ای از اصول کلیدی یادگیری ماشین بنویسید.",
	});
	console.log(response.text);
}

await main();

Python

SDK Google GenAI را نصب کنید:

bash
pip install google-generativeai

کلاینت را برای استفاده از نقطه پایانی AvalAI پیکربندی کنید:

python
import os
from google import genai
from google.genai.types import ContentDict, PartDict

# راه‌اندازی کلاینت با نقطه پایانی AvalAI
client = genai.Client(
    api_key=os.environ["AVALAI_API_KEY"],
    http_options={"base_url": "https://api.avalai.ir"},  # توجه: بدون پسوند /v1
)

# تولید محتوا با استفاده از API بومی
contents = ContentDict(
    parts=[PartDict(text="داستان کوتاهی درباره هوش مصنوعی بنویس")], role="user"
)

response = await client.agenerate_content(
    contents=contents, model="gemini-2.5-flash", max_tokens=500
)

print(response)

پشتیبانی از پاسخ جریانی

python
# تولید جریانی
response = await client.agenerate_content_stream(
    contents=contents, model="gemini-2.5-flash", max_tokens=500
)

async for chunk in response:
    print(chunk)

ویژگی‌های کلیدی

  • طرحواره API بومی: دسترسی مستقیم با استفاده از نقاط پایانی generateContent و streamGenerateContent گوگل
  • احراز هویت انعطاف‌پذیر: پشتیبانی از هر دو هدر Authorization: Bearer و x-goog-api-key
  • پشتیبانی کامل از جریان: قابلیت‌های جریان بومی
  • پشتیبانی چندوجهی: پشتیبانی بومی از ورودی‌های متن، تصویر، صدا و ویدیو

محدودیت‌های مهم

  • فقط مدل‌های Gemini: این SDK منحصرا از مدل‌های Gemini پشتیبانی می‌کند
  • URL پایه: هنگام پیکربندی SDK از https://api.avalai.ir (بدون /v1) استفاده کنید
  • نقاط پایانی v1beta: از فرمت نقطه پایانی /v1beta/models/{model}:generateContent استفاده می‌کند

برای مستندات کامل، مرجع API v1beta را ببینید.

کتابخانه‌های Azure OpenAI

تیم Azure مایکروسافت کتابخانه‌هایی را نگهداری می‌کند که هم با API OpenAI و هم با سرویس‌های Azure OpenAI سازگار هستند. این کتابخانه‌ها همچنین می‌توانند با مشخص کردن نقطه پایانی سفارشی با AvalAI پیکربندی شوند. مستندات کتابخانه زیر را بخوانید تا یاد بگیرید چگونه می‌توانید از آنها با API AvalAI استفاده کنید.

کتابخانه‌های جامعه

کتابخانه‌های زیر توسط جامعه گسترده توسعه‌دهندگان برای استفاده با API OpenAI ساخته و نگهداری می‌شوند. بسیاری از اینها را می‌توان با مشخص کردن URL پایه به عنوان https://api.avalai.ir/v1 برای کار با AvalAI پیکربندی کرد. همچنین می‌توانید مخزن مشخصات OpenAPI OpenAI را در GitHub مشاهده کنید تا به‌روزرسانی‌های به موقع را هنگام تغییر API دریافت کنید.

لطفا توجه داشته باشید که AvalAI صحت یا امنیت این پروژه‌ها را تایید نمی‌کند. از آنها با مسئولیت خودتان استفاده کنید!

C# / .NET

C++

Clojure

Crystal

Dart/Flutter

Delphi

Elixir

Go

Java

Julia

Kotlin

Node.js

PHP

Python

R

Ruby

Rust

Scala

Swift

Unity

Unreal Engine

سایر مخازن مفید

  • tiktoken - شمارش توکن‌ها
  • simple-evals - کتابخانه ارزیابی ساده
  • mle-bench - کتابخانه برای ارزیابی عامل‌های مهندس یادگیری ماشین
  • gym - کتابخانه یادگیری تقویتی
  • swarm - مخزن آموزشی ارکستراسیون

منابع مرتبط