No seu app da Web, você pode receber respostas para suas perguntas na forma de respostas de streaming. Este documento mostra como usar a API REST para receber respostas. Se quiser usar o app da Web Gemini Enterprise, consulte Conversar com o assistente.
Visão geral do StreamAssist
O StreamAssist oferece uma maneira eficiente e interativa de lidar com consultas dos usuários. Ele opera em streaming, permitindo interações em tempo real.
As principais funcionalidades da API incluem:
Manutenção do contexto da conversa:usa sessões para manter o contexto da conversa, garantindo que entenda as consultas complementares no escopo das interações anteriores.
Incorporação de arquivos fornecidos:inclui os arquivos anexados como contexto para respostas mais completas e relevantes.
Integração perfeita:ele se integra a vários agentes e ferramentas para atender a uma ampla variedade de solicitações dos usuários.
Antes de começar
Verifique se você tem o seguinte:
A API Discovery Engine ativada para seu Google Cloud. É possível ativar na página da API Discovery Engine no console do Google Cloud .
Um papel do Discovery Engine com a permissão
discoveryengine.assistants.assistatribuída.Um app Gemini Enterprise. Para criar um app, consulte Criar um app.
Receber resultados da pesquisa
Use o método streamAssist
para consultar e receber respostas do
Gemini Enterprise. O comando curl a seguir lista os campos obrigatórios.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"query": {
"text": "QUERY_TEXT_1"
}
}'
Substitua:
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para o local global
- PROJECT_ID: o ID do seu projeto do Google Cloud .
- APP_ID: o identificador exclusivo do app Gemini Enterprise.
- LOCATION: a multirregião do seu repositório de dados:
global,usoueu - QUERY_TEXT_1: o texto da consulta de pesquisa.
Para mais informações sobre os campos e o que é retornado, consulte Corpo da resposta.
Receber resultados da pesquisa usando a mesma sessão
Para continuar uma conversa e receber respostas do Gemini Enterprise em uma
sessão atual, use o método
streamAssist. O exemplo de código a seguir mostra os campos obrigatórios:
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID",
"query": {
"text": "QUERY_TEXT_2"
}
}'
Substitua:
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para o local global
- PROJECT_ID: o ID do seu projeto do Google Cloud .
- APP_ID: o identificador exclusivo do app Gemini Enterprise.
- LOCATION: a multirregião do seu repositório de dados:
global,usoueu - QUERY_TEXT_2: o texto da consulta de pesquisa.
- SESSION_ID: o ID de uma sessão de uma conversa ou consulta anterior.
Para mais informações sobre os campos e o que é retornado, consulte Corpo da resposta.
Fazer upload de um arquivo e receber resultados da pesquisa (prévia)
Para dar mais contexto ao assistente, faça upload de um arquivo em uma sessão e consulte o conteúdo dele. Siga estas etapas:
Faça upload de um arquivo para uma sessão usando o método
addContextFile.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/sessions/SESSION_ID:addContextFile" \ -d ' { "fileName": "FILE_NAME", "mimeType": "MIME_TYPE", "fileContents": "BASE64_ENCODED_FILE" }'Substitua:
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para o local global
- PROJECT_ID: o ID do seu projeto do Google Cloud .
- LOCATION: a multirregião do seu repositório de dados:
global,usoueu - APP_ID: o identificador exclusivo do app Gemini Enterprise.
- SESSION_ID: o ID de uma sessão de uma conversa ou consulta anterior.
- FILE_NAME: o nome do arquivo.
- MIME_TYPE: o tipo MIME do arquivo, por exemplo,
text/plainouapplication/pdf. Para mais informações sobre os diferentes tipos de mídia, consulte Tipos de mídia. - BASE64_ENCODED_FILE: a representação codificada em base64 do arquivo.
Para mais informações sobre os campos e o que é retornado, consulte Corpo da resposta.
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores:
Use a mesma sessão para fazer uma pergunta sobre o arquivo que você enviou usando o método
streamAssist.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \ -d ' { "session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID", "fileIds": ["FILE_ID"], "query": { "text": "QUERY_TEXT_3" } }'Substitua:
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para o local global
- PROJECT_ID: o ID do seu projeto do Google Cloud .
- APP_ID: o identificador exclusivo do app Gemini Enterprise.
- LOCATION: a multirregião do seu repositório de dados:
global,usoueu - QUERY_TEXT_3: o texto da consulta de pesquisa.
- SESSION_ID: o ID de uma sessão de uma conversa ou consulta anterior.
- FILE_ID: o ID do arquivo que você enviou para o assistente.
Para mais informações sobre os campos e o que é retornado, consulte Corpo da resposta.
- ENDPOINT_LOCATION-: a multirregião da sua solicitação de API. Atribua um dos seguintes
valores: