Облачная платформаEvolution

Диалоговые запросы (режим чата)

Эта статья полезна?

В инструкции описано, как создавать диалоги с

, где каждый новый запрос учитывает предыдущие сообщения. В отличие от одиночных запросов, режим чата поддерживает контекст беседы.

При работе с большими языковыми моделями ключевой особенностью является возможность ведения диалога с сохранением контекста. История сообщений позволяет AI-модели понимать предыдущие вопросы и ответы, что делает общение более естественным и продуктивным.

Используйте чат с историей для создания интерактивных приложений, которые сохраняют контекст диалога и обеспечивают осмысленное общение с AI-моделями.

Для создания чата с историей:

  1. Сохраните сгенерированный API-ключ в переменную окружения API_KEY.

  2. Установите библиотеку OpenAI:

    pip install openai
  3. Инициализируйте клиента OpenAI:

    import os
    from openai import OpenAI
    api_key = os.environ["API_KEY"]
    client = OpenAI(
    base_url="https://foundation-models.api.cloud.ru/v1",
    api_key=api_key
    )
  4. Создайте класс ChatSession для управления историей диалога:

    class ChatSession:
    def __init__(self, client, model="openai/gpt-oss-120b"):
    self.client = client
    self.model = model
    self.messages = []
    def add_user_message(self, content):
    """Добавить сообщение пользователя в историю"""
    self.messages.append({
    "role": "user",
    "content": content
    })
    def add_assistant_message(self, content):
    """Добавить ответ модели в историю"""
    self.messages.append({
    "role": "assistant",
    "content": content
    })
    def send_message(self, user_input):
    self.add_user_message(user_input)
    response = self.client.chat.completions.create(
    model=self.model,
    messages=self.messages,
    temperature=0.5,
    max_completion_tokens=1000
    )
    assistant_message = response.choices[0].message.content
    self.add_assistant_message(assistant_message)
    return assistant_message
    def clear_history(self):
    """Очистить историю диалога"""
    self.messages = []
    def get_history_length(self):
    """Получить количество сообщений в истории"""
    return len(self.messages)
  5. Создайте интерактивный чат с использованием написанного класса:

    if __name__ == "__main__":
    chat = ChatSession(client, model="t-tech/T-pro-it-1.0")
    print("Чат с моделью (нажмите Ctrl+C для выхода)")
    print("-" * 50)
    while True:
    user_input = input("Вы: ").strip()
    if not user_input:
    continue
    print("Модель думает...", end="", flush=True)
    response = chat.send_message(user_input)
    print("\r" + " " * 20 + "\r", end="")
    if response:
    print(f"Модель: {response}\n")

Пример работы:

Пользоваетль: Привет! Расскажи о машинном обучении
Модель думает...
Модель: Привет! Машинное обучение — это подраздел искусственного интеллекта, который позволяет системам учиться и принимать решения без явного программирования...
Пользователь: А теперь объясни это простыми словами
Модель думает...
Модель: Конечно! Представьте, что вы учите ребенка отличать яблоки от груш. Сначала вы показываете ему много примеров: "Это яблоко, потому что оно круглое и красное...". После обучения ребенок уже сам может определить фрукт по внешнему виду.