Запросы по API через Python [BETA]

Запросы по API через Python [BETA]


Для работы вам понадобится:

1. Base URL - https://api.gptlama.ru/v1
2. Токен (API KEY) - сгенерируйте его в Lama AI GPT API


Список доступных моделей:
o3
o3-mini
gpt-4.1
gpt-4.1-mini
gpt-4o
o4-mini


None Stream режим(sync/async):

from openai import OpenAI

client = OpenAI(
    api_key="xxxxx", # здесь должен быть токен
    base_url="https://api.gptlama.ru/v1"
)

# --- список моделей ---
models = client.models.list()                  # ChatModelsPage
print("RAW models page:\n", models.model_dump())   # или .model_dump_json()

resp = client.chat.completions.create(
    model="o4-mini",
    stream=False,
    messages=[
        {"role": "system", "content": "Ты крутой ИИ ассистент"},
        {"role": "user",   "content": "Расскажи длинную историю о Dark Souls 2"}
    ],
)

print("\nFULL RESPONSE:\n", resp.model_dump())

print("\nASSISTANT SAYS:\n", resp.choices[0].message.content)


None Stream Async:

import asyncio
from openai import AsyncOpenAI


API_KEY = "xxxxx"                       # здесь должен быть токен
BASE_URL = "https://api.gptlama.ru/v1"  # корневой URL (с /v1)


async def main() -> None:

    async with AsyncOpenAI(api_key=API_KEY, base_url=BASE_URL) as client:

        # ─────────── 1. Список моделей ───────────
        models_page = await client.models.list()        # ChatModelsPage
        print("=== MODELS (raw) ===")
        print(models_page.model_dump())                 # dict с ответом

        # ─────────── 2. Обычное завершение ───────────
        resp = await client.chat.completions.create(
            model="o4-mini",
            stream=False,                               # <-- ключевой параметр
            messages=[
                {"role": "system", "content": "Ты крутой ИИ-ассистент"},
                {"role": "user",   "content": "Расскажи длинную историю о Dark Souls 2"}
            ],
        )

        print("\n=== FULL RESPONSE ===")
        print(resp.model_dump())                        # весь JSON для отладки

        # Сам текст ассистента
        answer = resp.choices[0].message.content
        print("\n=== ASSISTANT SAYS ===")
        print(answer)


if __name__ == "__main__":
    asyncio.run(main())


Stream режим(sync/async):

from openai import OpenAI

client = OpenAI(
    api_key="xxxxx", # здесь должен быть токен
    base_url="https://api.gptlama.ru/v1"
)

# ─────────── список моделей ───────────
print(client.models.list())          # cписок моделей

# ─────────── потоковая генерация ───────
stream = client.chat.completions.create(
    model="o4-mini",
    stream=True,                                  
    messages=[
        {"role": "system", "content": "Ты крутой ИИ ассистент"},
        {"role": "user",   "content": "Расскажи длинную историю о Dark Souls 2"}
    ],
)

# stream — это генератор ChatCompletionChunk
for chunk in stream:
    delta = chunk.choices[0].delta                 # каждый новый «кусочек»
    if delta.content:                              # некоторые чанки могут не нести текст
        print(delta.content, end="", flush=True)

print("\n--- поток завершён ---")


Аналогичный запрос, но в асинхронном варианте:

import asyncio
from openai import AsyncOpenAI


async def main() -> None:
    async with AsyncOpenAI(
        api_key="xxxxx",                 # здесь должен быть токен
        base_url="https://api.gptlama.ru/v1"   # корневой URL
    ) as client:

        # 1. Список моделей
        models_resp = await client.models.list()
        print(models_resp.model_dump())        # dict-форма ответа

        # 2. Потоковая генерация
        stream = await client.chat.completions.create(
            model="o4-mini",
            stream=True,
            messages=[
                {"role": "system", "content": "Ты крутой ИИ ассистент"},
                {"role": "user",   "content": "Расскажи длинную историю о dark souls 2"}
            ],
        )

        async for chunk in stream:
            delta = chunk.choices[0].delta
            if delta.content:      
                print(delta.content, end="", flush=True)

        print("\n--- поток завершён ---")


if __name__ == "__main__":
    asyncio.run(main())

Ссылки на наши ресурсы:

Канал Lama AI
Оплата Lama API
Техническая поддержка и вопросы
Спасибо за внимание

Report Page