Mengambil kenangan

Halaman ini menjelaskan cara mengambil kenangan yang dibuat dan diupload dari Bank Memori. Untuk seluruh alur kerja dalam mengonfigurasi, membuat, dan menggunakan Bank Memori, lihat Panduan memulai dengan REST API.

Anda memiliki opsi berikut untuk mengambil kenangan yang dibuat:

  • Dapatkan Memori: Dapatkan konten lengkap dari satu kenangan.

  • Mengambil kenangan: Mengambil kenangan menggunakan pengambilan kenangan berbasis cakupan. Mengambil kenangan menggunakan penelusuran kesamaan atau semua kenangan dalam cakupan.

Mendapatkan Memori

Gunakan GetMemories untuk mendapatkan konten lengkap dari satu kenangan:

import google.auth
import google.auth.transport.requests
import requests

credentials, _ = google.auth.default()
auth_req = google.auth.transport.requests.Request()
credentials.refresh(auth_req)

url = "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID/memories/MEMORY_ID"


response = requests.get(
    url=url,
    headers={
        "Content-Type": "application/json; charset=utf-8",
        "Authorization": f"Bearer {credentials.token}",
    }
)
response.json()

Ganti kode berikut:

  • PROJECT_ID: Project ID Anda.

  • REASONING_ENGINE_ID: ID instance ReasoningEngine.

  • MEMORY_ID: ID untuk memori yang ingin Anda dapatkan.

Mengambil kenangan menggunakan pengambilan berbasis cakupan

Anda dapat menggunakan RetrieveMemories untuk mengambil kenangan untuk cakupan tertentu. Hanya kenangan yang memiliki cakupan yang sama persis (terlepas dari urutan) dengan permintaan pengambilan yang ditampilkan. Misalnya, Anda dapat mengambil semua kenangan yang dicakup ke pengguna tertentu dengan menggunakan {"user_id": "123"}. Jika tidak ada kenangan yang ditampilkan, Bank Kenangan tidak memiliki kenangan untuk cakupan yang diberikan.

Cakupan memori ditentukan saat memori dibuat atau dihasilkan dan bersifat tetap.

Anda dapat menggunakan RetrieveMemories untuk melakukan operasi berikut untuk cakupan tertentu:

Untuk kasus saat Anda memiliki banyak kenangan untuk cakupan tertentu, Anda dapat menggunakan penelusuran kesamaan untuk mengambil hanya kenangan yang paling mirip dengan memberikan parameter penelusuran kesamaan. Bank Memori hanya mempertimbangkan kenangan yang memiliki cakupan yang sama persis dengan permintaan saat melakukan penelusuran kesamaan. Penelusuran kemiripan membandingkan vektor embedding antara fakta memori dan kueri penelusuran permintaan.

Memori yang ditampilkan diurutkan dari yang paling mirip (jarak Euclidean terpendek) hingga yang paling tidak mirip (jarak Euclidean terpanjang):

import requests

url = "https://LOCATION-aiplatform.googleapis.com/v1beta1/AGENT_ENGINE_NAME"

response = requests.post(
  url=f"{url}/memories:retrieve",
  headers={
    "Content-Type": "application/json; charset=utf-8",
    "Authorization": f"Bearer {token[0]}",
  },
  json={
    "similarity_search_params": {
      "search_query": "QUERY",
      # Optional. Defaults to 3.
      "top_k": 3
    },
    "scope": SCOPE
  }
)

"""
Returns:

{
  "retrieved_memories": [
    {
      "memory": {
        "name":
        "projects/.../locations/.../reasoningEngines/.../memories/...",
        ...
        "fact": "This is a fact."
      },
      "distance": 0.5
    },
    {
      "memory": {
        "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
        ...
        "fact": "This is another fact."
      },
      "distance": 0.75
    }
  ]
}
"""

Ganti kode berikut:

  • LOCATION: Region Anda. Hanya us-central1 yang didukung untuk Bank Memori dan Sesi Agent Engine Vertex AI.

  • AGENT_ENGINE_NAME: Nama instance Vertex AI Agent Engine yang Anda buat atau instance Vertex AI Agent Engine yang sudah ada. Nama harus dalam format berikut: projects/PROJECT_ID/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID.

  • QUERY: Kueri yang akan dilakukan penelusuran kesamaannya. Misalnya, Anda dapat menggunakan giliran pengguna terakhir dalam percakapan sebagai kueri.

  • SCOPE: Kamus, yang mewakili cakupan untuk penelusuran kemiripan. Hanya kenangan dengan cakupan yang sama dengan permintaan yang dipertimbangkan.

Mengambil semua kenangan

Jika tidak ada parameter penelusuran kesamaan yang diberikan, RetrieveMemories akan menampilkan semua kenangan yang memiliki cakupan yang diberikan, terlepas dari kesamaannya dengan percakapan saat ini.

import requests

url = "https://LOCATION-aiplatform.googleapis.com/v1beta1/AGENT_ENGINE_NAME"

response = requests.post(
  url=f"{url}/memories:retrieve",
  headers={
    "Content-Type": "application/json; charset=utf-8",
    "Authorization": f"Bearer {token[0]}",
  },
  json={
    "scope": SCOPE,
    # Optional. By default, a page size of 100 will be used.
    "simple_retrieval_params": {
      "page_size": 3
    }
  }
)

"""
Returns:

{
  "retrieved_memories": [
    {
      "memory": {
        "name":
        "projects/.../locations/.../reasoningEngines/.../memories/...",
        ...
        "fact": "This is a fact."
      }
    },
    {
      "memory": {
        "name": "projects/.../locations/.../reasoningEngines/.../memories/...",
        ...
        "fact": "This is another fact."
      }
    }
  ]
}
"""

Ganti kode berikut:

  • LOCATION: Region Anda. Hanya us-central1 yang didukung untuk Bank Memori dan Sesi Agent Engine Vertex AI.

  • AGENT_ENGINE_NAME: Nama instance Vertex AI Agent Engine yang Anda buat atau instance Vertex AI Agent Engine yang sudah ada. Nama harus dalam format berikut: projects/PROJECT_ID/locations/LOCATION/reasoningEngines/REASONING_ENGINE_ID.

  • SCOPE: Kamus yang mewakili cakupan pengambilan. Hanya kenangan dengan cakupan yang sama dengan permintaan yang ditampilkan.