_id: hugging_face title: Hugging Face description: "" version: 1 readme: "" url: https://huggingface.co/PiperMy/Node-Packages/resolve/main/hugging_face.yaml author: Anton Breslavskii | https://github.com/breslavsky nodes: pulid_flux: _id: pulid_flux arrange: x: 140 y: 60 category: id: deep_swap title: en=Deep swap;ru=Глубокая замена environment: HF_TOKEN: title: Hugging Face Token type: string scope: global inputs: prompt: order: 1 title: en=Prompt;ru=Подсказка type: string required: true default: portrait, color, cinematic person: title: en=Person;ru=Фото человека type: image required: true imageSize: title: Image size type: string default: 1024x1024 enum: - 512x512 - 1024x1024 outputs: image: title: "" type: image package: hugging_face script: |- export async function run({ inputs }) { const { FatalError, NextNode } = DEFINITIONS; const HF_TOKEN = env?.variables?.get('HF_TOKEN'); if(!HF_TOKEN) { throw new FatalError('Please, set your API key Hugging Face'); } const { Client } = await import("@gradio/client/dist/index.js"); const { person, prompt, imageSize } = inputs; const [width, height] = (() => { const [width, height] = imageSize.split('x'); return [parseInt(width), parseInt(height)]; })(); const { data: id_image } = await download(person); const client = await Client.connect("PiperMy/PuLID-FLUX", { hf_token: HF_TOKEN }); console.log('Send request'); try { const { data } = await client.predict("/generate_image", { prompt, id_image, start_step: 0, guidance: 2, seed: -1, true_cfg: 1, width, height, num_steps: 25, id_weight: 1, neg_prompt: "artefacts, bad face", timestep_to_start_cfg: 0, max_sequence_length: 128, }); const [{ url }] = data; const { data: image } = await download(url); return NextNode.from({ outputs: { image } }); } catch (e) { throw new FatalError(e.message); } } source: catalog title: PuLID Flux version: 1 deepseek_r1_8b_six: _id: deepseek_r1_8b_six arrange: x: 210 y: 310 category: id: llm_agents title: en=Language Agents;ru=Языковые агенты environment: HF_TOKEN: title: Hugging Face Token type: string scope: pipeline inputs: question: order: 1 title: en=Question;ru=Вопрос type: string required: true multiline: true default: What time is it now? Only JSON ready to parse. answerFormat: order: 2 title: en=Answer format;ru=Формат ответа description: Don't forget add instructions for LLM type: string required: true default: text enum: - text|Text - json|JSON outputs: answer: title: en=Answer;ru=Ответ type: string json: title: JSON type: json package: hugging_face script: | export async function run({ inputs }) { const { FatalError, NextNode } = DEFINITIONS; const OpenAI = require('openai'); const HF_TOKEN = env?.variables?.get('HF_TOKEN'); if (!HF_TOKEN) { throw new FatalError('Please, set your API key for HF'); } const { question, model, answerFormat } = inputs; const openai = new OpenAI({ baseURL: 'https://jq20v0lfcxycc1z3.us-east-1.aws.endpoints.huggingface.cloud/v1/', apiKey: HF_TOKEN, }); const result = await openai.chat.completions.create({ model: 'lmstudio-community/DeepSeek-R1-Distill-Llama-8B-GGUF', messages: [ { "role": "user", "content": question }, ], }); const { content: answer } = result.choices[0].message; switch (answerFormat) { case 'text': return NextNode.from({ outputs: { answer } }); case 'json': try { const json = answer.replace(/^\`\`\`json\s*/ig, '').replace(/\`\`\`\s*$/ig, ''); return NextNode.from({ outputs: { json: JSON.parse(json) } }); } catch (e) { console.log(e); message(`Wrong JSON for question \`\`\`text\n${question}\n\`\`\`\nnanswer from LLM\n\`\`\`text${answer}\n\`\`\``, 'defect'); throw new FatalError("Can't parse JSON asnwer from LLM"); } default: throw new FatalError(`Wrong answer format ${answerFormat}`); } } source: catalog title: DeepSeek R1 Distill Llama 8B Q8 version: 1