sodura

Заавар

5 минутад эхлээрэй

Sodura нь OpenAI-тай нийцтэй. Хэрэв та OpenAI SDK ашигладаг бол ердөө хоёр мөрийг өөрчлөхөд л хангалттай: baseURL болон model.

Хурдан эхлэл

1

Нэвтрэх

sodura.ai руу орж Google-ээр нэвтэрнэ үү. Байгууллагаа үүсгэнэ.

2

API түлхүүрээ авах

Хяналтын самбар дээр "New API key" дарна уу. Дахин харагдахгүй тул нэн даруй хуулж аваарай.

3

Орчноо тохируулах

Түлхүүрээ орчиндоо нэмнэ үү:

export SODURA_API_KEY="sk-..."
4

Эхний дуудлагаа хийх

OpenAI SDK-г Sodura API руу чиглүүлнэ үү:

import OpenAI from "openai";

// Initialize the client pointing to the Sodura-AI hardware gateway
const client = new OpenAI({
  apiKey: process.env.SODURA_API_KEY,
  baseURL: "https://api.sodura.ai/v1",
});

async function main() {
  const res = await client.chat.completions.create({
    model: "sodura-ai",
    messages: [
      {
        role: "user",
        content: "Сайн уу?"
      }
    ],
  });

  console.log(res.choices[0].message.content);
}

main();

Ашиглаж болох загварууд

Загвар сонгохын тулд хүсэлтдээ model талбарыг ашиглана уу.

Загварын IDҮзүүлэлтТохиромжтой
sodura-aiЕрөнхий зориулалтҮндсэн · өдөр тутмын ажил
sodura-embeddingsТекст embeddingСемантик хайлт ба RAG
sodura-nanoХөнгөнТун удахгүй
sodura-proХамгийн өндөр чадварТун удахгүй

API endpoint-ууд

Үндсэн URL: https://api.sodura.ai/v1

POST/v1/chat/completionsChat completions — streaming ба streaming бус
POST/v1/embeddingsEmbeddings — вектор дүрслэл үүсгэх
GET/v1/modelsАшиглах боломжтой загваруудын жагсаалт

Баталгаажуулалт

API түлхүүрээ Authorization толгойд Bearer токен болгон дамжуулна уу:

Authorization: Bearer sk-your-api-key

Эсвэл OpenAI-тай нийцтэй аль ч SDK-д api_key байгуулагч параметрийг ашиглаарай — SDK толгойг тань зохицуулна.

curl жишээ

curl https://api.sodura.ai/v1/chat/completions \
  -H "Authorization: Bearer $SODURA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sodura-ai",
    "messages": [
      { "role": "user", "content": "Монгол хэлээр танилцуулна уу." }
    ]
  }'

Хөгжүүлэгчийн онцлогууд

Sodura нь саатлыг багасгах, хариултыг бүтэцжүүлэх, бүрэн агент ажлын урсгал бүтээх дэвшилтэт боломжуудыг дэмждэг.

1. Streaming API хариултууд (хэрэглээний хэмжүүртэй)
Хариултыг токен тус бүрээр дамжуулна. stream_options: {"include_usage": true} тохируулснаар токен зарцуулалтын нарийвчилсан статистик агуулсан эцсийн хэсгийг нэмж өгнө.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

stream = client.chat.completions.create(
    model="sodura-ai",
    messages=[{"role": "user", "content": "Монгол орны тухай 2 өгүүлбэр бичнэ үү."}],
    stream=True,
    stream_options={"include_usage": True}
)

for chunk in stream:
    content = chunk.choices[0].delta.content if chunk.choices else ""
    print(content, end="", flush=True)
2. Стандарт Tool Calling (функц дуудалт)
Локал боломжуудыг бүртгэнэ. Загвар нь локал гүйцэтгэл шаардсан бүтэцтэй JSON аргументыг хэзээ гаргахаа өөрөө шийднэ. Jinja parser нь найдвартай ажиллагааг хангана.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

tools = [{
    "type": "function",
    "function": {
        "name": "get_exchange_rate",
        "description": "USD болон MNT (Төгрөг) хоорондын валютын ханшийг авах.",
        "parameters": {
            "type": "object",
            "properties": {
                "currency": {"type": "string", "description": "Суурь валют, жишээ нь USD"}
            },
            "required": ["currency"]
        }
    }
}]

response = client.chat.completions.create(
    model="sodura-ai",
    messages=[{"role": "user", "content": "100 доллар хэдэн төгрөг болох вэ?"}],
    tools=tools
)
3. Thinking горим (Reasoning тэмдэглэгээ)
enable_thinking параметрийг асаах замаар reasoning_content талбараар дамжуулан загварын төлөвлөлтийн тусгаарлагдсан мөрийг авна.
💡 Санамж: Sodura-AI нь натив reasoning загвар бөгөөд хурд болон токен хэмнэлтийг оновчтой болгох үүднээс default-оор бодолт (thinking) унтраалттай байна. Бодох горимыг ажиллуулахын тулд хүсэлтдээ "enable_thinking": true дамжуулна уу. Мөн max_tokens хэт бага байвал бодолтын tag хаагдахгүй тасрах эрсдэлтэйг анхаарна уу.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

response = client.chat.completions.create(
    model="sodura-ai",
    messages=[{"role": "user", "content": "Яагаад тэнгэр хөх өнгөтэй харагддаг вэ?"}],
    extra_body={
        "enable_thinking": True  # Set to True to enable thinking
    }
)

# Extract reasoning process from the response choice
reasoning = getattr(response.choices[0].message, "reasoning_content", None)
print("Thinking process:", reasoning)

# Extract the final conversational answer
print("Answer:", response.choices[0].message.content)
4. Токен хэмнэсэн Tool Calling (JSON формат)
Бага сааталтай олон удаагийн давталтын хувьд хөнгөн tool тайлбарыг промпт текстдээ шууд оруулж, JSON горимыг идэвхжүүлээрэй.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

response = client.chat.completions.create(
    model="sodura-ai",
    messages=[{"role": "user", "content": "Улаанбаатар хотод өнөөдөр цаг агаар ямар байна вэ?"}],
    response_format={"type": "json_object"}
)
5. Бүтэцтэй гаралт (схемээр баталгаажсан JSON)
Гаралт нь өгөгдлийн сангийн схемтэй яг таарахыг баталгаажуулахын тулд response_format дотор хатуу JSON Schema дамжуулна уу.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

response = client.chat.completions.create(
    model="sodura-ai",
    messages=[{"role": "user", "content": "Дорж бол 28 настай бөгөөд Python чиглэлээр мэргэшсэн."}],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "profile",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "age": {"type": "integer"}
                },
                "required": ["name", "age"]
            },
            "strict": True
        }
    }
)
6. Текст Embeddings API
Вектор хайлт, RAG систем, семантик ижил төстэй байдлыг шалгахад зориулсан өндөр чанартай 1024 хэмжээст семантик векторуудыг үүсгэнэ.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

response = client.embeddings.create(
    model="sodura-embeddings",
    input="Монгол хэл дээрх хиймэл оюун ухаан"
)

print("Vector Dimensions:", len(response.data[0].embedding))
7. Систем промпт / Дүр тохируулах (Custom Personas)
Харилцан ярианы жагсаалтын эхэнд system role бүхий мессеж дамжуулж загварын дүр төрх, системийн зан авир болон хариулах хязгаарлалтыг өөрийнхөөрөө тохируулаарай.
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://api.sodura.ai/v1",
    api_key=os.environ.get("SODURA_API_KEY")
)

response = client.chat.completions.create(
    model="sodura-ai",
    messages=[
        {"role": "system", "content": "Та бол Sodura-ai юм."},
        {"role": "user", "content": "Сайн уу?"}
    ]
)

print(response.choices[0].message.content)

Хязгаарлалт

20Минутад хүсэлт
40,000Минутад токен
128,000Дээд контекст токен

Хязгаарлалт нь байгууллага тус бүрд үйлчилнэ. Илүү өндөр хязгаар авахыг хүсвэл бидэнтэй холбогдоно уу.

Дараагийн алхмууд