Jika operasi Retrieve mengembalikan informasi yang tidak relevan, Anda dapat menggunakan parameter SearchFilters dalam permintaan untuk menentukan kondisi pengambilan kustom. Parameter ini menyaring hasil pencarian semantik dan mengecualikan informasi yang tidak terkait dengan kueri. Metode ini sangat efektif untuk data terstruktur.
Untuk detail lebih lanjut, lihat API Retrieve dari basis pengetahuan.
Perbandingan
Memanggil operasi Retrieve tanpa SearchFilters | Memanggil operasi Retrieve dengan SearchFilters |
Badan permintaan Retrieve: | Badan permintaan Retrieve: |
Ambil tanggapan:
Pengambilan semantik tradisional mengembalikan segmen teks yang tidak terlalu relevan dengan kueri "San Zhang". | Ambil tanggapan:
Parameter SearchFilters menyaring hasil pencarian semantik untuk mengecualikan segmen teks yang tidak relevan dengan kueri "San Zhang". |
Sintaksis
SearchFilters dapat berisi satu atau beberapa subgrup. Contoh berikut berisi dua subgrup. Setiap subgrup terdiri dari satu atau beberapa pasangan kunci-nilai, seperti `bidang pengambilan: nilai bidang`, yang digunakan untuk menyaring segmen teks yang diambil dari pencarian semantik. Secara default, operator logika AND diterapkan antar subgrup, dan perilaku ini tidak dapat diubah. Untuk informasi selengkapnya tentang penggunaan subgrup, lihat Contoh kueri subgrup.
{
"searchFilters": [
{
"Name": "San Zhang",
"Sex": "Male"
},
{
"Position": "Technician"
}
]
}Bidang pengambilan dalam subkelompok mendukung kueri nilai tunggal, kueri multi-nilai, kueri rentang, kueri kabur, dan kueri tag.
Kueri nilai tunggal: Jenis bidang dapat berupa nilai numerik (long atau double) atau string. Untuk informasi selengkapnya, lihat Contoh kueri nilai tunggal.
Kueri multi-nilai: Kueri ini mendukung array yang hanya berisi nilai numerik (long atau double) atau hanya nilai string. Untuk informasi selengkapnya, lihat Contoh kueri multi-nilai.
Kueri rentang: Mendukung kueri kesetaraan dan kueri interval. Untuk informasi lebih lanjut, lihat Contoh kueri rentang.
Kueri kesetaraan: Mendukung properti
eq(sama dengan) danneq(tidak sama dengan). Jenis bidang dapat berupa numerik (long atau double) atau string. Beberapa nilai tidak dapat dikonfigurasi untuk satu bidang. Nilainya tidak peka huruf besar/kecil.Kueri interval: Mendukung properti
gt(lebih besar dari),gte(lebih besar dari atau sama dengan),lt(kurang dari), danlte(kurang dari atau sama dengan). Jenis bidang harus berupa numerik (long atau double).
Kueri fuzzy: Jenis bidang harus berupa string. Properti
likedidukung. Untuk informasi selengkapnya, lihat Contoh kueri fuzzy.Kueri tag: Kueri ini hanya didukung untuk basis pengetahuan pencarian dokumen. Untuk informasi selengkapnya, lihat Contoh kueri tag.
Prasyarat
Sebelum menggunakan API Alibaba Cloud untuk mengelola basis pengetahuan, RAM user harus memperoleh kebijakan AliyunBailianDataFullAccess dan menjadi anggota ruang kerja. Persyaratan ini tidak berlaku untuk Akun Alibaba Cloud.
RAM user hanya dapat mengelola basis pengetahuan di ruang kerja tempat RAM user tersebut tergabung. Akun Alibaba Cloud dapat mengelola basis pengetahuan di semua ruang kerja.
Alibaba Cloud Model Studio SDK telah diinstal dan lingkungan telah dikonfigurasi.
Dapatkan dan konfigurasikan AccessKey dan Rahasia AccessKey sebagai Variabel lingkungan.
File EmployeeInformation.xlsx, yang berisi tiga catatan, telah disiapkan untuk membuat basis pengetahuan pada contoh berikut. Untuk informasi selengkapnya, lihat Buat dan gunakan basis pengetahuan.
Konfigurasi basis pengetahuan:
Tipe basis pengetahuan: Data Query
Sumber data: Unggah Tabel Data
Struktur bidang tabel data: Bidang Name, Sex, dan Position bertipe string, sedangkan bidang Age bertipe double.
Pengaturan indeks: Semua bidang digunakan untuk pengambilan dan dalam tanggapan model.

Contoh kode lengkap
Perluas panel berikut untuk melihat contoh kode Python dan Java lengkap yang disediakan dalam topik ini. Anda dapat mengimplementasikan kode untuk bahasa lain berdasarkan contoh-contoh ini.
Sebelum menjalankan kode contoh, Anda harus mendapatkan AccessKey dan Rahasia AccessKey serta mengonfigurasinya sebagai variabel lingkungan.
Python
SearchFiltersFullExample.py
# Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, 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 diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi selengkapnya tentang titik akhir, 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'
# Properti kueri grup 1 adalah Name dengan nilai San Zhang. Properti kueri grup 2 adalah Sex dengan nilai Female. Anda dapat menggantinya dengan properti dan nilai aktual.
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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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'
# Properti untuk kueri nilai tunggal adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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"]
# Properti untuk kueri multi-nilai adalah Name, yang sesuai dengan daftar names. Nilainya adalah "San Zhang" dan "Si Li" yang ditentukan. Anda dapat menggantinya dengan properti dan nilai aktual.
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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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'
# Properti kueri adalah Age dengan nilai berupa rentang. Anda dapat menggantinya dengan properti dan nilai aktual.
age_range = SearchFiltersFullExample.Range(20, 27)
retrieve_request.search_filters = [
{"Position": "Technician"}, # Grup 1: Kondisi filter Posisi
{"Age": json.dumps(age_range.to_dict())} # Grup 2: Kondisi filter rentang Usia
]
# 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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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'
# Properti untuk kueri fuzzy adalah Position dengan nilai Tech%ian. Karakter wildcard % cocok dengan string apa pun yang terdiri dari nol atau lebih karakter. Anda dapat menggantinya dengan nilai aktual.
position = SearchFiltersFullExample.QueryObject('Tech%ian')
retrieve_request.search_filters = [
{"Name": "San Zhang"}, # Kondisi filter Nama. Anda dapat menggantinya dengan properti dan nilai aktual.
{"Position": json.dumps(position.to_dict())} # Kondisi filter Posisi (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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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'
# 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)}
]
# 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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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'
# 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)}
]
# 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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
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 hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
*
* @return Client
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void subgroupQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Employees in the company named San Zhang");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map1 = new HashMap<>();
// Properti kueri grup 1 adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
map1.put("Name", "San Zhang");
Map<String, String> map2 = new HashMap<>();
// Properti kueri grup 2 adalah Sex dengan nilai Female. Anda dapat menggantinya dengan properti dan nilai aktual.
map2.put("Sex", "Female");
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void singleQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Employees in the company named San Zhang");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map = new HashMap<>();
// Properti untuk kueri nilai tunggal adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
map.put("Name", "San Zhang");
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void multiQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("All employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan beberapa nilai.
JsonArray array = new JsonArray();
array.add("San Zhang");
array.add("Si Li");
Map<String, String> map = new HashMap<>();
// Properti untuk kueri multi-nilai adalah Name, dan nilainya adalah "San Zhang" dan "Si Li" yang ditentukan. Anda dapat menggantinya dengan properti dan nilai aktual.
map.put("Name", array.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void rangeQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("All employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map1 = new HashMap<>();
// Properti kueri grup 1 adalah Sex dengan nilai Male. Anda dapat menggantinya dengan properti dan nilai aktual.
map1.put("Sex", "Male");
// Properti kueri grup 2 adalah Age dengan nilai berupa rentang. Anda dapat menggantinya dengan properti dan nilai aktual.
Map<String, String> map2 = new HashMap<>();
Range range = new Range(20, 27);
map2.put("Age", new Gson().toJson(range));
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void wildcardQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Male employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Properti kueri grup 1 adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
Map<String, String> map1 = new HashMap<>();
map1.put("Name", "San Zhang");
// Properti kueri grup 2 adalah Position dengan nilai Tech%ian. Karakter wildcard % cocok dengan string apa pun yang terdiri dari nol atau lebih karakter. Anda dapat menggantinya dengan nilai aktual.
Map<String, String> map2 = new HashMap<>();
QueryObject queryObject = new QueryObject("Tech%ian");
map2.put("Position", new Gson().toJson(queryObject));
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void tagQuery() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Provide some candidates");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan tag. Hubungan logis antara beberapa tag adalah OR, bukan AND.
JsonArray array = new JsonArray();
array.add("University A");
array.add("Student Union President");
Map<String, String> map = new HashMap<>();
map.put("tags", array.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void tagQuery2() {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Provide some candidates");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan tag.
JsonArray tag1 = new JsonArray();
tag1.add("University A");
JsonArray tag2 = new JsonArray();
tag2.add("Sports Specialist Student");
Map<String, String> map1 = new HashMap<>();
map1.put("tags", tag1.toString());
Map<String, String> map2 = new HashMap<>();
map2.put("tags", tag2.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
subgroupQuery();
singleQuery();
multiQuery();
rangeQuery();
wildcardQuery();
tagQuery();
tagQuery2();
}
static class Range {
double gte;
double lte;
public Range(double gte, double lte) {
this.gte = gte;
this.lte = lte;
}
}
static class QueryObject {
String like;
public QueryObject(String prefix) {
this.like = prefix;
}
public String getLike() {
return like;
}
public void setLike(String like) {
this.like = like;
}
}
}Memulai
Bagian berikut menjelaskan cara menggunakan SearchFilters untuk kueri.
Contoh kueri subgrup
Subgrup digunakan untuk menyaring hasil pengambilan dari basis pengetahuan dan hanya mengembalikan segmen teks yang memenuhi kondisi tertentu. Anda dapat menambahkan beberapa subgrup, yang merepresentasikan kondisi, ke SearchFilters. Secara default, subgrup dikombinasikan menggunakan operator AND, dan perilaku ini tidak dapat diubah.
Contoh: Ambil catatan dari basis pengetahuan informasi karyawan di mana Name adalah San Zhang dan Sex adalah Female. Tidak ada catatan seperti itu dalam basis pengetahuan ini.
{
"searchFilters": [
{
"Name": "San Zhang"
},
{
"Sex": "Female"
}
]
}Perluas panel berikut untuk melihat kode contoh.
Python
SubGroupQueryExample.py
# Kode sampel ini hanya untuk referensi. Jangan gunakan di 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 Kunci Akses.
@return: Klien
@throws Exception
"""
# Kode yang bocor yang berisi pasangan Kunci Akses mengancam keamanan semua sumber daya di akun Anda. Kode sampel berikut hanya untuk referensi.
# Kami menyarankan Anda menggunakan metode yang lebih aman, seperti Layanan Token Keamanan (STS), untuk mengelola kredensial akses. Untuk informasi selengkapnya, 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 diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi selengkapnya tentang titik akhir, 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 yang sebenarnya.
retrieve_request.query = 'Karyawan di perusahaan bernama San Zhang'
# Wajib. Masukkan ID basis pengetahuan yang sebenarnya.
retrieve_request.index_id = 'Masukkan ID basis pengetahuan yang sebenarnya'
# Properti kueri kelompok 1 adalah Nama dan nilainya adalah San Zhang. Properti kueri kelompok 2 adalah Jenis Kelamin dan nilainya adalah Perempuan. Anda dapat menggantinya dengan properti dan nilai yang sebenarnya.
retrieve_request.search_filters = [
{"Name": "San Zhang"},
{"Sex": "Female"}
]
# Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
resp = client.retrieve('Masukkan ID ruang kerja yang sebenarnya', retrieve_request)
print(UtilClient.to_jsonstring(resp))
except Exception as error:
# Ini hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
# Pesan kesalahan
print(error.message)
if __name__ == '__main__':
SubGroupQueryExample.main(sys.argv[1:])
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Karyawan di perusahaan bernama San Zhang",
"searchFilters": [
{
"Name": "San Zhang"
},
{
"Sex": "Female"
}
]
}Tanggapan contoh
{
"code": "Success",
"data": {
"nodes": []
},
"message": "success",
"requestId": "5BA30772-xxxx-560C-B1F7-C1DA737A9D80",
"status": "200",
"success": true
}Java
SubGroupQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Employees in the company named San Zhang");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map1 = new HashMap<>();
// Properti kueri grup 1 adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
map1.put("Name","San Zhang");
Map<String, String> map2 = new HashMap<>();
// Properti kueri grup 2 adalah Sex dengan nilai Female. Anda dapat menggantinya dengan properti dan nilai aktual.
map2.put("Sex","Female");
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
}
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Karyawan di perusahaan bernama San Zhang",
"searchFilters": [
{
"Name": "San Zhang"
},
{
"Sex": "Female"
}
]
}Tanggapan contoh
{
"code": "Success",
"data": {
"nodes": []
},
"message": "success",
"requestId": "5BA30772-xxxx-560C-B1F7-C1DA737A9D80",
"status": "200",
"success": true
}Contoh kueri nilai tunggal
Dalam kueri nilai tunggal, Anda memberikan satu nilai untuk bidang pengambilan.
Contoh: Ambil catatan dari basis pengetahuan informasi karyawan di mana Name adalah San Zhang.
{
"searchFilters": [
{
"name": "Zhang San"
}
]
}Perluas panel berikut untuk melihat kode contoh.
Python
SingleQueryExample.py
# Kode contoh 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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya di akun Anda. Kode contoh berikut hanya untuk referensi.
# Kami merekomendasikan Anda menggunakan metode yang lebih aman, seperti Layanan Token Keamanan (STS), untuk mengelola kredensial akses. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
config = open_api_models.Config(
# Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi lebih lanjut tentang titik akhir, 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()
# Diperlukan. Anda dapat memasukkan prompt aktual.
retrieve_request.query = 'Karyawan di perusahaan bernama San Zhang'
# Diperlukan. Masukkan ID basis pengetahuan aktual.
retrieve_request.index_id = 'Masukkan ID basis pengetahuan aktual'
# Properti untuk kueri nilai tunggal adalah Nama 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('Masukkan ID ruang kerja aktual', retrieve_request)
print(UtilClient.to_jsonstring(resp.body))
except Exception as error:
# Ini hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
# Pesan kesalahan
print(error.message)
if __name__ == '__main__':
SingleQueryExample.main(sys.argv[1:])
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "employees named Zhang San",
"searchFilters": [
{
"name": "Zhang San"
}
]
}Tanggapan contoh
{
"code": "Success",
"data": {
"nodes": [
{
"metadata": {
"_rc_v_score": 0.32581159472465515,
"_q_score": 1,
"source": "0",
"_score": 0.4556944966316223,
"doc_id": "table_xxxx75507aab4bd9a24c18d098b2e8ac_10285263_1",
"Sex": "Male",
"_rc_score": 0,
"Name": "San Zhang",
"doc_name": "Employee Sheet",
"_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_200275507aab4bd9a24c18d098b2e8ac_10285263_1",
"Age": "25",
"Position": "Technician"
},
"score": 0.4556944966316223,
"text": "Name:San Zhang Age:25 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "2FA4113E-xxxx-59C1-BDB2-5B930D8C9B1C",
"status": "200",
"success": true
}Java
SingleQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Employees in the company named San Zhang");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map = new HashMap<>();
// Properti untuk kueri nilai tunggal adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
map.put("Name","San Zhang");
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
}Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Karyawan di perusahaan bernama San Zhang",
"searchFilters": [
{
"Name": "San Zhang"
}
]
}Tanggapan contoh
{
"code": "Success",
"data": {
"nodes": [
{
"metadata": {
"_rc_v_score": 0.32581159472465515,
"_q_score": 1,
"source": "0",
"_score": 0.4556944966316223,
"doc_id": "table_xxxx75507aab4bd9a24c18d098b2e8ac_10285263_1",
"Sex": "Male",
"_rc_score": 0,
"Name": "San Zhang",
"doc_name": "Employee Sheet",
"_id": "llm-xxxxpd1xdjqp8itj_27ubwxxxxx_table_xxxx75507aab4bd9a24c18d098b2e8ac_10285263_1",
"Age": "25",
"Position": "Technician"
},
"score": 0.4556944966316223,
"text": "Name:San Zhang Age:25 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "2FA4113E-xxxx-59C1-BDB2-5B930D8C9B1C",
"status": "200",
"success": true
}Contoh kueri multi-nilai
Kueri multi-nilai memungkinkan Anda mengirimkan beberapa nilai untuk bidang pengambilan, mirip dengan operator IN dalam SQL.
Contoh: Ambil catatan dari basis pengetahuan informasi karyawan di mana Name adalah San Zhang atau Si Li.
{
"searchFilters": [
{
"Name": ["Zhang San","Li Si"]
}
]
}Perluas panel berikut untuk melihat kode contoh.
Python
MultiQueryExample.py
# Kode contoh hanya untuk referensi. Jangan gunakan di 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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya di akun Anda. Kode contoh berikut hanya untuk referensi.
# Kami menyarankan Anda menggunakan metode yang lebih aman, seperti Layanan Token Keamanan (STS), untuk mengelola kredensial akses. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
config = open_api_models.Config(
# Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi lebih lanjut tentang titik akhir, 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()
# Diperlukan. Anda dapat memasukkan prompt aktual.
retrieve_request.query = 'Semua karyawan di perusahaan'
# Diperlukan. Masukkan ID basis pengetahuan aktual.
retrieve_request.index_id = 'Masukkan ID basis pengetahuan aktual'
# Buat daftar untuk menyimpan beberapa nilai.
names = ["San Zhang", "Si Li"]
# Properti untuk kueri multi-nilai adalah Nama, yang sesuai dengan daftar nama. Nilainya adalah "San Zhang" dan "Si Li" yang ditentukan. Anda dapat menggantinya dengan properti dan nilai aktual.
retrieve_request.search_filters = [{"Name": json.dumps(names)}]
# Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
resp = client.retrieve('Masukkan ID ruang kerja aktual', retrieve_request)
print(UtilClient.to_jsonstring(resp.body))
except Exception as error:
# Ini hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
# Pesan kesalahan
print(error.message)
if __name__ == '__main__':
MultiQueryExample.main(sys.argv[1:])Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "All employees in the company",
"searchFilters": [
{
"Name": ["San Zhang", "Si Li"]
}
]
}Tanggapan 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": "Technician"
},
"score": 0.3322954773902893,
"text": "Name:San Zhang Age:25.0 Position:Technician 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
}Java
MultiQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("All employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan beberapa nilai.
JsonArray array = new JsonArray();
array.add("San Zhang");
array.add("Si Li");
Map<String, String> map = new HashMap<>();
// Properti untuk kueri multi-nilai adalah Name, dan nilainya adalah "San Zhang" dan "Si Li" yang ditentukan. Anda dapat menggantinya dengan properti dan nilai aktual.
map.put("Name", array.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
}
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "All employees in the company",
"searchFilters": [
{
"Name": ["San Zhang", "Si Li"]
}
]
}Tanggapan 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": "Technician"
},
"score": 0.3322954773902893,
"text": "Name:San Zhang Age:25.0 Position:Technician 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
}Contoh kueri rentang
Anda dapat menggunakan kueri rentang untuk menemukan semua catatan di mana nilai bidang pengambilan, seperti usia, berada dalam rentang tertentu.
Contoh: Ambil catatan dari basis pengetahuan informasi karyawan di mana Position adalah Technician (kueri nilai tunggal) dan Age berada di antara 20 dan 25 (kueri rentang).
{
"searchFilters": [
{
"Position": "Technician"
},
{
"Age": {
"gte": 20,
"lte": 25
}
}
]
}Perluas panel berikut untuk melihat contoh kode.
Python
RangeQueryExample.py
# Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, 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 diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi selengkapnya tentang titik akhir, 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'
# Properti kueri adalah Age dengan nilai berupa rentang. Anda dapat menggantinya dengan properti dan nilai aktual.
age_range = RangeQueryExample.Range(20, 27)
retrieve_request.search_filters = [
{"Position": "Technician"}, # Grup 1: Kondisi filter Posisi
{"Age": json.dumps(age_range.to_dict())} # Grup 2: Kondisi filter rentang Usia
]
# 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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
print(error.message)
if __name__ == '__main__':
RangeQueryExample.main(sys.argv[1:])
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Semua karyawan di perusahaan",
"searchFilters": [
{
"Sex": "Pria"
},
{
"Age": "{\"gte\":20.0,\"lte\":27.0}"
}
]
}Tanggapan 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": "Technician"
},
"score": 0.3322954773902893,
"text": "Name:San Zhang Age:25.0 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "AE0B5ABC-xxxx-54A1-9ED4-91865B859DF6",
"status": "200",
"success": true
}Java
RangeQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("All employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
Map<String, String> map1 = new HashMap<>();
// Properti kueri grup 1 adalah Sex dengan nilai Male. Anda dapat menggantinya dengan properti dan nilai aktual.
map1.put("Sex", "Male");
// Properti kueri grup 2 adalah Age dengan nilai berupa rentang. Anda dapat menggantinya dengan properti dan nilai aktual.
Map<String, String> map2 = new HashMap<>();
Range range = new Range(20, 27);
map2.put("Age", new Gson().toJson(range));
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
static class Range {
double gte;
double lte;
public Range(double gte, double lte) {
this.gte = gte;
this.lte = lte;
}
}
}Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "Semua karyawan di perusahaan",
"searchFilters": [
{
"Sex": "Pria"
},
{
"Age": "{\"gte\":20.0,\"lte\":27.0}"
}
]
}Tanggapan 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": "Technician"
},
"score": 0.3322954773902893,
"text": "Name:San Zhang Age:25.0 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "AE0B5ABC-xxxx-54A1-9ED4-91865B859DF6",
"status": "200",
"success": true
}Contoh kueri fuzzy
Kueri fuzzy menggunakan karakter wildcard untuk menemukan catatan yang berisi urutan karakter tertentu, mirip dengan operator LIKE dalam SQL.
Kueri fuzzy di SearchFilters mendukung karakter wildcard berikut, yang konsisten dengan sintaksis SQL:
Karakter wildcard | Deskripsi |
% | Menggantikan nol atau lebih karakter. |
_ | Menggantikan satu karakter. |
Contoh: Ambil catatan dari basis pengetahuan informasi karyawan di mana Name adalah Zhang San, dan Position mengandung kedua karakter 技 dan 员 (misalnya, 'technician' atau 'technical staff').
{
"searchFilters": [
{
"name": "Zhang San"
},
{
"position": {
"like": "Tech%ian"
}
}
]
}Perluas panel berikut untuk melihat kode contoh.
Python
WildcardQueryExample.py
# Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, 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 diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi selengkapnya tentang titik akhir, 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'
# Properti untuk kueri fuzzy adalah Position dengan nilai Tech%ian. Karakter wildcard % cocok dengan string apa pun yang terdiri dari nol atau lebih karakter. Anda dapat menggantinya dengan nilai aktual.
position = WildcardQueryExample.QueryObject('Tech%ian')
retrieve_request.search_filters = [
{"Name": "San Zhang"}, # Kondisi filter Nama. Anda dapat menggantinya dengan properti dan nilai aktual.
{"Position": json.dumps(position.to_dict())} # Kondisi filter Posisi (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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
print(error.message)
if __name__ == '__main__':
WildcardQueryExample.main(sys.argv[1:])
Permintaan contoh
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "male employees in the company",
"searchFilters": [
{
"Name": "Zhang San"
},
{
"Position": "{\"like\":\"Tech%ian\"}"
}
]
}Tanggapan 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": "Technician"
},
"score": 0.46098726987838745,
"text": "Name:San Zhang Age:25.0 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "FA759FEC-xxxx-50B7-A64D-BE49A7DF56B8",
"status": "200",
"success": true
}Java
WildcardQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
*
* @return Client
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args_) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Male employees in the company");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Properti kueri grup 1 adalah Name dengan nilai San Zhang. Anda dapat menggantinya dengan properti dan nilai aktual.
Map<String, String> map1 = new HashMap<>();
map1.put("Name", "San Zhang");
// Properti kueri grup 2 adalah Position dengan nilai Tech%ian. Karakter wildcard % cocok dengan string apa pun yang terdiri dari nol atau lebih karakter. Anda dapat menggantinya dengan nilai aktual.
Map<String, String> map2 = new HashMap<>();
QueryObject queryObject = new QueryObject("Tech%ian");
map2.put("Position", new Gson().toJson(queryObject));
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
static class QueryObject {
String like;
public QueryObject(String prefix) {
this.like = prefix;
}
public String getLike() {
return like;
}
public void setLike(String like) {
this.like = like;
}
}
}Contoh Permintaan
{
"indexId": "27ubwxxxxx",
"WorkspaceId":"llm-4u5xpd1xdjxxxxxx",
"query": "male employees in the company",
"searchFilters": [
{
"Name": "Zhang San"
},
{
"Position": "{\"like\":\"Tech%ian\"}"
}
]
}Tanggapan 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": "Technician"
},
"score": 0.46098726987838745,
"text": "Name:San Zhang Age:25.0 Position:Technician Sex:Male"
}
]
},
"message": "success",
"requestId": "FA759FEC-xxxx-50B7-A64D-BE49A7DF56B8",
"status": "200",
"success": true
}Contoh kueri tag
Saat mencari basis pengetahuan pencarian dokumen, Anda dapat menggunakan tag untuk menyaring file dan meningkatkan efisiensi serta akurasi pengambilan.
Contoh: Buat basis pengetahuan pencarian dokumen yang berisi informasi tentang tiga individu: San Zhang, Si Li, dan Wu Wang.

File sebelumnya memiliki tag sebagai berikut:
File | Tag |
Resume San Zhang |
|
Resume Si Li |
|
Wang Wu's Resume |
|
Sebagai contoh, gunakan SearchFilters untuk mengkueri basis pengetahuan bakat dan mengembalikan segmen teks dari file yang memiliki tag University A atau Student Union President:
Hubungan logis OR berlaku untuk beberapa tag, bukan hubungan logis AND. Anda dapat menggunakan kueri subgrup untuk menerapkan logika AND.
{
"searchFilters": [
{
"tags": ["University A","Student Union President"]
}
]
}Perluas panel berikut untuk melihat kode contoh.
Python
TagQueryExample.py
# Kode contoh 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
"""
# Kebocoran kode yang berisi pasangan AccessKey mengancam keamanan semua sumber daya di akun Anda. Kode contoh berikut hanya untuk referensi.
# Kami merekomendasikan metode yang lebih aman, seperti Layanan Token Keamanan (STS), untuk mengelola kredensial akses. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/id/sdk/developer-reference/v2-manage-python-access-credentials.
config = open_api_models.Config(
# Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah disetel.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Diperlukan. 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 titik akhir, 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()
# Diperlukan. Anda bisa memasukkan prompt aktual.
retrieve_request.query = 'Berikan beberapa kandidat'
# Diperlukan. Masukkan ID basis pengetahuan aktual.
retrieve_request.index_id = 'Masukkan ID basis pengetahuan aktual'
# Buat daftar untuk menyimpan tag. Hubungan logis antara beberapa tag adalah OR, bukan AND.
tags = ["Universitas A", "Presiden Mahasiswa"]
retrieve_request.search_filters = [
{"tags": json.dumps(tags)}
]
try:
# Lakukan pengambilan. Masukkan ID ruang kerja dan objek retrieve_request.
resp = client.retrieve('Masukkan ID ruang kerja aktual', retrieve_request)
print(UtilClient.to_jsonstring(resp.body))
except Exception as error:
# Ini hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian dalam proyek Anda.
# Pesan kesalahan
print(error.message)
if __name__ == '__main__':
TagQueryExample.main(sys.argv[1:])Permintaan contoh
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Provide some candidates",
"SearchFilters": [{"tags":["University A", "Student Union President"]}]
}Tanggapan 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=LTAI************&Signature=roY%2Falbh6smkLdPuA6wjnZRVMa4%3D",
"is_displayed_chunk_content": "true",
"_rc_v_score": 0.1422617520249937,
"image_url": [],
"nid": "ba8a14099f43308734538c29271cc7cd|b99e98835c3c6d8f6496df5a43de0ba5|aa3ed8fc4aae8bbb78872994b01e0fda",
"_q_score": 0.8935035934804278,
"source": "0",
"_score": 0.1736905574798584,
"title": "",
"doc_id": "file_e787926158704f95aad6bc967619f176_10285263",
"content": "Nama: San Zhang Jenis Kelamin: Laki-laki Usia: 23",
"_rc_score": 0,
"workspace_id": "llm-4u5xpd1xdjxxxxxx",
"hier_title": "",
"page_number": [
0
],
"doc_name": "Resume San Zhang",
"pipeline_id": "8mbtdxxxxx",
"_id": "llm-4u5xpd1xdjxxxxxx_8mbtdxxxxx_file_e787926158704f95aad6bc967619f176_10285263_0_0"
},
"Score": 0.1736905574798584,
"Text": "Nama: San Zhang Jenis Kelamin: Laki-laki Usia: 23"
},
{
"Metadata": {
"file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/Wang_Wu_Resume_1746760946844.json?Expires=1747020348&OSSAccessKeyId=LTAI************&Signature=gTGPTce5xUu9mtcMcmyMEeb5azk%3D",
"is_displayed_chunk_content": "true",
"_rc_v_score": 0.1592178845871759,
"image_url": [],
"nid": "ba8a14099f43308734538c29271cc7cd|d4a048b6799ce07e08430f018af091a0|fe90f8248ea64f70ea37c0df7afcfc12",
"_q_score": 1,
"source": "0",
"_score": 0.15737050771713257,
"title": "",
"doc_id": "file_63563df5df66488cb8e28bfff11e40eb_10285263",
"content": "Nama: Wu Wang Jenis Kelamin: Laki-laki Usia: 23",
"_rc_score": 0,
"workspace_id": "llm-4u5xpd1xdjxxxxxx",
"hier_title": "",
"page_number": [
0
],
"doc_name": "Resume Wu Wang",
"pipeline_id": "8mbtdxxxxx",
"_id": "llm-4u5xpd1xdjxxxxxx_8mbtdxxxxx_file_63563df5df66488cb8e28bfff11e40eb_10285263_0_0"
},
"Score": 0.15737050771713257,
"Text": "Nama: Wu Wang Jenis Kelamin: Laki-laki Usia: 23"
}
]
},
"Message": "success",
"RequestId": "12A5F9C6-xxxx-5593-8955-86D52585EE27",
"Status": 200,
"Success": true
}Java
TagQueryExample.java
// Kode contoh hanya untuk referensi. Jangan menggunakannya di 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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
*
* @return Client
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Provide some candidates");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan tag. Hubungan logis antara beberapa tag adalah OR, bukan AND.
JsonArray array = new JsonArray();
array.add("University A");
array.add("Student Union President");
Map<String, String> map = new HashMap<>();
map.put("tags", array.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
}
Permintaan contoh
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Provide some candidates",
"SearchFilters": "[{\"tags\":[\"University A\", \"Student Union President\"]}]"
}Tanggapan contoh
{
"Code": "Success",
"Data": {
"Nodes": [
{
"Metadata": {
"file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/%E5%BC%A0%E4%B8%89%E7%AE%80%E5%8E%86_1746760910599.json?Expires=1747020348&OSSAccessKeyId=LTAI************&Signature=roY%2Falbh6smkLdPuA6wjnZRVMa4%3D",
"is_displayed_chunk_content": "true",
"_rc_v_score": 0.1422617520249937,
"image_url": [],
"nid": "ba8a14099f43308734538c29271cc7cd|b99e98835c3c6d8f6496df5a43de0ba5|aa3ed8fc4aae8bbb78872994b01e0fda",
"_q_score": 0.8935035934804278,
"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"
},
{
"Metadata": {
"file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/%E7%8E%8B%E4%BA%94%E7%AE%80%E5%8E%86_1746760946844.json?Expires=1747020348&OSSAccessKeyId=LTAI************&Signature=gTGPTce5xUu9mtcMcmyMEeb5azk%3D",
"is_displayed_chunk_content": "true",
"_rc_v_score": 0.1592178845871759,
"image_url": [],
"nid": "ba8a14099f43308734538c29271cc7cd|d4a048b6799ce07e08430f018af091a0|fe90f8248ea64f70ea37c0df7afcfc12",
"_q_score": 1,
"source": "0",
"_score": 0.15737050771713257,
"title": "",
"doc_id": "file_63563df5df66488cb8e28bfff11e40eb_10285263",
"content": "Name: Wu Wang Sex: Male Age: 23",
"_rc_score": 0,
"workspace_id": "llm-4u5xpd1xdjxxxxxx",
"hier_title": "",
"page_number": [
0
],
"doc_name": "Wu Wang's Resume",
"pipeline_id": "8mbtdxxxxx",
"_id": "llm-4u5xpd1xdjxxxxxx_8mbtdxxxxx_file_63563df5df66488cb8e28bfff11e40eb_10285263_0_0"
},
"Score": 0.15737050771713257,
"Text": "Name: Wu Wang Sex: Male Age: 23"
}
]
},
"Message": "success",
"RequestId": "12A5F9C6-xxxx-5593-8955-86D52585EE27",
"Status": 200,
"Success": true
}Contoh: Gunakan SearchFilters untuk menanyakan basis pengetahuan bakat dan mengembalikan segmen teks dari file yang memiliki kedua tag Universitas A dan Mahasiswa Spesialis Olahraga (logika AND):
{
"searchFilters": [
{
"tags": ["University A"]
},
{
"tags": ["Sports Specialist Student"]
}
]
}Perluas panel berikut untuk melihat kode contoh.
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 Kunci Akses.
@return: Client
@throws Exception
"""
# Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/zh/sdk/developer-reference/v2-manage-python-access-credentials.
config = open_api_models.Config(
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Untuk informasi selengkapnya tentang titik akhir, 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 = TagQueryExample2.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:
# Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
# Pesan error
print(error.message)
if __name__ == '__main__':
TagQueryExample2.main(sys.argv[1:]) Permintaan contoh
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Provide some candidates",
"SearchFilters": [{"tags":["University A"]},{"tags":["Sports Specialist Student"]}]
}Tanggapan contoh
{
"Code": "Success",
"Data": {
"Nodes": [
{
"Metadata": {
"file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/%E5%BC%A0%E4%B8%89%E7%AE%80%E5%8E%86_1746760910599.json?Expires=1747020348&OSSAccessKeyId=LTAI************&Signature=roY%2Falbh6smkLdPuA6wjnZRVMa4%3D",
"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
}
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 :
* <p>Menginisialisasi klien menggunakan Pasangan Kunci Akses.</p>
*
* @return Client
* @throws Exception
*/
public static com.aliyun.bailian20231229.Client createClient() throws Exception {
// Kebocoran kode yang berisi Pasangan Kunci Akses mengancam keamanan semua sumber daya 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 selengkapnya, lihat https://www.alibabacloud.com/help/sdk/developer-reference/v2-manage-access-credentials.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID telah diatur.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Wajib. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah diatur.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// Untuk informasi selengkapnya tentang titik akhir, lihat https://www.alibabacloud.com/help/model-studio/api-bailian-2023-12-29-endpoint
config.endpoint = "bailian.ap-southeast-1.aliyuncs.com";
return new com.aliyun.bailian20231229.Client(config);
}
public static void main(String[] args) {
try {
com.aliyun.bailian20231229.Client client = createClient();
// Buat objek RetrieveRequest.
RetrieveRequest request = new RetrieveRequest();
// Wajib. Anda dapat memasukkan prompt aktual.
request.setQuery("Provide some candidates");
// Wajib. Masukkan ID basis pengetahuan aktual.
request.setIndexId("Enter the actual knowledge base ID");
// Buat JsonArray untuk menyimpan tag.
JsonArray tag1 = new JsonArray();
tag1.add("University A");
JsonArray tag2 = new JsonArray();
tag2.add("Sports Specialist Student");
Map<String, String> map1 = new HashMap<>();
map1.put("tags", tag1.toString());
Map<String, String> map2 = new HashMap<>();
map2.put("tags", tag2.toString());
List<Map<String, String>> searchFilters = new ArrayList<>();
searchFilters.add(map1);
searchFilters.add(map2);
request.setSearchFilters(searchFilters);
// Lakukan pengambilan. Masukkan ID ruang kerja dan objek RetrieveRequest.
RetrieveResponse resp = client.retrieve("Enter the actual workspace ID", request);
System.out.println(new Gson().toJson(resp.getBody()));
} catch (Exception e) {
// Tangani kegagalan pengambilan basis pengetahuan.
// Hanya untuk demonstrasi. Tangani pengecualian dengan hati-hati. Jangan abaikan pengecualian di proyek Anda.
System.out.println(e.getMessage());
}
}
}
Permintaan contoh
{
"IndexId": "8mbtdxxxxx",
"WorkspaceId": "llm-4u5xpd1xdjxxxxxx",
"Query": "Provide some candidates",
"SearchFilters": [{"tags":["University A"]},{"tags":["Sports Specialist Student"]}]
}Tanggapan contoh
{
"Code": "Success",
"Data": {
"Nodes": [
{
"Metadata": {
"file_path": "https://bailian-datahub-data-prod.oss-cn-beijing.aliyuncs.com/10285263/multimodal/docJson/%E5%BC%A0%E4%B8%89%E7%AE%80%E5%8E%86_1746760910599.json?Expires=1747020348&OSSAccessKeyId=LTAI************&Signature=roY%2Falbh6smkLdPuA6wjnZRVMa4%3D",
"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
}
Referensi
Panduan pengguna basis pengetahuan | Untuk informasi lebih lanjut, lihat Buat dan gunakan basis pengetahuan. |
Ambil dari basis pengetahuan | Anda dapat memanggil Retrieve API untuk mengambil dari basis pengetahuan dan mengembalikan segmen teks. |
Panggilan oleh Pengguna RAM | Sebelum RAM user dapat memanggil API Retrieve, pengguna harus mendapatkan izin data untuk Alibaba Cloud Model Studio. Untuk informasi selengkapnya, lihat Berikan izin API kepada RAM user. |
Kode kesalahan
Jika pemanggilan gagal dan pesan error dikembalikan, lihat Pusat Error untuk memecahkan masalah.

