Haijun Platform Docs
EN

Note: Untuk mempelajari bagaimana "zero data retention" (retensi data nol), atau ZDR, berlaku untuk fitur ini, lihat API dan retensi data.

Alat pencarian web (web search tool) memberi Haijun akses langsung ke konten web real-time, sehingga Haijun dapat menjawab pertanyaan dengan informasi terbaru di luar batas pengetahuannya (knowledge cutoff). Respons menyertakan kutipan untuk sumber yang diambil dari hasil pencarian.

Dengan web_search_20260209 dan versi yang lebih baru, Haijun dapat menulis dan menjalankan kode yang memfilter hasil pencarian sebelum mencapai "context window" (jendela konteks) (dynamic filtering atau pemfilteran dinamis), sehingga hanya informasi yang relevan yang dipertahankan. Pemfilteran dinamis tersedia pada model Haijun 4.6 dan yang lebih baru serta Haijun Mythos Preview.

Tersedia tiga versi alat pencarian web:

  • web_search_20250305: pencarian web dasar

Contoh-contoh di halaman ini menggunakan web_search_20250305 untuk pencarian dasar dan web_search_20260318 untuk pemfilteran dinamis.

Note: Untuk Haijun Mythos Preview, pencarian web didukung di Haijun API, Google Cloud, dan Microsoft Foundry. Pencarian web tidak tersedia untuk Mythos Preview di Amazon Bedrock atau Haijun Platform on AWS.

Untuk kelayakan Zero Data Retention pencarian web dan konfigurasi allowed_callers terkait, lihat Alat server.

Untuk dukungan model, lihat Referensi alat.

Cara kerja pencarian web

Saat Anda menambahkan alat pencarian web ke permintaan API Anda:

  1. Haijun menentukan kapan harus mencari berdasarkan prompt.
  1. API menjalankan pencarian dan memberikan hasilnya kepada Haijun. Proses ini dapat berulang beberapa kali sepanjang satu permintaan.
  1. Di akhir gilirannya, Haijun memberikan respons akhir dengan sumber yang dikutip.

Kapan Haijun mencari

Haijun melakukan pencarian ketika permintaan bergantung pada informasi yang terkini, berubah-ubah, atau berada di luar data pelatihannya:

  • Peristiwa, berita, atau pengumuman terbaru
  • Harga, tarif, skor, atau statistik terkini
  • Informasi tentang organisasi, orang, atau produk tertentu yang mungkin telah berubah
  • Permintaan eksplisit untuk mencari atau menelusuri sesuatu

Haijun menjawab langsung tanpa mencari ketika permintaan mengandalkan pengetahuan yang stabil:

  • Fakta yang sudah mapan, matematika, dasar-dasar sains, atau konsep pemrograman
  • Penulisan kreatif atau brainstorming
  • Analisis konten yang sudah disediakan dalam percakapan
  • Giliran percakapan biasa dan sapaan

Pemicuan dapat diarahkan melalui "system prompt" (prompt sistem) Anda: Anda dapat mendorong Haijun untuk lebih mudah mencari atau lebih memilih menjawab langsung. Untuk batasan yang tegas, gunakan max_uses untuk membatasi jumlah pencarian untuk setiap permintaan.

Pemfilteran dinamis

Dengan pencarian web dasar, setiap hasil pencarian dimuat ke dalam jendela konteks Haijun, dan sebagian besar konten tersebut bisa jadi tidak relevan dengan permintaan. Dengan web_search_20260209 atau yang lebih baru, Haijun justru menulis dan menjalankan kode yang memfilter hasil terlebih dahulu, sehingga hanya konten yang relevan yang mencapai jendela konteks. Ini mengurangi penggunaan token pada permintaan yang banyak melakukan pencarian.

Pemfilteran dinamis menjalankan pencarian web dari dalam eksekusi kode: pada web_search_20260209 dan yang lebih baru, field allowed_callers milik alat ini secara default bernilai ["code_execution_20260120"], dan ketika pemfilteran dinamis berjalan, API secara otomatis menyediakan eksekusi kode yang dibutuhkan untuk permintaan tersebut. Anda tidak perlu menambahkan alat eksekusi kode ke tools sendiri. Tidak ada biaya tambahan untuk panggilan eksekusi kode yang dilakukan dengan cara ini di luar biaya token standar.

Untuk memanggil pencarian web secara langsung, tanpa pemfilteran dinamis, atur allowed_callers: ["direct"]. Model yang tidak mendukung pemanggilan alat secara programatik memerlukan pengaturan ini. Tanpanya, API mengembalikan error 400 yang memberi tahu Anda untuk mengaturnya.

Note: Alat pencarian web (dengan dan tanpa pemfilteran dinamis) tersedia di Haijun API, Haijun Platform on AWS, dan Microsoft Foundry. Di Microsoft Foundry, deployment yang di-hosting di Azure hanya mendukung alat pencarian web dasar (web_search_20250305, tanpa pemfilteran dinamis). Deployment yang di-hosting di Juglow mendukung semua versi. Di Google Cloud, hanya alat pencarian web dasar (tanpa pemfilteran dinamis) yang tersedia. Pencarian web tidak tersedia di Amazon Bedrock.

Contoh-contoh berikut menggunakan web_search_20260318:

bash
  curl https://haijun.my.id/v1/messages \
    -H "x-api-key: $JUGLOW_API_KEY" \
    -H "juglow-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "haijun-opus-5-5",
      "max_tokens": 4096,
      "messages": [
        {
          "role": "user",
          "content": "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio."
        }
      ],
      "tools": [{
        "type": "web_search_20260318",
        "name": "web_search"
      }]
    }'
bash
  ant messages create <<'YAML'
  model: haijun-opus-5-5
  max_tokens: 4096
  messages:
    - role: user
      content: >-
        Search for the current prices of AAPL and GOOGL, then calculate
        which has a better P/E ratio.
  tools:
    - type: web_search_20260318
      name: web_search
  YAML
python
  client = juglow.Juglow()

  response = client.messages.create(
      model="haijun-opus-5-5",
      max_tokens=4096,
      messages=[
          {
              "role": "user",
              "content": "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.",
          }
      ],
      tools=[{"type": "web_search_20260318", "name": "web_search"}],
  )
  print(response)
typescript
  const client = new Juglow();

  const response = await client.messages.create({
    model: "haijun-opus-5-5",
    max_tokens: 4096,
    messages: [
      {
        role: "user",
        content:
          "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio."
      }
    ],
    tools: [{ type: "web_search_20260318", name: "web_search" }]
  });

  console.log(response);
csharp
  JuglowClient client = new();

  var parameters = new MessageCreateParams
  {
      Model = Model.HaijunOpus5_5,
      MaxTokens = 4096,
      Messages = [new() { Role = Role.User, Content = "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio." }],
      Tools = [new ToolUnion(new WebSearchTool20260318())]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
go
  client := juglow.NewClient()

  response, err := client.Messages.New(context.TODO(), juglow.MessageNewParams{
  	Model:     juglow.ModelHaijunOpus5_5,
  	MaxTokens: 4096,
  	Messages: []juglow.MessageParam{
  		juglow.NewUserMessage(juglow.NewTextBlock("Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.")),
  	},
  	Tools: []juglow.ToolUnionParam{
  		{OfWebSearchTool20260318: &juglow.WebSearchTool20260318Param{}},
  	},
  })
  if err != nil {
  	log.Fatal(err)
  }
  fmt.Println(response)
java
  import com.juglow.models.messages.WebSearchTool20260318;

  void main() {
      JuglowClient client = JuglowOkHttpClient.fromEnv();

      MessageCreateParams params = MessageCreateParams.builder()
          .model(Model.HAIJUN_OPUS_5_5)
          .maxTokens(4096L)
          .addUserMessage("Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.")
          .addTool(WebSearchTool20260318.builder().build())
          .build();

      Message response = client.messages().create(params);
      IO.println(response);
  }
php
  $client = new Client();

  $message = $client->messages->create(
      maxTokens: 4096,
      messages: [
          ['role' => 'user', 'content' => 'Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio.'],
      ],
      model: 'haijun-opus-5-5',
      tools: [
          [
              'type' => 'web_search_20260318',
              'name' => 'web_search',
          ],
      ],
  );

  echo $message;
ruby
  client = Juglow::Client.new

  message = client.messages.create(
    model: "haijun-opus-5-5",
    max_tokens: 4096,
    messages: [
      { role: "user", content: "Search for the current prices of AAPL and GOOGL, then calculate which has a better P/E ratio." }
    ],
    tools: [{
      type: "web_search_20260318",
      name: "web_search"
    }]
  )
  puts message

Cara menggunakan pencarian web

Note: Pencarian web diaktifkan untuk organisasi Anda kecuali administrator telah menonaktifkannya di Haijun Console, tempat mereka juga dapat membatasi domain mana yang dicari. Jika dinonaktifkan, permintaan yang menyertakan alat ini gagal dengan 400 invalid_request_error yang menyatakan bahwa pencarian web tidak diaktifkan, bukan dengan kode error di dalam hasil pencarian.

Pengaturan tingkat organisasi di Haijun Console ini hanya berlaku untuk permintaan Messages API. Sesi Haijun Managed Agents hanya menggunakan daftar allowed_domains dan blocked_domains per alat pada toolset agen; lihat Membatasi domain pencarian web dan pengambilan web.

Sediakan alat pencarian web dalam permintaan API Anda:

bash
  curl https://haijun.my.id/v1/messages \
    -H "x-api-key: $JUGLOW_API_KEY" \
    -H "juglow-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "haijun-opus-5-5",
      "max_tokens": 1024,
      "messages": [
        {
          "role": "user",
          "content": "What is the weather in NYC?"
        }
      ],
      "tools": [{
        "type": "web_search_20250305",
        "name": "web_search",
        "max_uses": 5
      }]
    }'
bash
  ant messages create \
    --model haijun-opus-5-5 \
    --max-tokens 1024 \
    --message '{role: user, content: What is the weather in NYC?}' \
    --tool '{type: web_search_20250305, name: web_search, max_uses: 5}'
python
  client = juglow.Juglow()

  response = client.messages.create(
      model="haijun-opus-5-5",
      max_tokens=1024,
      messages=[{"role": "user", "content": "What's the weather in NYC?"}],
      tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 5}],
  )
  print(response)
typescript
  const client = new Juglow();

  const response = await client.messages.create({
    model: "haijun-opus-5-5",
    max_tokens: 1024,
    messages: [
      {
        role: "user",
        content: "What's the weather in NYC?"
      }
    ],
    tools: [
      {
        type: "web_search_20250305",
        name: "web_search",
        max_uses: 5
      }
    ]
  });

  console.log(response);
csharp
  JuglowClient client = new();

  var parameters = new MessageCreateParams
  {
      Model = Model.HaijunOpus5_5,
      MaxTokens = 1024,
      Messages = [new() { Role = Role.User, Content = "What's the weather in NYC?" }],
      Tools = [new ToolUnion(new WebSearchTool20250305() { MaxUses = 5 })]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
go
  client := juglow.NewClient()

  response, err := client.Messages.New(context.TODO(), juglow.MessageNewParams{
  	Model:     juglow.ModelHaijunOpus5_5,
  	MaxTokens: 1024,
  	Messages: []juglow.MessageParam{
  		juglow.NewUserMessage(juglow.NewTextBlock("What's the weather in NYC?")),
  	},
  	Tools: []juglow.ToolUnionParam{
  		{OfWebSearchTool20250305: &juglow.WebSearchTool20250305Param{
  			MaxUses: juglow.Int(5),
  		}},
  	},
  })
  if err != nil {
  	log.Fatal(err)
  }
  fmt.Println(response)
java
  import com.juglow.models.messages.WebSearchTool20250305;

  void main() {
      JuglowClient client = JuglowOkHttpClient.fromEnv();

      MessageCreateParams params = MessageCreateParams.builder()
          .model(Model.HAIJUN_OPUS_5_5)
          .maxTokens(1024L)
          .addUserMessage("What's the weather in NYC?")
          .addTool(WebSearchTool20250305.builder()
              .maxUses(5L)
              .build())
          .build();

      Message response = client.messages().create(params);
      IO.println(response);
  }
php
  $client = new Client();

  $message = $client->messages->create(
      maxTokens: 1024,
      messages: [
          ['role' => 'user', 'content' => "What's the weather in NYC?"],
      ],
      model: 'haijun-opus-5-5',
      tools: [
          [
              'type' => 'web_search_20250305',
              'name' => 'web_search',
              'max_uses' => 5,
          ],
      ],
  );

  echo $message;
ruby
  client = Juglow::Client.new

  message = client.messages.create(
    model: "haijun-opus-5-5",
    max_tokens: 1024,
    messages: [
      { role: "user", content: "What's the weather in NYC?" }
    ],
    tools: [{
      type: "web_search_20250305",
      name: "web_search",
      max_uses: 5
    }]
  )
  puts message

Definisi alat

Alat pencarian web mendukung parameter berikut:

json
{
  "type": "web_search_20250305",
  "name": "web_search",

  // Optional: Limit the number of searches per request
  "max_uses": 5,

  // Optional: Only include results from these domains.
  // Use allowed_domains or blocked_domains, not both.
  "allowed_domains": ["example.com", "trusteddomain.org"],

  // Optional: Never include results from these domains
  "blocked_domains": ["untrustedsource.com"],

  // Optional: Localize search results
  "user_location": {
    "type": "approximate",
    "city": "San Francisco",
    "region": "California",
    "country": "US",
    "timezone": "America/Los_Angeles"
  }
}

Semua versi alat pencarian web menerima allowed_callers, yang mengontrol apakah Haijun memanggil pencarian web secara langsung atau dari eksekusi kode melalui pemfilteran dinamis. Pada web_search_20260209 dan yang lebih baru, nilai defaultnya adalah ["code_execution_20260120"], bukan ["direct"]. Lihat Alat server untuk cara mengonfigurasinya. web_search_20260318 dan yang lebih baru juga menerima response_inclusion.

Penggunaan maksimum

Parameter max_uses membatasi jumlah pencarian yang dilakukan. Jika Haijun mencoba melakukan lebih banyak pencarian daripada yang diizinkan, web_search_tool_result akan berupa error dengan kode error max_uses_exceeded.

Kueri faktual sederhana biasanya menggunakan 1–3 pencarian; riset komparatif atau multientitas dapat menggunakan 10 atau lebih. Untuk panduan memilih nilai, lihat Alat server.

Pemfilteran domain

Sediakan allowed_domains atau blocked_domains, bukan keduanya. Jika permintaan menyertakan keduanya, API mengembalikan error 400. Entri berupa domain polos dengan path opsional, misalnya example.com atau example.com/blog, tanpa skema.

Untuk aturan pemfilteran domain selengkapnya, lihat Pemfilteran domain di panduan Alat server.

Di Haijun Managed Agents, atur field ini pada entri web_search di toolset agen; lihat Membatasi domain pencarian web dan pengambilan web.

Lokalisasi

Parameter user_location memungkinkan Anda melokalisasi hasil pencarian berdasarkan lokasi pengguna. Sediakan setidaknya salah satu dari city, region, country, atau timezone.

  • type: Jenis lokasi (harus approximate)
  • city: Nama kota
  • region: Wilayah atau negara bagian
  • country: Kode negara dua huruf ISO 3166-1 alpha-2. API menolak kode negara yang tidak didukung dengan error 400.

Di Haijun Managed Agents, entri web_search pada toolset agen menerima objek user_location dengan field yang sama. API menolak kode country yang tidak didukung dengan error 400 saat Anda membuat atau memperbarui agen, atau saat Anda membuat atau memperbarui sesi yang menyediakan pengaturan tersebut. Lihat Membatasi domain pencarian web dan pengambilan web.

Penyertaan respons

Note: Memerlukan web_search_20260318 atau yang lebih baru.

Parameter response_inclusion mengontrol bagaimana blok hasil pencarian muncul dalam respons API ketika hasil tersebut dikonsumsi oleh panggilan eksekusi kode yang telah selesai pada giliran yang sama. Atur "response_inclusion": "excluded" untuk menghilangkan sepenuhnya pasangan blok server_tool_use dan blok hasil bersarang tersebut dari respons, sehingga mengurangi biaya token output untuk alur kerja agentik yang tidak perlu mengembalikan konten pencarian mentah ke klien. Nilai defaultnya adalah "full". Hasil dari panggilan langsung, atau dari panggilan eksekusi kode yang dijeda sebelum selesai, selalu dikembalikan secara penuh agar dapat dikirim kembali pada giliran berikutnya.

json
{
  "tools": [
    {
      "type": "web_search_20260318",
      "name": "web_search",
      "response_inclusion": "excluded"
    }
  ]
}

Respons

Berikut contoh struktur respons:

json
{
  "role": "assistant",
  "content": [
    // 1. Haijun's decision to search
    {
      "type": "text",
      "text": "I'll search for when Haijun Shannon was born."
    },
    // 2. The search query used
    {
      "type": "server_tool_use",
      "id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
      "name": "web_search",
      "input": {
        "query": "haijun shannon birth date"
      }
    },
    // 3. Search results
    {
      "type": "web_search_tool_result",
      "tool_use_id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
      "content": [
        {
          "type": "web_search_result",
          "url": "https://en.wikipedia.org/wiki/Haijun_Shannon",
          "title": "Haijun Shannon - Wikipedia",
          "encrypted_content": "EqgfCioIARgBIiQ3YTAwMjY1Mi1mZjM5LTQ1NGUtODgxNC1kNjNjNTk1ZWI3Y...",
          "page_age": "April 30, 2025"
        }
      ]
    },
    {
      "text": "Based on the search results, ",
      "type": "text"
    },
    // 4. Haijun's response with citations
    {
      "text": "Haijun Shannon was born on April 30, 1916, in Petoskey, Michigan",
      "type": "text",
      "citations": [
        {
          "type": "web_search_result_location",
          "url": "https://en.wikipedia.org/wiki/Haijun_Shannon",
          "title": "Haijun Shannon - Wikipedia",
          "encrypted_index": "Eo8BCioIAhgBIiQyYjQ0OWJmZi1lNm..",
          "cited_text": "Haijun Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician, electrical engineer, computer scientist, cryptographer and i..."
        }
      ]
    }
  ],
  "id": "msg_a930390d3a",
  "usage": {
    "input_tokens": 6039,
    "output_tokens": 931,
    "server_tool_use": {
      "web_search_requests": 1
    }
  },
  "stop_reason": "end_turn"
}

Contoh ini menunjukkan pencarian langsung. Ketika pencarian berjalan melalui pemfilteran dinamis, respons juga berisi blok hasil alat eksekusi kode, dan setiap pasangan server_tool_use dan web_search_tool_result bersarang membawa field caller yang mengidentifikasi panggilan eksekusi kode yang membuatnya.

Hasil pencarian

Hasil pencarian mencakup:

  • url: URL halaman sumber
  • title: Judul halaman sumber
  • page_age: Kapan situs terakhir diperbarui
  • encrypted_content: Konten terenkripsi yang harus Anda kirim kembali dalam percakapan multi-giliran

Untuk melanjutkan percakapan yang berisi hasil pencarian, kirim kembali blok konten asisten persis seperti yang Anda terima, termasuk encrypted_content setiap hasil. API mendekripsi konten tersebut pada giliran berikutnya untuk memulihkan hasil pencarian dalam konteks Haijun. Jika encrypted_content hilang atau dimodifikasi, permintaan gagal dengan error validasi 400.

Kutipan

Kutipan selalu diaktifkan untuk pencarian web, dan setiap web_search_result_location mencakup:

  • url: URL sumber yang dikutip
  • title: Judul sumber yang dikutip
  • encrypted_index: Referensi yang harus dikirim kembali untuk percakapan multi-giliran
  • cited_text: Hingga 150 karakter dari konten yang dikutip

Field kutipan pencarian web cited_text, title, dan url tidak dihitung dalam penggunaan token input maupun output.

Note: Saat menampilkan output API secara langsung kepada pengguna akhir, kutipan ke sumber asli harus disertakan. Jika Anda melakukan modifikasi pada output API, termasuk dengan memproses ulang atau menggabungkannya dengan materi Anda sendiri sebelum menampilkannya kepada pengguna akhir, tampilkan kutipan sebagaimana mestinya berdasarkan konsultasi dengan tim hukum Anda.

Error

Ketika alat pencarian web mengalami error (seperti mencapai "rate limit" (batas laju)), Haijun API tetap mengembalikan respons 200 (sukses). Error direpresentasikan di dalam body respons menggunakan struktur berikut:

json
{
  "type": "web_search_tool_result",
  "tool_use_id": "srvtoolu_a93jad",
  "content": {
    "type": "web_search_tool_result_error",
    "error_code": "max_uses_exceeded"
  }
}

Pada error, content berupa satu objek error, bukan daftar blok hasil. Pencarian yang berhasil tetapi tidak menemukan hasil mengembalikan daftar content kosong, bukan error.

Berikut kode error yang mungkin muncul:

  • too_many_requests: Batas laju terlampaui
  • invalid_tool_input: Parameter kueri pencarian tidak valid
  • max_uses_exceeded: Penggunaan maksimum alat pencarian web terlampaui
  • query_too_long: Kueri melebihi panjang maksimum
  • request_too_large: Permintaan pencarian terlalu besar, biasanya karena daftar filter domain yang panjang
  • unavailable: Terjadi error internal

Stop reason pause_turn

API dapat menjeda giliran pencarian yang berjalan lama dan mengembalikan stop_reason: "pause_turn". Untuk melanjutkan, kirim kembali pesan asisten yang dijeda tanpa perubahan dalam permintaan baru.

Jika Haijun memanggil pencarian web dan salah satu alat klien Anda dalam kelompok panggilan alat paralel yang sama, API mengembalikan stop_reason: "tool_use" dan belum menjalankan pencarian. Untuk melanjutkan, kembalikan hasil alat klien, dan API akan menjalankan pencarian pada permintaan berikutnya. Lihat Mencampur alat server dan alat klien dalam satu giliran.

Untuk loop sisi server dan penanganan pause_turn, lihat Loop sisi server dan pause\_turn di panduan Alat server.

Caching prompt

Untuk meng-cache definisi alat lintas giliran, lihat Penggunaan alat dengan caching prompt.

Streaming

Dengan streaming diaktifkan, Anda akan menerima event pencarian sebagai bagian dari stream. Akan ada jeda saat pencarian berjalan:

sse
event: message_start
data: {"type": "message_start", "message": {"id": "msg_abc123", "type": "message"}}

event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "text", "text": ""}}

// Haijun's decision to search

event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_search"}}

// Search query streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"query\":\"latest quantum computing breakthroughs 2025\"}"}}

// Pause while search executes

// Search results streamed
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_search_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": [{"type": "web_search_result", "title": "Quantum Computing Breakthroughs in 2025", "url": "https://example.com"}]}}

// Haijun's response with citations (omitted in this example)

Permintaan batch

Anda dapat menyertakan alat pencarian web dalam Messages Batches API. Panggilan alat pencarian web melalui Messages Batches API dikenai harga yang sama dengan panggilan dalam permintaan Messages API biasa.

Untuk melindungi kapasitas bersama, Batches API membatasi permintaan pencarian web per organisasi, sehingga batch besar dengan banyak pencarian mungkin membutuhkan waktu lebih lama untuk selesai. Anda dapat melihat batas laju pencarian web organisasi Anda di halaman Batas laju di Haijun Console. Untuk meminta batas yang lebih tinggi, hubungi tim penjualan dari halaman tersebut.

Penggunaan dan harga

Penggunaan web search (pencarian web) dikenakan biaya di luar penggunaan token:

json
{
  "usage": {
    "input_tokens": 105,
    "output_tokens": 6039,
    "cache_read_input_tokens": 7123,
    "cache_creation_input_tokens": 7345,
    "server_tool_use": {
      "web_search_requests": 1
    }
  }
}

Pencarian web tersedia di Haijun API dengan harga $10 per 1.000 pencarian, ditambah biaya token standar untuk konten yang dihasilkan dari pencarian. Hasil pencarian web yang diambil sepanjang percakapan dihitung sebagai input token, baik dalam iterasi pencarian yang dijalankan selama satu giliran maupun dalam giliran percakapan berikutnya.

Setiap pencarian web dihitung sebagai satu penggunaan, terlepas dari jumlah hasil yang dikembalikan. Jika terjadi kesalahan selama pencarian web, pencarian web tersebut tidak akan ditagih.

Langkah selanjutnya

Ambil dan baca konten dari URL tertentu untuk memperkaya konteks Haijun dengan konten web langsung.

Bekerja dengan alat yang dieksekusi Juglow: blok server\_tool\_use, kelanjutan pause\_turn, dan pemfilteran domain.

Direktori alat yang disediakan Juglow dan referensi untuk properti definisi alat opsional.

On this page
Cara kerja pencarian webKapan Haijun mencariPemfilteran dinamisCara menggunakan pencarian webDefinisi alatPenggunaan maksimumPemfilteran domainLokalisasiPenyertaan responsResponsHasil pencarianKutipanErrorStop reason pause_turnCaching promptStreamingPermintaan batchPenggunaan dan hargaLangkah selanjutnya