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.
{
"indexId": "o73yjlxxxx",
"query": "Employees in the company named San Zhang"
}
Pengambilan semantik mengembalikan segmen teks yang kurang relevan dengan "San Zhang".
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.
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 kueri | Operator | Jenis bidang yang didukung | Deskripsi |
|---|---|---|---|
| Nilai tunggal | *(nilai langsung)* | string, numerik (long, double) | Mencocokkan satu nilai eksak. Contoh: {"Name": "San Zhang"} |
| Nilai ganda | *(array JSON)* | array string, array numerik | Mencocokkan salah satu nilai dalam array (mirip dengan IN di SQL). Contoh: {"Name": "[\"San Zhang\",\"Si Li\"]"} |
| Kesamaan | eq | string, numerik | Sama dengan. Contoh: {"Name": {"eq": "San Zhang"}} |
| Kesamaan | neq | string, numerik | Tidak sama dengan. Contoh: {"Name": {"neq": "San Zhang"}} |
| Interval | gt | numerik | Lebih besar dari. Contoh: {"Age": {"gt": 20}} |
| Interval | gte | numerik | Lebih besar dari atau sama dengan. Contoh: {"Age": {"gte": 20}} |
| Interval | lt | numerik | Lebih kecil dari. Contoh: {"Age": {"lt": 30}} |
| Interval | lte | numerik | Lebih kecil dari atau sama dengan. Contoh: {"Age": {"lte": 30}} |
| Fuzzy | like | string | Pencocokan pola wildcard. Contoh: {"Position": {"like": "E%r"}} |
| Tag | tags | array string | Filter 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
| Karakter | Deskripsi | Contoh |
|---|---|---|
% | Mencocokkan nol atau lebih karakter | E%r cocok dengan Engineer |
_ | Mencocokkan tepat satu karakter | E_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:
- (Hanya untuk RAM user) Kebijakan AliyunBailianDataFullAccess dan keanggotaan ruang kerja. Tidak diperlukan untuk Akun Alibaba Cloud.
- ID ruang kerja
- Model Studio SDK yang telah diinstal dan dikonfigurasi
- AccessKey dan rahasia AccessKey dikonfigurasi sebagai variabel lingkungan
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:
| Pengaturan | Nilai |
|---|---|
| Knowledge base type | Data Query |
| Data source | Upload Data Table |
| Fields | Name (string), Sex (string), Position (string), Age (double) |
| Index settings | Semua bidang digunakan untuk pengambilan dan respons model |
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:
| Placeholder | Deskripsi | Contoh |
|---|---|---|
<knowledge-base-id> | ID indeks basis pengetahuan | 27ubwxxxxx |
<workspace-id> | ID ruang kerja | llm-4u5xpd1xdjxxxxxx |
Kueri subgrup
Setiap elemen dalam array searchFilters adalah subgrup yang menggabungkan kondisi filter. Semua subgrup harus cocok (logika AND).
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
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Karyawan di perusahaan bernama San Zhang",
"searchFilters": [
{
"Name": "San Zhang"
}
]
}
Respons contoh
{
"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 manaName 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
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Employees in the company named San Zhang",
"searchFilters": [
{
"Name": "San Zhang"
}
]
}
Respons contoh
{
"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.
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
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Semua karyawan di perusahaan",
"searchFilters": [
{
"Sex": "Male"
},
{
"Age": "{\"gte\":20.0,\"lte\":27.0}"
}
]
}
Respons contoh
{
"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 manaPosition 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
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "All employees in the company",
"searchFilters": [
{
"Sex": "Male"
},
{
"Age": "{\"gte\":20.0,\"lte\":27.0}"
}
]
}
Respons contoh
{
"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.
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
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Male employees in the company",
"searchFilters": [
{
"Name": "San Zhang"
},
{
"Position": "{\"like\":\"E%r\"}"
}
]
}
Respons contoh
{
"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:
| File | Tag |
|---|---|
| Resume San Zhang | University A, Sports Specialist Student |
| Resume Si Li | University B |
| Resume Wu Wang | University 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
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Berikan beberapa kandidat",
"SearchFilters": "[{\"tags\":\"[\\\"Universitas A\\\"]\"},{\"tags\":\"[\\\"Mahasiswa Spesialis Olahraga\\\"]\"}]"
}
Respons contoh
{
"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
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Provide some candidates",
"SearchFilters": "[{\"tags\":\"[\\\"University A\\\"]\"},{\"tags\":\"[\\\"Sports Specialist Student\\\"]\"}]"
}
Respons contoh
{
"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
| Resource | Deskripsi |
|---|---|
| Buat dan gunakan basis pengetahuan | Panduan pengguna basis pengetahuan |
| Retrieve API | Ambil segmen teks dari basis pengetahuan |
| Berikan izin API kepada RAM user | Siapkan akses RAM user untuk Retrieve API |
| Kode error | Pemecahan masalah kegagalan pemanggilan API |