Na app Web, pode receber respostas às suas perguntas sob a forma de respostas em streaming. Este documento mostra como usar a API REST para obter respostas. Se quiser usar a app Web Gemini Enterprise, consulte o artigo Converse com o assistente.
Vista geral do StreamAssist
O StreamAssist oferece uma forma poderosa e interativa de processar as consultas dos utilizadores. Funciona em streaming, o que permite interações em tempo real e bidirecionais.
As principais capacidades da API incluem o seguinte:
Manter o contexto da conversa: usa sessões para manter o contexto da conversa, garantindo que compreende as consultas de seguimento no âmbito das interações anteriores.
Incorporar ficheiros fornecidos: inclui os ficheiros anexados como contexto para respostas mais informadas e relevantes.
Integração perfeita: integra-se com vários agentes e ferramentas para satisfazer uma vasta gama de pedidos dos utilizadores.
Antes de começar
Certifique-se de que tem o seguinte:
A API Discovery Engine está ativada para o seu Google Cloud. Pode ativá-la na página Discovery Engine API na Google Cloud consola.
Uma função do motor Discovery com a autorização
discoveryengine.assistants.assistatribuída.Uma app Gemini Enterprise existente. Para criar uma app, consulte o artigo Crie uma app.
Obtenha resultados da pesquisa
Pode usar o método streamAssist
para consultar e receber respostas do
Gemini Enterprise. O seguinte comando curl 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 o seguinte:
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para a localização global
- PROJECT_ID: o ID do seu projeto Google Cloud .
- APP_ID: o identificador exclusivo da 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 é devolvido, consulte a secção Corpo da resposta.
Obtenha resultados da pesquisa usando a mesma sessão
Para continuar uma conversa e receber respostas do Gemini Enterprise numa sessão existente, use o método streamAssist. O exemplo de código seguinte 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 o seguinte:
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para a localização global
- PROJECT_ID: o ID do seu projeto Google Cloud .
- APP_ID: o identificador exclusivo da 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 uma consulta anterior.
Para mais informações sobre os campos e o que é devolvido, consulte a secção Corpo da resposta.
Carregue um ficheiro e receba resultados da pesquisa (pré-visualização)
Para dar mais contexto ao assistente, carregue um ficheiro para uma sessão e, em seguida, consulte o respetivo conteúdo. Siga estes passos:
Carregue um ficheiro para uma sessão através do 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 o seguinte:
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para a localização global
- PROJECT_ID: o ID do seu projeto Google Cloud .
- LOCATION: a multirregião do seu repositório de dados:
global,usoueu - APP_ID: o identificador exclusivo da app Gemini Enterprise.
- SESSION_ID: o ID de uma sessão de uma conversa ou uma consulta anterior.
- FILE_NAME: o nome do ficheiro.
- MIME_TYPE: o tipo MIME do ficheiro, por exemplo,
text/plainouapplication/pdf. Para mais informações sobre os diferentes tipos de suportes, consulte Tipos de suportes. - BASE64_ENCODED_FILE: a representação do ficheiro com codificação base64.
Para mais informações sobre os campos e o que é devolvido, consulte a secção Corpo da resposta.
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores:
Use a mesma sessão para fazer uma pergunta sobre o ficheiro que carregou através do 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 o seguinte:
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores:
us-para a multirregião dos EUAeu-para a multirregião da UEglobal-para a localização global
- PROJECT_ID: o ID do seu projeto Google Cloud .
- APP_ID: o identificador exclusivo da 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 uma consulta anterior.
- FILE_ID: o ID do ficheiro que carregou para o assistente.
Para mais informações sobre os campos e o que é devolvido, consulte a secção Corpo da resposta.
- ENDPOINT_LOCATION-: a multirregião para o seu pedido de API. Atribua um dos seguintes valores: