All Products
Search
Document Center

Alibaba Cloud Model Studio:Filter Pencarian Basis Pengetahuan

Last Updated:Aug 26, 2026

Retrieve API mengembalikan segmen teks dari basis pengetahuan berdasarkan kemiripan semantik. Jika pencarian semantik menghasilkan terlalu banyak hasil yang tidak relevan, gunakan SearchFilters untuk menerapkan filter berbasis metadata pada hasil semantik tersebut. Pendekatan ini efektif untuk data terstruktur seperti tabel dengan bidang yang terdefinisi dengan baik.

Cara kerja SearchFilters

Tanpa SearchFilters, Retrieve API mengembalikan semua segmen teks yang secara semantik mirip, termasuk kecocokan yang tidak relevan. Dengan SearchFilters, sistem terlebih dahulu melakukan pencarian semantik, lalu menyaring hasilnya berdasarkan kondisi bidang tertentu.

Tanpa SearchFilters:
{
  "indexId": "o73yjlxxxx",
  "query": "Employees in the company named San Zhang"
}

Pengambilan semantik mengembalikan segmen teks yang kurang relevan dengan "San Zhang".

image Dengan SearchFilters:
{
  "indexId": "o73yjlxxxx",
  "query": "Employees in the company named San Zhang",
  "searchFilters": [
    {
      "Name": "San Zhang"
    }
  ]
}

SearchFilters menghapus segmen teks yang tidak sesuai dengan Name: "San Zhang" dari hasil semantik.

image

Sintaksis

SearchFilters merupakan array subgrup. Setiap subgrup adalah objek JSON yang berisi satu atau lebih pasangan field: value. Subgrup selalu dikombinasikan menggunakan logika AND.

{
  "searchFilters": [
    {
      "Name": "San Zhang",
      "Sex": "Male"
    },
    {
      "Position": "Engineer"
    }
  ]
}

Pada contoh ini, hasil harus memenuhi Name = "San Zhang" AND Sex = "Male" (dalam subgrup 1) AND Position = "Engineer" (subgrup 2).

Jenis kueri yang didukung

Referensi operator

Jenis kueriOperatorJenis bidang yang didukungDeskripsi
Nilai tunggal*(nilai langsung)*string, numerik (long, double)Mencocokkan satu nilai eksak. Contoh: {"Name": "San Zhang"}
Nilai ganda*(array JSON)*array string, array numerikMencocokkan salah satu nilai dalam array (mirip dengan IN di SQL). Contoh: {"Name": "[\"San Zhang\",\"Si Li\"]"}
Kesamaaneqstring, numerikSama dengan. Contoh: {"Name": {"eq": "San Zhang"}}
Kesamaanneqstring, numerikTidak sama dengan. Contoh: {"Name": {"neq": "San Zhang"}}
IntervalgtnumerikLebih besar dari. Contoh: {"Age": {"gt": 20}}
IntervalgtenumerikLebih besar dari atau sama dengan. Contoh: {"Age": {"gte": 20}}
IntervalltnumerikLebih kecil dari. Contoh: {"Age": {"lt": 30}}
IntervalltenumerikLebih kecil dari atau sama dengan. Contoh: {"Age": {"lte": 30}}
FuzzylikestringPencocokan pola wildcard. Contoh: {"Position": {"like": "E%r"}}
Tagtagsarray stringFilter berdasarkan tag dokumen (hanya untuk basis pengetahuan pencarian dokumen). Contoh: {"tags": "[\"tag1\",\"tag2\"]"}

Kueri kesamaan dan interval merupakan subjenis kueri rentang. Kueri kesamaan tidak membedakan huruf besar/kecil dan hanya menerima satu nilai per bidang.

Karakter wildcard untuk kueri fuzzy

KarakterDeskripsiContoh
%Mencocokkan nol atau lebih karakterE%r cocok dengan Engineer
_Mencocokkan tepat satu karakterE_gineer cocok dengan Engineer

Logika kueri tag

  • Beberapa tag dalam satu subgrup menggunakan logika OR: file yang cocok dengan salah satu tag akan dikembalikan.
  • Untuk menerapkan logika AND antar tag, tempatkan setiap tag dalam subgrup terpisah.

Prasyarat

Anda memerlukan:

RAM user hanya dapat mengelola basis pengetahuan di ruang kerja yang telah mereka ikuti. Akun Alibaba Cloud dapat mengelola semua ruang kerja.

Persiapan data contoh

Contoh menggunakan EmployeeInformation.xlsx (3 catatan). Buat basis pengetahuan dengan:

PengaturanNilai
Knowledge base typeData Query
Data sourceUpload Data Table
FieldsName (string), Sex (string), Position (string), Age (double)
Index settingsSemua bidang digunakan untuk pengambilan dan respons model
image

Contoh kode lengkap

Contoh Python dan Java berikut mencakup semua jenis kueri.

Sebelum menjalankan kode contoh, konfigurasikan AccessKey dan rahasia AccessKey Anda sebagai variabel lingkungan.

Python

SearchFiltersFullExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class SearchFiltersFullExample:
    class QueryObject:
        def __init__(self, prefix):
            self.like = prefix

        def to_dict(self):
            return {
                "like": self.like
            }

    class Range:
        def __init__(self, gte, lte):
            self.gte = gte
            self.lte = lte

        def to_dict(self):
            return {
                "gte": self.gte,
                "lte": self.lte
            }

    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def sub_group_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Employees in the company named San Zhang'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Grup 1: Name = "San Zhang", Grup 2: Sex = "Female"
            retrieve_request.search_filters = [
                {"Name": "San Zhang"},
                {"Sex": "Female"}
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def single_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Employees in the company named San Zhang'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter nilai tunggal: Name = "San Zhang"
            retrieve_request.search_filters = [
                {"Name": "San Zhang"}
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def multi_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'All employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Buat daftar untuk menyimpan beberapa nilai.
            names = ["San Zhang", "Si Li"]
            # Filter nilai ganda: Name IN ["San Zhang", "Si Li"]
            retrieve_request.search_filters = [{"Name": json.dumps(names)}]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def range_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'All employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter rentang: Age
            age_range = SearchFiltersFullExample.Range(20, 27)
            retrieve_request.search_filters = [
                {"Position": "Engineer"},  # Grup 1: Kondisi filter Position
                {"Age": json.dumps(age_range.to_dict())}  # Grup 2: Kondisi filter rentang Age
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def wildcard_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Male employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter fuzzy: Position LIKE "E%r" (% = nol atau lebih karakter)
            position = SearchFiltersFullExample.QueryObject('E%r')
            retrieve_request.search_filters = [
                {"Name": "San Zhang"},  # Kondisi filter Name. Anda dapat menggantinya dengan properti dan nilai aktual.
                {"Position": json.dumps(position.to_dict())}  # Kondisi filter Position (kueri fuzzy). Anda dapat menggantinya dengan properti dan nilai aktual.
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def tag_query() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Provide some candidates'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter tag (logika OR dalam array)
            tags = ["University A", "Student Union President"]
            retrieve_request.search_filters = [
                {"tags": json.dumps(tags)}
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def tag_query2() -> None:
        try:
            client = SearchFiltersFullExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Provide some candidates'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter tag (logika AND antar grup)
            tag1 = ["University A"]
            tag2 = ["Sports Specialist Student"]
            retrieve_request.search_filters = [
                {"tags": json.dumps(tag1)},
                {"tags": json.dumps(tag2)}
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

    @staticmethod
    def main(args: List[str]) -> None:
        SearchFiltersFullExample.sub_group_query()
        SearchFiltersFullExample.single_query()
        SearchFiltersFullExample.multi_query()
        SearchFiltersFullExample.range_query()
        SearchFiltersFullExample.wildcard_query()
        SearchFiltersFullExample.tag_query()
        SearchFiltersFullExample.tag_query2()

if __name__ == '__main__':
    SearchFiltersFullExample.main(sys.argv[1:])

Java

SearchFiltersFullExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SearchFiltersFullExample {
    /**
     * description

Contoh jenis kueri

Setiap jenis kueri mencakup sintaksis JSON dan contoh permintaan/respons.

Ganti placeholder berikut dengan nilai aktual Anda:

PlaceholderDeskripsiContoh
<knowledge-base-id>ID indeks basis pengetahuan27ubwxxxxx
<workspace-id>ID ruang kerjallm-4u5xpd1xdjxxxxxx

Kueri subgrup

Setiap elemen dalam array searchFilters adalah subgrup yang menggabungkan kondisi filter. Semua subgrup harus cocok (logika AND).

Filter catatan di mana Name adalah "San Zhang" DAN Sex adalah "Female":
{
  "searchFilters": [
    {
      "Name": "San Zhang"
    },
    {
      "Sex": "Female"
    }
  ]
}

Tidak ada catatan yang memenuhi kedua kondisi, sehingga nodes kosong.

Python

SubGroupQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class SubGroupQueryExample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        try:
            client = SubGroupQueryExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Employees in the company named San Zhang'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Grup 1: Name = "San Zhang", Grup 2: Sex = "Female"
            retrieve_request.search_filters = [
                {"Name": "San Zhang"},
                {"Sex": "Female"}
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    SubGroupQueryExample.main(sys.argv[1:])

Java

SubGroupQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SubGroupQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "indexId": "27ubwxxxxx",
  "WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
  "query": "Karyawan di perusahaan bernama San Zhang",
  "searchFilters": [
    {
      "Name": "San Zhang"
    }
  ]
}

Respons contoh

Parameter respons

{
  "code": "Success",
  "data": {
    "nodes": []
  },
  "message": "success",
  "requestId": "5BA30772-xxxx-560C-B1F7-C1DA737A9D80",
  "status": "200",
  "success": true
}

Kueri nilai tunggal

Teruskan satu nilai untuk suatu bidang guna mencocokkan catatan dengan nilai eksak tersebut.

Filter catatan di mana Name adalah "San Zhang":
{
  "searchFilters": [
    {
      "Name": "San Zhang"
    }
  ]
}

Python

SingleQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class SingleQueryExample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        client = SingleQueryExample.create_client()
        # Buat objek retrieve_request.
        retrieve_request = bailian_20231229_models.RetrieveRequest()
        # Wajib. Anda dapat memasukkan prompt aktual.
        retrieve_request.query = 'Employees in the company named San Zhang'
        # Wajib. Masukkan ID basis pengetahuan aktual.
        retrieve_request.index_id = 'Enter the actual knowledge base ID'
        # Properti untuk kueri nilai tunggal adalah Name dan nilainya adalah San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
        retrieve_request.search_filters = [
            {"Name": "San Zhang"}
        ]
        try:
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    SingleQueryExample.main(sys.argv[1:])

Java

SingleQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SingleQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "indexId": "27ubwxxxxx",
  "WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
  "query": "Employees in the company named San Zhang",
  "searchFilters": [
    {
      "Name": "San Zhang"
    }
  ]
}

Respons contoh

Parameter respons

{
  "code": "Success",
  "data": {
    "nodes": [
      {
        "metadata": {
          "_rc_v_score": 0.3016361088048254,
          "_q_score": 1,
          "source": "0",
          "_score": 0.3322954773902893,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Sex": "Male",
          "_rc_score": 0,
          "Name": "San Zhang",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Age": "25.0",
          "Position": "Engineer"
        },
        "score": 0.3322954773902893,
        "text": "Name:San Zhang Age:25.0 Position:Engineer Sex:Male"
      },
      {
        "metadata": {
          "_rc_v_score": 0.2531493306159973,
          "_q_score": 0.8392540654998252,
          "source": "0",
          "_score": 0.25632044672966003,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_2",
          "Sex": "Female",
          "_rc_score": 0,
          "Name": "Si Li",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_2",
          "Age": "31.0",
          "Position": "Sales"
        },
        "score": 0.25632044672966003,
        "text": "Name:Si Li Age:31.0 Position:Sales Sex:Female"
      }
    ]
  },
  "message": "success",
  "requestId": "1DFE5E9E-xxxx-5C37-8011-8FA2E2875309",
  "status": "200",
  "success": true
}

Kueri nilai ganda

Teruskan beberapa nilai untuk suatu bidang guna mencocokkan catatan yang mengandung salah satu nilai yang ditentukan, mirip dengan operator IN di SQL. Serialisasi array nilai sebagai string JSON.

Filter catatan di mana Name adalah "San Zhang" atau "Si Li":
{
  "searchFilters": [
    {
      "Name": "[\"San Zhang\",\"Si Li\"]"
    }
  ]
}

Python

MultiQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class MultiQueryExample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        try:
            client = MultiQueryExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'All employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Buat daftar untuk menyimpan beberapa nilai.
            names = ["San Zhang", "Si Li"]
            # Filter nilai ganda: Name IN ["San Zhang", "Si Li"]
            retrieve_request.search_filters = [{"Name": json.dumps(names)}]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    MultiQueryExample.main(sys.argv[1:])

Java

MultiQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MultiQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "indexId": "27ubwxxxxx",
  "WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
  "query": "Semua karyawan di perusahaan",
  "searchFilters": [
    {
      "Sex": "Male"
    },
    {
      "Age": "{\"gte\":20.0,\"lte\":27.0}"
    }
  ]
}

Respons contoh

Parameter respons

{
  "code": "Success",
  "data": {
    "nodes": [
      {
        "metadata": {
          "_rc_v_score": 0.3016361088048254,
          "_q_score": 1,
          "source": "0",
          "_score": 0.3322954773902893,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Sex": "Male",
          "_rc_score": 0,
          "Name": "San Zhang",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Age": "25.0",
          "Position": "Engineer"
        },
        "score": 0.3322954773902893,
        "text": "Name:San Zhang Age:25.0 Position:Engineer Sex:Male"
      },
      {
        "metadata": {
          "_rc_v_score": 0.2531493306159973,
          "_q_score": 0.8392540654998252,
          "source": "0",
          "_score": 0.25632044672966003,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_2",
          "Sex": "Female",
          "_rc_score": 0,
          "Name": "Si Li",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_2",
          "Age": "31.0",
          "Position": "Sales"
        },
        "score": 0.25632044672966003,
        "text": "Name:Si Li Age:31.0 Position:Sales Sex:Female"
      }
    ]
  },
  "message": "success",
  "requestId": "1DFE5E9E-xxxx-5C37-8011-8FA2E2875309",
  "status": "200",
  "success": true
}

Kueri rentang

Gunakan kueri rentang untuk menemukan catatan di mana bidang numerik berada dalam interval tertentu. Gabungkan kueri rentang dengan jenis kueri lain dengan menempatkannya dalam subgrup terpisah.

Filter catatan di mana Position adalah "Engineer" (nilai tunggal) DAN Age berada di antara 20 dan 25 (rentang):
{
  "searchFilters": [
    {
      "Position": "Engineer"
    },
    {
      "Age": {
        "gte": 20,
        "lte": 25
      }
    }
  ]
}

Python

RangeQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class RangeQueryExample:
    class Range:
        def __init__(self, gte, lte):
            self.gte = gte
            self.lte = lte

        def to_dict(self):
            return {
                "gte": self.gte,
                "lte": self.lte
            }

    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        try:
            client = RangeQueryExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'All employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter rentang: Age
            age_range = RangeQueryExample.Range(20, 27)
            retrieve_request.search_filters = [
                {"Position": "Engineer"},  # Grup 1: Kondisi filter Position
                {"Age": json.dumps(age_range.to_dict())}  # Grup 2: Kondisi filter rentang Age
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    RangeQueryExample.main(sys.argv[1:])

Java

RangeQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class RangeQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "indexId": "27ubwxxxxx",
  "WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
  "query": "All employees in the company",
  "searchFilters": [
    {
      "Sex": "Male"
    },
    {
      "Age": "{\"gte\":20.0,\"lte\":27.0}"
    }
  ]
}

Respons contoh

Parameter respons

{
  "code": "Success",
  "data": {
    "nodes": [
      {
        "metadata": {
          "_rc_v_score": 0.3016361088048254,
          "_q_score": 1,
          "source": "0",
          "_score": 0.3322954773902893,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Sex": "Male",
          "_rc_score": 0,
          "Name": "San Zhang",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Age": "25.0",
          "Position": "Engineer"
        },
        "score": 0.3322954773902893,
        "text": "Name:San Zhang Age:25.0 Position:Engineer Sex:Male"
      }
    ]
  },
  "message": "success",
  "requestId": "AE0B5ABC-xxxx-54A1-9ED4-91865B859DF6",
  "status": "200",
  "success": true
}

Kueri fuzzy

Gunakan pola wildcard untuk mencocokkan sebagian bidang string, mirip dengan operator LIKE di SQL. Bungkus pola dalam objek {"like": "<pattern>"} dan serialisasi sebagai string JSON.

Filter catatan di mana Name adalah "San Zhang" DAN Position dimulai dengan "E" dan diakhiri dengan "r":
{
  "searchFilters": [
    {
      "Name": "San Zhang"
    },
    {
      "Position": {
        "like": "E%r"
      }
    }
  ]
}

Python

WildcardQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class WildcardQueryExample:
    class QueryObject:
        def __init__(self, prefix):
            self.like = prefix

        def to_dict(self):
            return {
                "like": self.like
            }

    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Untuk produksi, gunakan STS atau manajemen kredensial aman lainnya. Lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        try:
            client = WildcardQueryExample.create_client()
            # Buat objek retrieve_request.
            retrieve_request = bailian_20231229_models.RetrieveRequest()
            # Wajib. Anda dapat memasukkan prompt aktual.
            retrieve_request.query = 'Male employees in the company'
            # Wajib. Masukkan ID basis pengetahuan aktual.
            retrieve_request.index_id = 'Enter the actual knowledge base ID'
            # Filter fuzzy: Position LIKE "E%r" (% = nol atau lebih karakter)
            position = WildcardQueryExample.QueryObject('E%r')
            retrieve_request.search_filters = [
                {"Name": "San Zhang"},  # Kondisi filter Name. Anda dapat menggantinya dengan properti dan nilai aktual.
                {"Position": json.dumps(position.to_dict())}  # Kondisi filter Position (kueri fuzzy). Anda dapat menggantinya dengan properti dan nilai aktual.
            ]
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    WildcardQueryExample.main(sys.argv[1:])

Java

WildcardQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class WildcardQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "indexId": "27ubwxxxxx",
  "WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
  "query": "Male employees in the company",
  "searchFilters": [
    {
      "Name": "San Zhang"
    },
    {
      "Position": "{\"like\":\"E%r\"}"
    }
  ]
}

Respons contoh

Parameter respons

{
  "code": "Success",
  "data": {
    "nodes": [
      {
        "metadata": {
          "_rc_v_score": 0.41137335930387275,
          "_q_score": 1,
          "source": "0",
          "_score": 0.46098726987838745,
          "doc_id": "table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Sex": "Male",
          "_rc_score": 0,
          "Name": "San Zhang",
          "doc_name": "Employee Sheet",
          "_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxxad1c331c424780a8023376a73fac_10285263_1",
          "Age": "25.0",
          "Position": "Engineer"
        },
        "score": 0.46098726987838745,
        "text": "Name:San Zhang Age:25.0 Position:Engineer Sex:Male"
      }
    ]
  },
  "message": "success",
  "requestId": "FA759FEC-xxxx-50B7-A64D-BE49A7DF56B8",
  "status": "200",
  "success": true
}

Kueri tag

Filter berdasarkan tag dokumen dalam basis pengetahuan pencarian dokumen. Tag mempersempit pengambilan ke segmen teks dari file yang sesuai dengan nilai tag tertentu.

Persiapan contoh: Basis pengetahuan pencarian dokumen berisi tiga file resume dengan tag berikut:

FileTag
Resume San ZhangUniversity A, Sports Specialist Student
Resume Si LiUniversity B
Resume Wu WangUniversity B, Student Union President

Contoh 1: Logika OR (beberapa tag dalam satu subgrup)

Kembalikan segmen teks dari file yang ditag University A ATAU Student Union President:

Beberapa tag dalam satu subgrup menggunakan logika OR. Untuk menerapkan logika AND, tempatkan setiap tag dalam subgrup terpisah (lihat Contoh 2).

{
  "searchFilters": [
    {
      "tags": "[\"University A\",\"Student Union President\"]"
    }
  ]
}

Python -- TagQueryExample.py

# Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class TagQueryExample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Membocorkan kode yang berisi pasangan AccessKey mengancam keamanan semua resource di akun Anda. Kode contoh berikut hanya untuk referensi.
        # Kami menyarankan Anda menggunakan metode yang lebih aman, seperti Security Token Service (STS), untuk mengelola kredensial akses. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-python-access-credentials.
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        client = TagQueryExample.create_client()
        # Buat objek retrieve_request.
        retrieve_request = bailian_20231229_models.RetrieveRequest()
        # Wajib. Anda dapat memasukkan prompt aktual.
        retrieve_request.query = 'Provide some candidates'
        # Wajib. Masukkan ID basis pengetahuan aktual.
        retrieve_request.index_id = 'Enter the actual knowledge base ID'
        # Buat daftar untuk menyimpan tag. Hubungan logis antara beberapa tag adalah OR, bukan AND.
        tags = ["University A", "Student Union President"]
        retrieve_request.search_filters = [
            {"tags": json.dumps(tags)}
        ]
        try:
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    TagQueryExample.main(sys.argv[1:])

Java -- TagQueryExample.java

// Kode contoh ini hanya untuk referensi. Jangan gunakan dalam lingkungan produksi.
import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TagQueryExample {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "IndexId": "8mbtdxxxxx",
  "WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
  "Query": "Berikan beberapa kandidat",
  "SearchFilters": "[{\"tags\":\"[\\\"Universitas A\\\"]\"},{\"tags\":\"[\\\"Mahasiswa Spesialis Olahraga\\\"]\"}]"
}

Respons contoh

Parameter respons

{
  "Code": "Success",
  "Data": {
    "Nodes": [
      {
        "Metadata": {
          "file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/Zhang_San_Resume_1746760910599.json?Expires=1747020348&OSSAccessKeyId=YOUR_ACCESS_KEY_ID&Signature=YOUR_SIGNATURE",
          "is_displayed_chunk_content": "true",
          "_rc_v_score": 0.1422617520249937,
          "image_url": [],
          "nid": "ba8a14099f43308734538c29271cc7cd|b99e98835c3c6d8f6496df5a43de0ba5|aa3ed8fc4aae8bbb78872994b01e0fda",
          "_q_score": 1,
          "source": "0",
          "_score": 0.1736905574798584,
          "title": "",
          "doc_id": "file_e787926158704f95aad6bc967619f176_10285263",
          "content": "Name: San Zhang Sex: Male Age: 23",
          "_rc_score": 0,
          "workspace_id": "llm-4u5xpd1xdjxxxxxx",
          "hier_title": "",
          "page_number": [
            0
          ],
          "doc_name": "San Zhang's Resume",
          "pipeline_id": "8mbtdxxxxx",
          "_id": "llm-4u5xpd1xdjxxxxxx_8mbtdxxxxx_file_e787926158704f95aad6bc967619f176_10285263_0_0"
        },
        "Score": 0.1736905574798584,
        "Text": "Name: San Zhang Sex: Male Age: 23"
      }
    ]
  },
  "Message": "success",
  "RequestId": "1ED6CECE-xxxx-5B21-91DB-410E0219412A",
  "Status": 200,
  "Success": true
}

Ini mengembalikan hasil dari Resume San Zhang (ditag University A) dan Resume Wu Wang (ditag Student Union President).

Contoh 2: Logika AND (tag dalam subgrup terpisah)

Kembalikan segmen teks dari file yang ditag University A DAN Sports Specialist Student:

{
  "searchFilters": [
    {
      "tags": "[\"University A\"]"
    },
    {
      "tags": "[\"Sports Specialist Student\"]"
    }
  ]
}

Python -- TagQueryExample2.py

import json
import os
import sys
from typing import List

from alibabacloud_bailian20231229 import models as bailian_20231229_models
from alibabacloud_bailian20231229.client import Client as bailian20231229Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util.client import Client as UtilClient

class TagQueryExample2:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20231229Client:
        """
        Menginisialisasi klien menggunakan pasangan AccessKey.
        @return: Client
        @throws Exception
        """
        # Membocorkan kode yang berisi pasangan AccessKey mengancam keamanan semua resource di akun Anda. Kode contoh berikut hanya untuk referensi.
        # Kami menyarankan Anda menggunakan metode yang lebih aman, seperti Security Token Service (STS), untuk mengelola kredensial akses. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-python-access-credentials.
        config = open_api_models.Config(
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        # Untuk informasi lebih lanjut tentang endpoint, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
        config.endpoint = f'bailian.ap-southeast-1.aliyuncs.com'
        return bailian20231229Client(config)

    @staticmethod
    def main(
            args: List[str],
    ) -> None:
        client = TagQueryExample.create_client()
        # Buat objek retrieve_request.
        retrieve_request = bailian_20231229_models.RetrieveRequest()
        # Wajib. Anda dapat memasukkan prompt aktual.
        retrieve_request.query = 'Provide some candidates'
        # Wajib. Masukkan ID basis pengetahuan aktual.
        retrieve_request.index_id = 'Enter the actual knowledge base ID'
        # Buat dua daftar untuk menyimpan tag.
        tag1 = ["University A"]
        tag2 = ["Sports Specialist Student"]
        retrieve_request.search_filters = [
            {"tags": json.dumps(tag1)},
            {"tags": json.dumps(tag2)}
        ]
        try:
            # Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
            resp = client.retrieve('Enter the actual workspace ID', retrieve_request)
            print(UtilClient.to_jsonstring(resp.body))
        except Exception as error:
            # Tangani pengecualian secara tepat di produksi
            print(error.message)

if __name__ == '__main__':
    TagQueryExample2.main(sys.argv[1:])

Java -- TagQueryExample2.java

import com.aliyun.bailian20231229.models.RetrieveRequest;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TagQueryExample2 {
    /**
     * description

Permintaan contoh

Parameter permintaan

{
  "IndexId": "8mbtdxxxxx",
  "WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
  "Query": "Provide some candidates",
  "SearchFilters": "[{\"tags\":\"[\\\"University A\\\"]\"},{\"tags\":\"[\\\"Sports Specialist Student\\\"]\"}]"
}

Respons contoh

Parameter respons

{
  "Code": "Success",
  "Data": {
    "Nodes": [
      {
        "Metadata": {
          "file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/Zhang_San_Resume_1746760910599.json?Expires=1747020348&OSSAccessKeyId=YOUR_ACCESS_KEY_ID&Signature=YOUR_SIGNATURE",
          "is_displayed_chunk_content": "true",
          "_rc_v_score": 0.1422617520249937,
          "image_url": [],
          "nid": "ba8a14099f43308734538c29271cc7cd|b99e98835c3c6d8f6496df5a43de0ba5|aa3ed8fc4aae8bbb78872994b01e0fda",
          "_q_score": 1,
          "source": "0",
          "_score": 0.1736905574798584,
          "title": "",
          "doc_id": "file_e787926158704f95aad6bc967619f176_10285263",
          "content": "Name: San Zhang Sex: Male Age: 23",
          "_rc_score": 0,
          "workspace_id": "llm-4u5xpd1xdjxxxxxx",
          "hier_title": "",
          "page_number": [
            0
          ],
          "doc_name": "San Zhang's Resume",
          "pipeline_id": "8mbtdxxxxx",
          "_id": "llm-4u5xpd1xdjxxxxxx_8mbtdxxxxx_file_e787926158704f95aad6bc967619f176_10285263_0_0"
        },
        "Score": 0.1736905574798584,
        "Text": "Name: San Zhang Sex: Male Age: 23"
      }
    ]
  },
  "Message": "success",
  "RequestId": "1ED6CECE-xxxx-5B21-91DB-410E0219412A",
  "Status": 200,
  "Success": true
}

Hanya Resume San Zhang yang dikembalikan karena hanya file tersebut yang memiliki kedua tag tersebut.

Referensi

ResourceDeskripsi
Buat dan gunakan basis pengetahuanPanduan pengguna basis pengetahuan
Retrieve APIAmbil segmen teks dari basis pengetahuan
Berikan izin API kepada RAM userSiapkan akses RAM user untuk Retrieve API
Kode errorPemecahan masalah kegagalan pemanggilan API