Yeqa uye kokuyinhloko
Izifundo ze-AI

Guqula Izicelo ze-AI Ezinamafomethi Amaningi zibe Ama-Prompt e-DeepSeek V4.1 nge-deepseek-recipe

Funda ukufaka nokusebenzisa i-deepseek-recipe nge-Python noma nge-Rust, ukuguqula izicelo ze-Chat Completions zibe izingxoxo, ukunikezela ama-prompt e-DeepSeek V4.1, nokuhlola ukusakaza, ukuhlukaniswa kwamathokheni, ukulungiswa kwangaphambili kwezithombe, nokuhlaziywa kokuphumayo.

Guqula Izicelo ze-AI Ezinamafomethi Amaningi zibe Ama-Prompt e-DeepSeek V4.1 nge-deepseek-recipe

Yini i-deepseek-recipe?

deepseek-recipe iqoqo lamalabhulali e-Rust nama-binding e-Python okuxhumanisa izinsizakalo ze-API nama-backend e-inference e-DeepSeek. Iguqula izicelo ezivela kumafomethi e-API asekelwayo zibe yisakhiwo esabiwe se-Conversation, inikeze lezo zingxoxo njengezaziso ze-DeepSeek V4 noma V4.1, bese iguqula okukhipha imodeli kubuyele kufomethi yempendulo ehambisanayo.

Le phrojekthi iyisendlalelo sephrothokholi nokucubungula izaziso, hhayi iseva ephelele ye-inference. Kufanele unikeze i-model inference, i-HTTP transport, nokusetshenziswa kwamathuluzi ngokwehlukana.

Indlela iphayiphi yokucubungula esebenza ngayo

  1. Thola isicelo ngefomethi ye-Messages, Chat Completions, noma Responses.
  2. Guqula isicelo sibe yifomethi evamile ye-Conversation yelabhulali.
  3. Yenza i-Conversation ibe yisaziso se-DeepSeek V4 noma V4.1, noma uyifake kuma-token ID.
  4. Thumela isaziso noma ama-token ID ku-backend yangaphandle ye-inference.
  5. Hlaziya okukhiqiziwe, okuhlanganisa okuqukethwe kokucabanga okusekelwayo, ukubizwa kwamathuluzi, izinto ze-JSON, nama-stop sequence.
  6. Buyisela impendulo ephelele noma esakazwayo ngefomethi elindelwe yiklayenti.

i-deepseek-recipe ayiyisebenzisi imodeli, ayisebenzisi amathuluzi, futhi ayivezi isevisi ye-HTTP ngokwayo. Amaseva esibonelo e-Rust nawe-Python ayatholakala endaweni yokugcina ikhodi njengezinkomba zokuhlanganisa.

Izici ezibalulekile

  • Ukuguqulwa kwephrothokholi okuhlanganisiwe: Iphatha izicelo nezimpendulo ze-Messages, Chat Completions, ne-Responses.
  • Ukufakwa kwe-DeepSeek prompt: Yenza izingxoxo ze-DeepSeek V4 ne-V4.1 zibe yizaziso noma ama-token ID.
  • Izimpendulo ezisakazwayo neziphelele: Isekela ukuguqulwa kwazo zombili lezi zinhlobo zezimpendulo.
  • Izilungiselelo zokukhiqiza: Igcina imodi yokucabanga, umzamo wokucabanga, temperature, top_p, nemikhawulo yama-token okukhiphayo.
  • Ukuhlaziywa kokukhiphayo: Iqaphela okuqukethwe kokucabanga, ukubizwa kwamathuluzi yiklayenti, okukhiphayo okuyinto ye-JSON, nama-stop sequence.
  • Okokufaka kwe-multimodal: Yamukela izithombe ezinikezwe njengedatha ye-base64 noma ama-URL angaphandle. Iphakheji yezithombe inikeza ukulungiswa kwangaphambili kwe-DeepSeek V4.1 nge-OpenCV.
  • Izincazelo zamathuluzi: Isekela amathuluzi emisebenzi. I-Responses API futhi isekela izikhala zamathuluzi kanye nethuluzi langokwezifiso le-apply_patch.

Ukufakwa nokusethwa kwe-Python

Izimfuneko

ama-binding e-Python adinga i-Python 3.10 noma entsha. Faka iphakheji eshicilelwe nge-pip:

python3 -m pip install deepseek-recipe

Imojuli efakiwe ingeniswa njenge-deepseek_recipe.

Guqula isicelo se-Chat Completions

Isibonelo esilandelayo sakha isicelo se-Chat Completions, sisiguqule sibe yisakhiwo esivamile se-Conversation, bese sinikeza leyo Conversation njenge-DeepSeek V4.1 prompt:

from deepseek_recipe import (
    ChatCompletionRequest,
    ConversionOptions,
    DeepseekV41Encoding,
)

request = ChatCompletionRequest({
    "model": "deepseek-flash",
    "messages": [
        {"role": "user", "content": "Hello"}
    ],
})

converted = request.convert(ConversionOptions())
rendered = DeepseekV41Encoding().render_conversation(
    converted.conversation
)

print(rendered.prompt)

Qonda isinyathelo ngasinye

  1. ChatCompletionRequest ifunda idatha engenayo ye-Chat Completions.
  2. request.convert(ConversionOptions()) ilungisa isicelo sibe yi-Conversation.
  3. DeepseekV41Encoding() ikhetha imithetho yokufaka ikhodi ye-DeepSeek V4.1.
  4. render_conversation idala isakhiwo esilungele imodeli.
  5. rendered.prompt iqukethe i-prompt ezothunyelwa ku-backend yakho yangaphandle ye-inference.

Ngemva kwe-inference, sebenzisa izingxenye zephrojekthi zokuguqula izimpendulo nokuhlaziya okukhiphayo ukuze uguqule okukhiqizwe imodeli kube yifomethi ye-API edingwa yiklayenti lakho. Ukuhlanganisa okuqondile kuncike ekutheni i-backend yakho ibuyisa okukhiphayo okuphelele noma isakaza idatha ekhiqiziwe.

Ukufakwa nokusethwa kwe-Rust

Faka ama-crate

Faka ama-crate okuguqula iphrothokholi nokufaka ikhodi kuphrojekthi ye-Rust:

cargo add deepseek-recipe@0.1 deepseek-recipe-encoding@0.1

Uma wakha usuka kukhodi yomthombo noma uvumela ukucutshungulwa kwezithombe, bheka umhlahlandlela wokuthuthukisa wendawo yokugcina ikhodi ukuze uthole imiyalelo yokwakha nokuncika kwezithombe.

Yenza i-DeepSeek V4.1 prompt

use deepseek_recipe::openai::ChatCompletionRequest;
use deepseek_recipe::request::{ConversionOptions, ProtocolRequest};
use deepseek_recipe_encoding::PromptEncoding;
use deepseek_recipe_encoding::v4::dsv41::DeepseekV41Encoding;
use serde_json::json;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let request: ChatCompletionRequest = serde_json::from_value(json!({
        "model": "deepseek-flash",
        "messages": [
            {"role": "user", "content": "Hello"}
        ],
    }))?;

    let converted = request.convert(ConversionOptions::default())?;
    let rendered = DeepseekV41Encoding::new()
        .render_conversation(&converted.conversation);

    println!("{}", rendered.prompt);
    Ok(())
}

Lapha, i-Serde ihlukanisa i-JSON ibe yi-ChatCompletionRequest. I-trait ye-ProtocolRequest inikeza ukuguqulwa kwesicelo, kanti i-PromptEncoding inikeza ukunikezwa kwe-Conversation. I-prompt ewumphumela ingadluliselwa enjini ye-inference ephethwe ngokwehlukana.

Hlola idemo yokufaka nokukhipha ikhodi

Indawo yokugcina ikhodi iqukethe isixhumi esibonakalayo sewebhu sokunikeza ama-prompt, ukuhlola ama-token akhethekile, nokuhlukanisa okukhiphayo okuphelele kwemodeli kube amafomethi e-Chat Completions, Responses, noma Messages.

Kusuka empandeni yendawo yokugcina ikhodi, sebenzisa:

cargo run -p encoding-decoding-demo --locked

Bese uvula http://127.0.0.1:7778 esipheqululini.

Le demo iwusizo ekuhloleni ukwakheka kwe-prompt nasekuqondeni ukuthi umphumela okhiqiziwe uhambisana kanjani namafomethi ezimpendulo e-API asekelwayo ngaphambi kokuhlanganisa imitapo yolwazi kuseva.

Uhlolojikelele lwamaphakheji

  • deepseek-recipe: Ukuguqulwa kwezivumelwano nokuhlaziywa kwemiphumela yamamodeli.
  • deepseek-recipe-core: Izinhlobo ezabelwanayo zezingxoxo, imilayezo, izithombe, namathuluzi.
  • deepseek-recipe-encoding: Ukuboniswa kwama-prompt kanye nokufakwa kwamathokheni kwe-DeepSeek V4 ne-V4.1.
  • deepseek-recipe-image: Ukulanda nokulungisa izithombe kusengaphambili.
  • deepseek-recipe-python: Izibopho ze-Python ezitholakala nge-import ethi deepseek_recipe.
  • encoding-decoding-demo: Ukuhlolwa kwama-prompt nemiphumela kusiphequluli.
  • server-rs: Isibonelo se-Axum API esisebenzisa i-mock inference.
  • server-py: Isibonelo se-FastAPI esisebenzisa i-mock inference.

Amathiphu okuhlanganisa athuthukile

Gcina ukuphathwa kwesivumelwano kuhlukile ku-inference

Sebenzisa i-deepseek-recipe emingceleni yohlelo lwakho. Guqula izicelo ezingenayo ngaphambi kwe-inference bese uhlaziya umphumela okhiqiziwe ngemva kwalokho. Gcina ukulayishwa kwamamodeli, ukuhlanganisa amaqoqo, ukuhlela, nokuphathwa kwehadiwe kungaphakathi kwe-inference backend yakho.

Khetha ama-prompt noma ama-ID amathokheni ngenhloso

Ungabonisa izingxoxo njengama-prompt ombhalo noma uzifake kuma-ID amathokheni. Sebenzisa ukuboniswa kwe-prompt uma i-backend yakho yamukela umbhalo ohlelwe ngefomethi. Sebenzisa ukufakwa kwamathokheni uma i-backend yakho isebenza ngokuqondile nama-ID e-tokenizer. Umhlahlandlela we-tokenizer wendawo yokugcina uhlanganisa ukufaka izingxoxo nokukhipha ama-ID amathokheni e-backend.

Hlela ukusakaza njengomsebenzi ophelele kusukela ekuqaleni kuye ekugcineni

Kokubili i-Rust ne-Python kusekela ukuguqula umphumela wemodeli ube yizimpendulo ezisakazwayo. I-transport ne-inference backend yakho nazo kufanele zisakaze idatha; umtapo wolwazi awunikezi lezo zingqimba. Landela umhlahlandlela wezimpendulo zokusakaza lapho uxhuma umphumela wemodeli okhishwa kancane kancane ku-API ebhekiswe kuklayenti.

Phatha izithombe ngaphambi kwe-inference

Izicelo zingabhekisa ezithombeni ngokuqukethwe kwe-base64 noma ngama-URL angaphandle. Ingxenye ezinikele yezithombe isekela ukulanda nokulungiswa kwangaphambili kwe-DeepSeek V4.1 nge-OpenCV. Qinisekisa ukuthi izincikelo zezithombe ezidingekayo zifakiwe lapho wakha kusukela emthonjeni.

Gcina ukusetshenziswa kwamathuluzi kungaphandle komtapo wolwazi

Iphrojekthi ingamela izincazelo zamathuluzi futhi ihlaziye izingcingo zamathuluzi ezivela kumaklayenti, kodwa ayiwasebenzisi lawo mathuluzi. Uhlelo lwakho kufanele luqinisekise ucingo ngalunye, lusebenzise umsebenzi ofanele noma ithuluzi langokwezifiso, bese lungeza umphumela ekujikeni kwengxoxo okulandelayo.

Hlonipha imingcele yamanje

Ngaphambi kokuklama i-API ezungeze le phrojekthi, qaphela izici ezingakasekelwa:

  • Amathuba amathokheni nge-logprobs noma top_logprobs.
  • Okuqukethwe kwemibhalo, okokufaka komsindo noma kwevidiyo, kanye nokuthola nge-file_id.
  • Amathuluzi asetshenziswa yiseva afana ne-web_search.
  • I-JSON Schema kanye nemikhawulo yemiphumela esekelwe kuma-regular expression.
  • Ukuphoqelelwa kwezilungiselelo ze-strict zamathuluzi.
  • Izinketho eziningi ze-Chat Completions lapho n > 1.
  • Izincazelo zamathuluzi angokwezifiso ze-Responses ngaphandle kwe-apply_patch.
  • Ukugcinwa kwezingxoxo ze-Responses noma ukutholwa komongo nge-previous_response_id.
  • Okuqukethwe kokucabanga okubethelwe nge-encrypted_content.

Isiphetho

i-deepseek-recipe inikeza izingxenye ze-Rust ne-Python ezingasetshenziswa kabusha ukuze zilinganise izivumelwano eziningana ze-API, zenze okokufaka kwe-DeepSeek V4 ne-V4.1, futhi zihumushe umphumela okhiqiziwe ubuyele ezimpendulweni ezibhekiswe kumaklayenti. Qala ngesibonelo esiyisisekelo sokuguqulwa kwesicelo, hlola ukuziphatha nge-demo, bese uxhuma inqubo yokuguqula nengqalasizinda yakho ye-inference, transport, nokusebenzisa amathuluzi.

Ikhodi yephrojekthi kanye nemibhalo yomphakathi kuyatholakala ngaphansi kwe-MIT License.