Данный мануал предполагает, что у вас уже зарегистрированная учетка на Яндекс Облаке, так же на нем заведен сервисный аккаунт и получен API ключ. Если нет, то сначала воспользуйтесь инструкцией для получения ключа: https://yandex.cloud/ru/docs/iam/operations/authentication/manage-api-keys#create-api-key
Также советую ознакомиться со статьей о создании базового агента на базе Yandex AI Studio и обращению к нему Python.
В данном примере рассмотрим простейший python скрипт, сохраняющий историю диалога. Суть подхода в создании массива «conversation», который передается в метод «client.responses.create» в качестве параметра «input». В данный массив по мере диалога добавляются пользовательские запросы и ответы ai-агента:
import openai
client = openai.OpenAI(
api_key="zyz321zyz321zyz321zyz321",
base_url="https://rest-assistant.api.cloud.yandex.net/v1",
project="abc123abc123"
)
conversation = []
while True:
request = input('Request: ')
if (request):
# выход при вводе "exit"
if request.lower() == 'exit':
print('Chat closed.')
break
conversation.append({
"role": "user",
"content": request
})
response = client.responses.create(
prompt={
"id": "abc123abc123",
},
input=conversation
)
if (response.output_text):
conversation.append({
"role": "assistant",
"content": response.output_text
})
print(response.output_text)
else:
print('Error!')
breakВ примере ввод организуем из командной строки, для этого добавляем бесконечный цикл, выход из чата осуществляется при вводе команды «exit». В итоге получаем диалог, сохраняющий историю переписки, пример:
Request: Сколько будет 2+2?
2 + 2 = 4.
Request: а если еще прибавить 3?
Если к результату предыдущего примера (4) прибавить 3, то получится 7.
Request: а еще 2?
Если к 7 прибавить 2, то получится 9.