全部产品
Search
文档中心

ApsaraDB RDS:AI (rds_ai)

更新时间:Jan 06, 2026

ApsaraDB RDS untuk PostgreSQL menyediakan ekstensi AI rds_ai, yang mengintegrasikan model canggih dari Alibaba Cloud Model Studio seperti Qwen, text embedding,. Ekstensi ini memungkinkan Anda menerapkan berbagai skenario dalam database ApsaraDB RDS untuk PostgreSQL, termasuk tanya jawab berbasis large language model (LLM), konversi teks ke vektor, pengambilan vektor serupa top-N, serta tanya jawab berbasis retrieval-augmented generation (RAG). Selain itu, rds_ai mendukung model kustom, sehingga Anda dapat menambahkan model yang diperlukan untuk mengimplementasikan berbagai aplikasi AI di ApsaraDB RDS untuk PostgreSQL.

Prasyarat

  • Instans Anda memenuhi persyaratan versi berikut:

    Versi mayor

    Versi mesin minor

    PostgreSQL 16

    20241230 atau yang lebih baru

    PostgreSQL 14, 15, 17

    20250430 atau yang lebih baru

    PostgreSQL 18

    20251130 atau yang lebih baru

    Untuk petunjuk peningkatan versi mesin minor, lihat Upgrade a minor engine version.

  • Anda telah membuat akun istimewa untuk ApsaraDB RDS untuk PostgreSQL. Untuk informasi selengkapnya, lihat Create an account.

  • Model yang digunakan dalam topik ini disediakan oleh Alibaba Cloud Model Studio. Anda harus mengaktifkan Model Studio dan mendapatkan Kunci API. Untuk informasi selengkapnya, lihat Obtain an API key.

Konfigurasi jaringan

Secara default, database ApsaraDB RDS untuk PostgreSQL tidak dapat mengakses jaringan eksternal. Untuk mengizinkan akses ke model eksternal, Anda dapat mengonfigurasi NAT Gateway untuk VPC tempat instans ApsaraDB RDS untuk PostgreSQL Anda berada. Untuk informasi selengkapnya tentang gateway NAT, lihat Use the SNAT feature of an Internet NAT gateway to access the Internet.

Buat dan hapus ekstensi

Penting

Sebelum menginstal ekstensi, pastikan versi mayor dan minor mesin instans ApsaraDB RDS untuk PostgreSQL Anda untuk memastikan ekstensi ini didukung. Untuk informasi selengkapnya, lihat Prasyarat.

  • Instal plugin pada halaman Plugin Management.

    1. Buka halaman RDS Instances, pilih wilayah di bilah navigasi atas, lalu klik ID instans target.

    2. Pada panel navigasi sebelah kiri, klik Plug-ins.

    3. Pada halaman Plugin Marketplace, klik Install untuk plugin rds_ai.

    4. Pada jendela yang muncul, pilih database dan akun target. Lalu, klik Install untuk menginstal ekstensi di database yang dipilih.

    (Opsional) Anda dapat menguninstal plugin pada tab Installed Plugins di halaman Manage Plugins.

  • Instal ekstensi menggunakan perintah SQL

    Buat ekstensi

    CREATE EXTENSION IF NOT EXISTS rds_ai CASCADE;
    Catatan
    • Hanya akun istimewa yang dapat menjalankan perintah ini. Untuk informasi selengkapnya tentang cara membuat akun istimewa, lihat Create an account.

    • Saat Anda membuat ekstensi rds_ai, ekstensi pgvector User Guide dan pgsql-http juga dibuat.

    • Anda dapat menjalankan SELECT * FROM pg_extension; untuk melihat ekstensi yang telah diinstal.

    Hapus plugin

    DROP EXTENSION rds_ai;

Model default

Ekstensi rds_ai mendukung model default berikut. Anda juga dapat menambahkan model kustom sesuai kebutuhan.

Jenis API

Parameter

Tipe parameter

Model default

Prompt API

rds_ai.default_prompt_model

enum

  • qwen-plus (default)

  • qwen-max

  • qwen-turbo

Embed API

rds_ai.default_embed_model

enum

text-embedding-v3

Catatan

Untuk mengubah model default, Anda harus menambahkan rds_ai ke Running Value parameter shared_preload_libraries. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Set instance parameters. Misalnya, ubah Running Value menjadi 'pg_stat_statements,auto_explain,rds_ai'.

Model default ekstensi rds_ai menyediakan kemampuan berikut:

Pengaturan dasar

  1. Sebelum menggunakan rds_ai untuk memanggil LLM, Anda harus mengonfigurasi Kunci API yang sesuai.

    -- Setel Kunci API untuk model target.
    SELECT rds_ai.update_model('qwen-plus', 'token', 'sk-****'); 
    
    -- Setel Kunci API untuk semua model dalam rds_ai.model_list.
    SELECT rds_ai.update_model(model_name,'token','sk-****') FROM rds_ai.model_list;
  2. Jalankan perintah berikut untuk mengonfigurasi URL model default.

    -- Model qwen-plus
    SELECT rds_ai.update_model('qwen-plus', 'uri', 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation'); 
    
    -- Model qwen-max
    SELECT rds_ai.update_model('qwen-max', 'uri', 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation'); 
    
    -- Model qwen-turbo
    SELECT rds_ai.update_model('qwen-turbo', 'uri', 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation'); 
    
    -- Model text-embedding-v3
    SELECT rds_ai.update_model('text-embedding-v3', 'uri', 'https://dashscope-intl.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding'); 
  3. Ekstensi rds_ai menggunakan ekstensi pgsql-http untuk melakukan panggilan remote ke model. Anda dapat mengonfigurasi pengaturan timeout berikut untuk menghentikan panggilan yang berjalan lama.

    Catatan

    Pengaturan timeout berikut berlaku pada tingkat sesi. Jika Anda membuat koneksi baru, Anda harus mengonfigurasinya kembali.

    -- Setel timeout permintaan dalam milidetik.
    SET http.timeout_msec TO 200000;
    
    SELECT http.http_set_curlopt('CURLOPT_TIMEOUT', '200000');
    
    -- Setel timeout koneksi.
    SELECT http.http_set_curlopt('CURLOPT_CONNECTTIMEOUT_MS', '200000');

Tanya jawab berbasis LLM

Model tanya jawab berbasis LLM default untuk ekstensi rds_ai adalah Qwen-Text Generation.

  1. (Opsional) Anda dapat menyetel model bahasa besar default untuk tanya jawab. Jika tidak dikonfigurasi, sistem akan menggunakan model qwen-plus secara default.

    Catatan

    Untuk mengubah model default, Anda harus menambahkan rds_ai ke Running Value parameter shared_preload_libraries. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Set instance parameters. Misalnya, ubah Running Value menjadi 'pg_stat_statements,auto_explain,rds_ai'.

    SET rds_ai.default_prompt_model TO 'qwen-max';
  2. Gunakan rds_ai.prompt untuk memanggil LLM default untuk tanya jawab. Contohnya:

    SELECT rds_ai.prompt('Give me a recipe using carrots, potatoes, and eggplants.');

    Panggilan API lengkap:

    SELECT rds_ai.prompt(
      model_name=>'qwen-plus', -- nama model
      content=>'Give me a recipe using carrots, potatoes, and eggplants.',  -- pertanyaan
      args=>'{"top_p": 0.7}'::jsonb -- parameter untuk memanggil model besar
    );

Konversi teks ke vektor

Model konversi teks ke vektor default untuk ekstensi rds_ai adalah text-embedding-v3.

  • Secara default, operasi ini menghasilkan vektor padat.

    SELECT rds_ai.embed(
        'A strong wind blows from a high sky, and monkeys cry sadly. The water is clear and the sand is white, and birds are flying back. The leaves of the boundless forest fall, and the endless Yangtze River rolls on.' -- teks yang akan dikonversi ke vektor
    );
  • Anda dapat menentukan untuk menghasilkan vektor jarang.

    -- Konversi teks ke vektor jarang, dengan dimensi default 250002.
    SELECT rds_ai.embed(
        content=>'A strong wind blows from a high sky, and monkeys cry sadly. The water is clear and the sand is white, and birds are flying back. The leaves of the boundless forest fall, and the endless Yangtze River rolls on.',
        args=>'{"output_type": "sparse"}'::jsonb -- daftar parameter
    );

Simpan hasil konversi vektor ke tabel target.

  1. Buat tabel test_embed.

    CREATE TABLE test_embed(a text, b vector(1024), c sparsevec(250002));
  2. Masukkan konten teks yang akan dikonversi.

    INSERT INTO test_embed (a) values ('hello world');
  3. Gunakan rds_ai.embed untuk memanggil model text-embedding-v3 dan tulis hasil konversi ke tabel test_embed.

    • Tulis vektor padat.

      UPDATE test_embed 
      SET b = rds_ai.embed(a, '{"output_type": "dense"}'::jsonb)::vector;
    • Tulis vektor jarang.

      UPDATE test_embed 
      SET c = rds_ai.embed(a, '{"output_type": "sparse"}'::jsonb)::sparsevec;

Pengambilan vektor serupa top-N

Ekstensi rds_ai menggunakan model text-embedding-v3 secara default untuk pengambilan vektor serupa. Contohnya:

  1. Buat tabel uji.

    -- Buat tabel uji test_rag.
    CREATE TABLE test_rag (
        id SERIAL PRIMARY KEY,
        chunk TEXT
    );
    
    -- Tambahkan kolom embedding untuk menyimpan vektor yang dikonversi dari chunk.
    ALTER TABLE test_rag ADD COLUMN embedding VECTOR(1024);
    
    UPDATE test_rag SET embedding=rds_ai.embed(chunk)::vector;
  2. Buat indeks vektor.

    Catatan

    Saat membuat indeks vektor, Anda harus memilih tipe vector_cosine_ops.

    -- Buat indeks HNSW.
    CREATE INDEX ON test_rag USING hnsw (embedding vector_cosine_ops);
    -- Buat indeks IVFFlat.
    CREATE INDEX ON test_rag USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
  3. Gunakan rds_ai.retrieve untuk memanggil model text-embedding-v3 guna melakukan pengambilan vektor di tabel uji.

    SELECT * FROM rds_ai.retrieve
    ('Why is PostgreSQL considered the most advanced open-source database?',
    'public', 'test_rag', 'chunk', 'embedding');

    Panggilan API lengkap:

    SELECT * FROM rds_ai.retrieve
    (
      embed_model=>'text-embedding-v3', -- Model vektor yang digunakan.
      question=>'Why is PostgreSQL considered the most advanced open-source database?',
      source_schema=>'public', -- Skema tabel untuk pencarian vektor serupa.
      source_table=>'test_rag', -- Tabel untuk pencarian vektor serupa.
      chunk_col=>'chunk', -- Kolom chunk.
      vector_col=>'embedding', -- Kolom vektor.
      -- Parameter berikut adalah nilai default.
      topn=>10, -- Setel top_n.
      embed_args=>'{}'::jsonb, -- Teruskan parameter untuk model teks-ke-vektor.
      distance_type=>'cosine' -- Algoritma jarak. Nilai yang didukung adalah L1, L2, cosine, dan negative.
    );

Tanya jawab berbasis RAG

Ekstensi rds_ai menggunakan model text-embedding-v3 dan model Qwen-Text Generation secara default untuk tanya jawab berbasis RAG.

-- Model vektor: text-embedding-v3. Model generasi teks: ditentukan oleh parameter rds_ai.default_prompt_model.
SELECT * FROM rds_ai.rag
('Why is PostgreSQL considered the most advanced open-source database?', 
'public', 'test_rag', 'chunk', 'embedding');

Panggilan API lengkap:

SELECT * FROM rds_ai.rag
(
  embed_model=>'text-embedding-v3', -- Model vektor yang digunakan.
  prompt_model=>'qwen-plus', -- Model prompt yang digunakan.
  question=>'Why is PostgreSQL considered the most advanced open-source database?',
  source_schema=>'public', -- Skema tabel untuk pencarian vektor serupa.
  source_table=>'test_rag', -- Tabel untuk pencarian vektor serupa.
  chunk_col=>'chunk', -- Kolom chunk.
  vector_col=>'embedding', -- Kolom vektor.
  -- Parameter berikut adalah nilai default.
  topn=>10,
  embed_args=>'{}'::jsonb,  -- Parameter untuk model teks-ke-vektor.
  prompt_args=>'{}'::jsonb, -- Parameter untuk prompt model bahasa besar.
  distance_type=>'L2' -- Algoritma jarak. Nilai yang didukung adalah L1, L2, cosine, dan inner product.
);

Model kustom

Penting

Jika Anda mengalami masalah saat menambahkan model kustom, hubungi kami.

Anda dapat menambahkan model kustom menggunakan tabel metadata rds_ai.model_list. Bidang-bidang dalam tabel rds_ai.model_list adalah sebagai berikut:

Bidang

Tipe

Deskripsi

model_name

name

Nama model. Bidang ini memiliki Kendala KUNCI UTAMA.

request_type

text

Metode HTTP yang dipanggil.

request_header

http.http_header[]

Tipe yang disediakan oleh ekstensi pgsql-http. Mencatat informasi header permintaan HTTP, terutama untuk otentikasi.

uri

text

URL model.

content_type

text

Jenis permintaan, seperti application/json.

content_template

text

Templat untuk badan permintaan. Biasanya berisi placeholder yang diisi saat pemanggilan API.

json_path

text

Mengurai SQL berdasarkan http_response dan mengekstrak konten yang diperlukan.

token

text

Kunci dalam header.

Tambahkan model kustom

SELECT rds_ai.add_model(
    'test-model',                   -- nama model
    'POST',                         -- tipe permintaan http
    ARRAY[('Authorization', 'Bearer %s')]::http.http_header[], -- http_header
    'https://****.com',           -- URL permintaan
    'application/json',            -- Content-type permintaan
    '{"key":"%s"}',               -- templat badan permintaan
    'SELECT %L'          -- hasil penguraian permintaan http
);

Gunakan model kustom

  • Gunakan fungsi rds_ai.raw_invoke_model untuk mengirim permintaan berdasarkan konfigurasi model qwen-plus. Gunakan ARRAY untuk mengisi templat panggilan. Fungsi ini mengembalikan hasil permintaan HTTP lengkap.

    SELECT * FROM
    rds_ai.raw_invoke_model('qwen-plus', ARRAY['who are you']);
  • Gunakan fungsi rds_ai.invoke_model untuk membuat permintaan berdasarkan konfigurasi model qwen-plus. Fungsi ini mengekstrak bidang yang ditentukan sesuai dengan bidang json_path dalam konfigurasi.

    SELECT * FROM
    rds_ai.invoke_model('qwen-plus', ARRAY['who are you']);

Hapus model kustom

SELECT rds_ai.del_model('test-model');

Tambahkan model PAI-RAG

Kami menyarankan agar Anda men-deploy PAI-EAS dan instans ApsaraDB RDS untuk PostgreSQL dalam VPC yang sama. Konfigurasikan alamat VPC PAI dalam ekstensi rds_ai. Alamat koneksi untuk PAI-EAS juga harus menggunakan alamat VPC ApsaraDB RDS untuk PostgreSQL. Hal ini memastikan bahwa seluruh komunikasi terjadi di dalam VPC Anda dan tidak melewati jaringan publik, sehingga meningkatkan keamanan.

  1. Deploy layanan RAG di PAI-EAS. Untuk informasi selengkapnya, lihat Deploy an LLM-based RAG chatbot using PAI-EAS and ApsaraDB RDS for PostgreSQL.

  2. Dapatkan informasi pemanggilan untuk layanan RAG.

    1. Klik nama layanan RAG untuk membuka halaman Service Details.

    2. Pada bagian Basic Information, klik View Endpoint Information.

    3. Pada kotak dialog Invocation Information, dapatkan titik akhir layanan dan Token.

  3. Tambahkan model PAI-RAG.

    SELECT rds_ai.add_model(
        'pai-rag',      -- nama model
        'POST',         -- metode permintaan
        ARRAY[('Authorization','%s')]::http.http_header[],  -- header permintaan,
        'http://rds-pai-rag-demo.****.cn-hangzhou.pai-eas.aliyuncs.com/service/query',  -- URL permintaan
        'application/json',  -- format konten permintaan
        '{
            "question": "%s"
        }',  -- badan permintaan
        'SELECT (%L::jsonb->''answer'')::text'  -- jalur penguraian
    );
    Catatan
    • Ganti URL model dengan URL aktual dan tambahkan /service/query.

    • Untuk informasi selengkapnya tentang pemanggilan model PAI-RAG, lihat Call PAI models using APIs.

  4. Konfigurasi token untuk model PAI-RAG.

    SELECT rds_ai.update_model('pai-rag', 'token','MTFkYjMwZjgzYzA1YmE2N2YyNWMxM2NkNDVjMjEzNjYxMDAzMzE5****');

Verifikasi model PAI-RAG baru. Contohnya:

SELECT rds_ai.invoke_model('pai-rag', ARRAY['What parameters are related to WAL log accumulation?']);

Tambahkan model RAG FC Function Compute

  1. Deploy aplikasi AgentCraft di Function Compute. Untuk informasi selengkapnya, lihat Cloud Deployment of AgentCraft.

  2. Anda telah membuat agen dan Client Access.

    Contohnya, saat Anda membuat Client Integration seperti yang dijelaskan dalam Integrate an agent into a DingTalk robot, Anda memperoleh dan menyimpan titik akhir serta Token.

  3. Tambahkan model RAG FC Function Compute.

    SELECT rds_ai.add_model(
        'fc-rag',      -- nama model
        'POST',         -- metode permintaan
        ARRAY[('Authorization','Bearer %s')]::http.http_header[],  -- header permintaan,
        'https://agentcrckend-de-obnhjsknam.cn-hangzhou.fcapp.run/v1/chat/completions',  -- URL permintaan
        'application/json',  -- format konten permintaan
        '{ 
            "messages":[ { "role": "user", "content": "%s" } ], 
            "stream": false, 
            "max_tokens": 1024 
         }', 
        'SELECT (%L::jsonb->''choices''->0->''message''->>''content'')::text'  -- jalur penguraian
    );
    Catatan

    Ganti URL model dengan URL aktual dan tambahkan /completions.

  4. Konfigurasi token untuk model RAG FC Function Compute.

    SELECT rds_ai.update_model('fc-rag', 'token','8UiGAziWgYGPxM3qR5sAChBfDJRt****');

Verifikasi model RAG FC Function Compute baru. Contohnya:

SELECT rds_ai.invoke_model('fc-rag', ARRAY['What parameters are related to WAL log accumulation?']);

Fungsi yang disediakan

rds-ai.raw_invoke_model: Memanggil model kustom dan mengembalikan tanggapan HTTP lengkap (http_response).

rds-ai.raw_invoke_model(
    model_name TEXT, 
    params_list TEXT[]
) 
RETURNS http.http_response

Parameter

Type

Deskripsi

Contoh

model_name

text

Nama model yang akan dipanggil.

'qwen-plus'

param_list

text[]

Konten yang akan diisi ke bidang content_template model yang sesuai, secara berurutan.

ARRAY['who are you', '{}']

rds_ai.invoke_model: Memanggil model kustom, mengurai konten respons HTTP berdasarkan bidang json_path yang dikonfigurasi dalam tabel metadata, dan mengembalikan hasilnya.

rds-ai.invoke_model(
    model_name TEXT, 
    params_list TEXT[]
) 
RETURNS http.http_response

Parameter

Tipe

Deskripsi

Contoh

model_name

text

Nama model yang akan dipanggil.

'qwen-plus'

param_list

text[]

Konten yang akan diisi ke bidang content_template model yang sesuai, secara berurutan.

ARRAY['who are you', '{}']

rds_ai.embed: Menggunakan model yang ditentukan untuk mengonversi teks ke vektor dan mengembalikan hasil berdasarkan json_path.

rds_ai.embed(
    model_name TEXT, 
    content TEXT, 
    args jsonb DEFAULT '{}' 
) RETURNS text

Parameter

Type

Deskripsi

Contoh

model_name

text

Nama model yang akan dipanggil.

Catatan

Jika parameter model_name tidak diberikan, model default (text-embedding-v3) akan dipanggil.

'text-embedding-v3'

content

text

Teks yang akan dikonversi ke vektor.

'who are you'

args

jsonb

Parameter yang ditentukan saat memanggil model.

'{"output_type": "dense"}'

rds_ai.prompt: Menjalankan operasi prompt menggunakan model yang ditentukan.

rds_ai.prompt(
    model_name TEXT, 
    content TEXT, 
    args jsonb DEFAULT '{}'
) 
RETURNS text

Parameter

Tipe

Deskripsi

Contoh

model_name

text

Nama model yang akan dipanggil.

Catatan

Jika parameter model_name tidak diberikan, model default (qwen-plus) akan dipanggil.

'qwen-plus'

content

text

Teks yang akan dikonversi ke vektor.

'who are you'

args

jsonb

Parameter yang ditentukan saat memanggil model.

'{"top_p": 0.2}'

rds_ai.retrieve: Melakukan pencarian vektor pada teks yang ditentukan untuk mengambil vektor yang tersimpan menggunakan model yang ditentukan.

rds_ai.retrieve(
    model_name TEXT, 
    question TEXT, 
    source_schema TEXT, 
    source_table TEXT, 
    chunk_col TEXT, 
    vector_col TEXT, 
    topn INT DEFAULT 10, 
    embed_args jsonb DEFAULT '{}', 
    distance_type TEXT DEFAULT 'L2'
) 
RETURNS TABLE(chunk TEXT, distance float);

Parameter

Tipe

Deskripsi

Contoh

model_name

text

Nama model yang akan dipanggil.

Catatan

Jika parameter model_name tidak diberikan, model default (text-embedding-v3) akan dipanggil.

'text-embedding-v3'

question

text

Teks yang akan diambil.

'who are you'

source_schema

text

Skema tempat tabel untuk pengambilan vektor berada.

'public'

source_table

text

Nama tabel untuk pengambilan vektor.

'vec_tbl'

chunk_col

text

Kolom chunk untuk pengambilan vektor.

'chunk'

vector_col

text

Kolom vektor tabel.

'vec'

topn

int

Menentukan top N untuk pengambilan vektor. Nilai default adalah 10.

20

embed_args

jsonb

Parameter untuk konversi teks ke vektor, sama dengan args fungsi rds_ai.embed.

'{"output_type": "dense"}'

distance_type

text

Metode untuk menghitung jarak vektor. Nilai default adalah L2.

'L1'

rds_ai.rag: Menjalankan operasi prompt pada hasil pengambilan vektor menggunakan model yang ditentukan.

rds_ai.rag(
    embed_model TEXT,
    prompt_model TEXT,
    question TEXT,
    source_schema TEXT,
    source_table TEXT,
    chunk_col TEXT,
    vector_col TEXT,
    topn INT DEFAULT 10,
    embed_args jsonb DEFAULT '{}',
    prompt_args jsonb DEFAULT '{}',
    distance_type TEXT DEFAULT 'L2'
) 
returns text

Parameter

Tipe

Deskripsi

Contoh

embed_model

text

Nama model yang akan dipanggil.

Catatan

Jika parameter model_name tidak diberikan, model default (qwen-plus) akan dipanggil.

'qwen-plus'

question

text

Teks yang akan diambil.

'who are you'

source_schema

text

Skema tempat tabel untuk pengambilan vektor berada.

'public'

source_table

text

Nama tabel untuk pengambilan vektor.

'vec_tbl'

chunk_col

text

Kolom chunk untuk pengambilan vektor.

'chunk'

vector_col

text

Kolom vektor tabel.

'vec'

topn

int

Menentukan top N untuk pengambilan vektor. Nilai default adalah 10.

20

embed_args

jsonb

Parameter untuk konversi teks ke vektor, sama dengan args fungsi rds_ai.embed.

'{"output_type": "dense"}'

prompt_args

jsonb

Parameter untuk operasi prompt, sama dengan args fungsi rds_ai.prompt.

'{"top_p": 0.2}'

distance_type

text

Metode untuk menghitung jarak vektor. Nilai default adalah L2.

'L1'

rds_ai.show_models: Menampilkan informasi model yang telah dikonfigurasi.

rds_ai.show_models() 
RETURNS setof rds_ai.model_list

rds_ai.del_model: Menghapus informasi model tertentu.

rds_ai.del_model (model_name text) 
RETURNS void

Parameter

Tipe

Deskripsi

Contoh

model_name

text

Nama model yang akan dihapus.

'qwen-plus'

rds_ai.add_model: Menambahkan model.

rds_ai.add_model(
    model_name TEXT,
    request_type TEXT,
    request_header http.http_header[],
    uri TEXT,
    content_type TEXT,
    content_template TEXT,
    json_path TEXT
) 
RETURNS TEXT

Parameter

Tipe

Deskripsi

Contoh

model_name

TEXT

Nama model yang akan ditambahkan.

'text-embedding-v3'

request_type,

TEXT

Jenis permintaan.

'POST'

request_header

http.http_header[]

Informasi header dalam permintaan HTTP. Saat melakukan panggilan, gunakan bidang token untuk mengisi placeholder.

ARRAY[('Authorization', 'Bearer %s')]

uri

TEXT

URL model.

'https://dashscope-intl.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding'

content_type

TEXT

Jenis permintaan.

'application/json'

content_template

TEXT

Templat badan permintaan. Saat Anda memanggil fungsi rds-ai.invoke_model, gunakan nilai parameter param_list untuk mengisi templat ini. Nilai parameter parameters bertipe JSON.

'{

"model": "text-embedding-v3",

"input": {"texts": ["%s"]},

"parameters": %s

}'

json_path

TEXT

Jalur penguraian. Saat Anda memanggil fungsi rds-ai.invoke_model, pernyataan SQL ini digunakan untuk mengurai struktur JSON dalam content_template.

Jika Anda tidak yakin dengan jalur penguraian spesifik, Anda dapat menyetelnya ke 'SELECT %L'. Jika Anda telah mengonfirmasi jalur penguraian spesifik, gantilah placeholder tersebut.

'SELECT %L'

rds_ai.update_model: Memperbarui informasi model yang telah dikonfigurasi.

rds_ai.update_model(
    model_name TEXT,
    config_name TEXT, 
    value TEXT
) 
RETURNS void

Parameter

Tipe

Deskripsi

Contoh

model_name

TEXT

Nama model yang akan diperbarui.

'text-embedding-v3'

config_name

TEXT

Bidang yang akan diperbarui. Untuk nilai yang mungkin, lihat fungsi rds_ai.add_model.

'uri'

value

TEXT

Perbarui nilai bidang tersebut.

'https://dashscope-intl.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding'