Передача контекста запроса из FastAPI в плагин семантического ядра Microsoft для интеграции OpenAIPython

Программы на Python
Ответить
Anonymous
 Передача контекста запроса из FastAPI в плагин семантического ядра Microsoft для интеграции OpenAI

Сообщение Anonymous »

Я интегрирую семантическое ядро ​​Microsoft с OpenAI в своем приложении FastAPI. У меня есть чат/конечная точка, где я получаю session_id из запроса, и мне нужно передать этот session_id плагину вместе с openai_client. Однако я не уверен, как правильно передать session_id из запроса FastAPI плагину внутри процесса выполнения ядра.
Вот соответствующий код для настройки ядра и плагина:< /p>

Код: Выделить всё

# Kernel and service setup
kernel = Kernel()

execution_settings = AzureChatPromptExecutionSettings(tool_choice="auto")
execution_settings.function_choice_behavior = FunctionChoiceBehavior.Auto(filters={})

openai_client = OpenAI(api_key=api_key)
chat_completion_service = OpenAIChatCompletion(
ai_model_id=model_id,
api_key=api_key,
service_id=service_id
)

# Add services and plugins
kernel.add_service(chat_completion_service)
kernel.add_plugin(MovesPlugin(openai_client), plugin_name='MovesPlugin')
Внутри конечной точки FastAPI я хочу передать session_id плагину при вызове ядра для ответа в чате:

Код: Выделить всё

# Inside FastAPI endpoint
@app.post("/chat/")
async def chat(request: Request):
session_id = await request.json().get('session_id')

# Get chat completion service
_chat_completion_service = kernel.get_service(type=ChatCompletionClientBase)

# Get chat completion response
response = await _chat_completion_service.get_chat_message_content(
chat_history=chat_history,
kernel=kernel,
settings=execution_settings
)

return response
Как передать контекст запроса (

Код: Выделить всё

session_id
) из запроса FastAPI к MovesPlugin и убедиться, что он правильно используется вместе с openai_client внутри выполнения семантического ядра?
Будем очень признательны за любые рекомендации и предложения!< /п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... in-for-ope
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»