$lang['tuto'] = "ട്യൂട്ടോറിയലുകൾ"; ?> Ollama LLM ഉം ഒരു കസ്റ്റം

Ollama LLM ഉം ഒരു കസ്റ്റം ടൂളും ഉപയോഗിച്ച് Langchain.js-ൻ്റെ ToolCallingAgentOutputParser പിശക് പരിഹരിക്കുന്നു

Temp mail SuperHeros
Ollama LLM ഉം ഒരു കസ്റ്റം ടൂളും ഉപയോഗിച്ച് Langchain.js-ൻ്റെ ToolCallingAgentOutputParser പിശക് പരിഹരിക്കുന്നു
Ollama LLM ഉം ഒരു കസ്റ്റം ടൂളും ഉപയോഗിച്ച് Langchain.js-ൻ്റെ ToolCallingAgentOutputParser പിശക് പരിഹരിക്കുന്നു

Langchain.js-ലെ ToolCallingAgentOutputParser പിശകുകൾ മനസ്സിലാക്കുകയും പരിഹരിക്കുകയും ചെയ്യുന്നു

Langchain.js v2-ൽ പ്രവർത്തിക്കുമ്പോൾ, ഒല്ലാമ പോലുള്ള ഇഷ്‌ടാനുസൃത ഉപകരണങ്ങളും ഭാഷാ മോഡലുകളും ഉപയോഗിച്ച് കാര്യക്ഷമമായ ഏജൻ്റുമാരെ സൃഷ്ടിക്കാൻ ഡവലപ്പർമാർ പലപ്പോഴും ലക്ഷ്യമിടുന്നു. എന്നിരുന്നാലും, ഈ ഘടകങ്ങളെ സംയോജിപ്പിക്കുന്നത് ചിലപ്പോൾ ഡീബഗ് ചെയ്യാൻ ബുദ്ധിമുട്ടുള്ള പിശകുകളിലേക്ക് നയിച്ചേക്കാം.

അത്തരത്തിലുള്ള ഒരു പിശകാണ് "ToolCallingAgentOutputParser-ലെ parseResult ChatGeneration ഔട്ട്‌പുട്ടിൽ മാത്രമേ പ്രവർത്തിക്കൂ," ഏജൻ്റ് ചട്ടക്കൂടിനുള്ളിൽ ഒരു ഇഷ്‌ടാനുസൃത ഉപകരണം നിർമ്മിക്കുമ്പോൾ ഇത് സംഭവിക്കാം. ഏജൻ്റും ടൂളും ശരിയായി പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കാൻ ഈ പ്രശ്നത്തിൻ്റെ മൂലകാരണം മനസ്സിലാക്കുന്നത് നിർണായകമാണ്.

Langchain's createToolCallingAgent ഉം Ollama മോഡലും ഉപയോഗിച്ച് ഒരു നമ്പർ ഇൻപുട്ടിലേക്ക് 2 ചേർക്കുന്ന ഒരു ഇഷ്‌ടാനുസൃത ഉപകരണത്തിൻ്റെ ലളിതമായ നടപ്പാക്കൽ ഈ ലേഖനം പര്യവേക്ഷണം ചെയ്യുന്നു. പിശകും അതിൻ്റെ സന്ദർഭവും വിശകലനം ചെയ്യുന്നതിലൂടെ, അത് എങ്ങനെ പരിഹരിക്കാമെന്ന് നമുക്ക് നന്നായി മനസ്സിലാക്കാൻ കഴിയും.

ഇനിപ്പറയുന്ന വിഭാഗങ്ങൾ നിങ്ങളെ കോഡിലൂടെ നയിക്കുകയും പിശക് വിശദീകരിക്കുകയും ഈ പ്രശ്നം പരിഹരിക്കുന്നതിനുള്ള പരിഹാരങ്ങൾ നൽകുകയും ചെയ്യും. നിങ്ങൾ Langchain.js-ൽ പുതിയ ആളോ പരിചയസമ്പന്നനോ ആകട്ടെ, ഈ പ്രശ്‌നം കാര്യക്ഷമമായി മറികടക്കാൻ ഈ ഗൈഡ് നിങ്ങളെ സഹായിക്കും.

കമാൻഡ് ഉപയോഗത്തിൻ്റെ ഉദാഹരണം
tool() Langchain.js-ൽ നിന്നുള്ള ഈ ഫംഗ്‌ഷൻ ഒരു ഓപ്പറേഷൻ നടത്തുന്ന ഒരു കസ്റ്റം ടൂൾ നിർവ്വചിക്കുന്നു. ഈ ലേഖനത്തിൽ, എളുപ്പത്തിൽ വിളിക്കാവുന്ന ഘടനയിൽ യുക്തിയെ പൊതിഞ്ഞ് ഒരു ഇൻപുട്ട് നമ്പറിലേക്ക് 2 ചേർക്കുന്ന ഒരു ഉപകരണം സൃഷ്ടിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു.
z.object() സോഡ് ലൈബ്രറിയുടെ ഒരു ഭാഗം, ലാങ്‌ചെയിനിൽ സ്കീമ മൂല്യനിർണ്ണയത്തിനായി ഉപയോഗിക്കുന്നു. ഇഷ്‌ടാനുസൃത ടൂളിലേക്കുള്ള ഇൻപുട്ട് ഒരു സംഖ്യയാണെന്ന് ഇത് ഉറപ്പാക്കുന്നു, എക്‌സിക്യൂഷൻ സമയത്ത് പിശകുകൾ തടയുന്നതിന് ശക്തമായ ഇൻപുട്ട് മൂല്യനിർണ്ണയം നൽകുന്നു.
createToolCallingAgent() ഈ കമാൻഡ് ഉപയോക്തൃ അന്വേഷണങ്ങൾക്ക് മറുപടിയായി നിർവചിക്കപ്പെട്ട ടൂളുകളെ വിളിക്കാൻ കഴിയുന്ന ഒരു ഏജൻ്റിനെ സൃഷ്ടിക്കുന്നു. ഒല്ലാമ പോലുള്ള ഭാഷാ മോഡലുകളുമായി ടൂളുകൾ സമന്വയിപ്പിക്കുന്നതിനുള്ള പ്രധാന കാര്യമാണിത്, സംഭാഷണ സമയത്ത് ടൂളുകൾ അഭ്യർത്ഥിക്കുന്നത് സാധ്യമാക്കുന്നു.
ChatPromptTemplate.fromMessages() പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ ഉപയോഗിച്ച് ഒരു ചാറ്റ് പ്രോംപ്റ്റ് ടെംപ്ലേറ്റ് സൃഷ്‌ടിക്കാൻ ഉപയോഗിക്കുന്നു. ഈ ടെംപ്ലേറ്റ് ഏജൻ്റിന് ഉപയോഗിക്കാനായി വ്യത്യസ്ത തരത്തിലുള്ള സന്ദേശങ്ങൾ (സിസ്റ്റം, ഹ്യൂമൻ, പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ) സംഘടിപ്പിക്കുന്നു, അതിൻ്റെ സംഭാഷണ പ്രവാഹം മെച്ചപ്പെടുത്തുന്നു.
MessagesPlaceholder ചാറ്റ് ഹിസ്റ്ററി അല്ലെങ്കിൽ ഏജൻ്റ് സ്‌ക്രാച്ച്‌പാഡ് പോലുള്ള ഡൈനാമിക് ഉള്ളടക്കത്തിനായുള്ള പ്രോംപ്റ്റ് ടെംപ്ലേറ്റിൽ ഒരു പ്ലെയ്‌സ്‌ഹോൾഡറായി പ്രവർത്തിക്കുന്നു. എക്സിക്യൂഷൻ സമയത്ത് സംഭാഷണ സന്ദർഭം ചലനാത്മകമായി കുത്തിവയ്ക്കാൻ ഇത് അനുവദിക്കുന്നു.
AgentExecutor() ഈ ക്ലാസ് ഏജൻ്റുമാരുടെയും ഉപകരണങ്ങളുടെയും നിർവ്വഹണം നിയന്ത്രിക്കുന്നു. ഉദാഹരണത്തിൽ, ഏജൻ്റിലൂടെ അന്വേഷണം പ്രവർത്തിപ്പിക്കുന്നതിനും ടൂളിൻ്റെ ഔട്ട്പുട്ടിൽ നിന്ന് ഫലം ശേഖരിക്കുന്നതിനും ഇത് സഹായിക്കുന്നു.
await agentExecutor.invoke() ഏജൻ്റ് മുഖേന അന്വേഷണം പ്രവർത്തിപ്പിക്കാനും ഫലത്തിനായി അസമന്വിതമായി കാത്തിരിക്കാനും ഉപയോഗിക്കുന്നു. ഭാഷാ മോഡലുകളുമായും ടൂളുകളുമായും സംവദിക്കുന്നതിന് ഇത് നിർണായകമാണ്, കാരണം മുന്നോട്ട് പോകുന്നതിന് മുമ്പ് പ്രവർത്തനം പൂർത്തിയാകുന്നതിന് കോഡ് കാത്തിരിക്കുന്നു.
try-catch അസാധുവായ ഇൻപുട്ട് തരങ്ങൾ പിടിക്കാൻ ഇഷ്‌ടാനുസൃത ടൂളിനുള്ളിൽ ഈ പിശക് കൈകാര്യം ചെയ്യൽ ഘടന ഉപയോഗിക്കുന്നു. ഒഴിവാക്കലുകൾ എടുക്കുന്നതിലൂടെ, എക്സിക്യൂഷൻ ഫ്ലോ തകർക്കാതെ തന്നെ സിസ്റ്റം സഹായകരമായ പിശക് സന്ദേശങ്ങൾ നൽകുന്നുവെന്ന് ഇത് ഉറപ്പാക്കുന്നു.
expect() Chai അസെർഷൻ ലൈബ്രറിയിൽ നിന്ന്, ഇഷ്‌ടാനുസൃത ടൂളിൻ്റെ ഔട്ട്‌പുട്ട് പരിശോധിക്കാൻ യൂണിറ്റ് ടെസ്റ്റിൽ expect() ഉപയോഗിക്കുന്നു. ഉപകരണം പ്രതീക്ഷിച്ചതുപോലെ പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കുന്നതിന് അത്യാവശ്യമാണ്.

Langchain.js-ൽ കസ്റ്റം ടൂളും ഏജൻ്റ് പിശക് കൈകാര്യം ചെയ്യലും മനസ്സിലാക്കുന്നു

നൽകിയിരിക്കുന്ന ഉദാഹരണത്തിൽ, ഞങ്ങൾ Langchain.js v2-മായി സംയോജിപ്പിക്കുന്ന ഒരു ഇഷ്‌ടാനുസൃത ഉപകരണം സൃഷ്‌ടിക്കാൻ പ്രവർത്തിക്കുന്നു. ഒല്ലമ ഭാഷാ മാതൃക. ലളിതമായ ഒരു ഗണിത പ്രവർത്തനം നടത്തുക എന്നതാണ് ഉപകരണത്തിൻ്റെ പ്രധാന ലക്ഷ്യം: ഇൻപുട്ട് മൂല്യത്തിലേക്ക് 2 ചേർക്കുക. ലാങ്‌ചെയിൻ ഉപയോഗിച്ചാണ് ഉപകരണം നിർമ്മിച്ചിരിക്കുന്നത് ഉപകരണം ഫംഗ്‌ഷൻ, ഒരു ഏജൻ്റിന് അഭ്യർത്ഥിക്കാൻ കഴിയുന്ന പുനരുപയോഗിക്കാവുന്ന ഫംഗ്‌ഷനുകൾ നിർവചിക്കുന്നു. ഉപകരണം ശരിയായി പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ, ഇൻപുട്ട് സ്കീമ Zod ലൈബ്രറിയിൽ സാധൂകരിക്കുന്നു, ഇൻപുട്ട് ഒരു സാധുവായ സംഖ്യയാണെന്ന് ഉറപ്പുനൽകുന്നു. ഇത് ശരിയായ പിശക് കൈകാര്യം ചെയ്യൽ ഉറപ്പാക്കുകയും അസാധുവായ ഇൻപുട്ടുകൾ കാരണം ടൂൾ പരാജയപ്പെടുന്നത് തടയുകയും ചെയ്യുന്നു.

ഇഷ്‌ടാനുസൃത ഉപകരണം ഉപയോഗിച്ച് ഒരു ഏജൻ്റിലേക്ക് സംയോജിപ്പിക്കുന്നു createToolCallingAgent പ്രവർത്തനം. ആവശ്യമുള്ളപ്പോൾ ഉപകരണത്തെ വിളിക്കാൻ ഈ കമാൻഡ് ഏജൻ്റിനെ അനുവദിക്കുന്നു, കൂടാതെ പ്രതികരണങ്ങളുടെ സർഗ്ഗാത്മകത നിയന്ത്രിക്കുന്നതിന് താപനില പോലുള്ള പ്രത്യേക പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്‌തിരിക്കുന്ന ഒല്ലാമ മോഡലാണ് ഏജൻ്റിനെ പവർ ചെയ്യുന്നത്. ഏജൻ്റും ടൂളും തമ്മിലുള്ള സുഗമമായ ഇടപെടൽ സുഗമമാക്കുന്നതിന്, ഒരു ചാറ്റ് പ്രോംപ്റ്റ് ടെംപ്ലേറ്റ് ഉപയോഗിക്കുന്നു. സിസ്റ്റം സന്ദേശങ്ങൾ, ഹ്യൂമൻ ഇൻപുട്ട്, പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ എന്നിങ്ങനെ വ്യത്യസ്ത തരത്തിലുള്ള സന്ദേശങ്ങൾ നിർവചിച്ചുകൊണ്ടാണ് ഈ ടെംപ്ലേറ്റ് സംഭാഷണം സംഘടിപ്പിക്കുന്നത്. പോലുള്ള പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ MessagesPlaceholder, ചാറ്റ് ചരിത്രം പോലുള്ള ഘടകങ്ങൾ ഉൾപ്പെടുത്തി സംഭാഷണം ചലനാത്മകമാക്കാൻ അനുവദിക്കുക.

ഈ ഉദാഹരണത്തിൽ പരാമർശിച്ചിരിക്കുന്ന പ്രധാന പ്രശ്നങ്ങളിലൊന്ന്, ലാങ്‌ചെയിൻ ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ട് പാഴ്‌സിംഗിനെ ചുറ്റിപ്പറ്റിയുള്ള പിശക് കൈകാര്യം ചെയ്യുന്നതാണ്. "ParseResult on ToolCallingAgentOutputParser ChatGeneration ഔട്ട്‌പുട്ടിൽ മാത്രമേ പ്രവർത്തിക്കൂ" എന്ന പിശക് സന്ദേശം പാഴ്‌സർ പ്രതീക്ഷിക്കുന്ന ഔട്ട്‌പുട്ടും ജനറേറ്റുചെയ്യുന്ന യഥാർത്ഥ ഔട്ട്‌പുട്ടും തമ്മിലുള്ള പൊരുത്തക്കേടിൽ നിന്നാണ്. ഈ പിശക് കൈകാര്യം ചെയ്യുന്നതിന്, എല്ലാ ഇൻപുട്ടുകളും ഔട്ട്പുട്ടുകളും പ്രതീക്ഷിക്കുന്ന ഫോർമാറ്റുകൾക്ക് അനുസൃതമായി പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കിക്കൊണ്ട്, കസ്റ്റം ടൂൾ ശക്തമായ ലോജിക്കിൽ പൊതിഞ്ഞിരിക്കുന്നു. ഇത് കൂടുതൽ നിയന്ത്രിക്കുന്നത് ഏജൻ്റ് എക്സിക്യൂട്ടർ ചോദ്യവും ടൂൾ ഔട്ട്‌പുട്ടും ശരിയായി സമന്വയിപ്പിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പുവരുത്തുന്ന, ഏജൻ്റിൻ്റെയും ടൂളുകളുടെയും നിർവ്വഹണത്തെ ഏകോപിപ്പിക്കുന്ന ക്ലാസ്.

അവസാനമായി, സ്ക്രിപ്റ്റുകൾ ഉപയോഗിച്ച് അസിൻക്രണസ് എക്സിക്യൂഷൻ നടപ്പിലാക്കുന്നു കാത്തിരിക്കുക, മറ്റ് പ്രക്രിയകളെ തടയാതെ തന്നെ പ്രവർത്തനങ്ങൾ കൈകാര്യം ചെയ്യാൻ സിസ്റ്റത്തെ അനുവദിക്കുന്നു. പ്രതികരണം കൃത്യവും സമയബന്ധിതവുമാണെന്ന് ഉറപ്പാക്കിക്കൊണ്ട്, തുടരുന്നതിന് മുമ്പ് ഉപകരണം അതിൻ്റെ ഫലം നൽകുന്നതിനായി ഏജൻ്റ് കാത്തിരിക്കുന്നു. കൂടാതെ, ഉപകരണത്തിൻ്റെ പ്രവർത്തനക്ഷമത സ്ഥിരീകരിക്കുന്നതിന് യൂണിറ്റ് ടെസ്റ്റുകൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, ഇത് സ്ഥിരമായി ശരിയായ ഔട്ട്പുട്ട് ഉത്പാദിപ്പിക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നു. ഈ പരിശോധനകൾ ഉപകരണത്തിൻ്റെ ഗണിതശാസ്ത്ര പ്രവർത്തനം സ്ഥിരീകരിക്കുക മാത്രമല്ല, അത് അസാധുവായ ഇൻപുട്ട് എത്ര നന്നായി കൈകാര്യം ചെയ്യുന്നുവെന്നും പരിശോധിക്കുന്നു, ഇത് പരിഹാരത്തിൻ്റെ മൊത്തത്തിലുള്ള വിശ്വാസ്യത മെച്ചപ്പെടുത്തുന്നു. ഈ മോഡുലറും പിശക്-പ്രതിരോധശേഷിയുള്ളതുമായ ഡിസൈൻ, Langchain.js-ലെ വിവിധ ആപ്ലിക്കേഷനുകൾക്കായി സ്ക്രിപ്റ്റുകളെ വീണ്ടും ഉപയോഗിക്കാവുന്നതും ഫലപ്രദവുമാക്കുന്നു.

മോഡുലാർ അപ്രോച്ച് ഉപയോഗിച്ച് Langchain.js പിശക് പരിഹരിക്കുന്നു

പരിഹാരം 1: Langchain.js, Ollama LLM എന്നിവ ഉപയോഗിച്ച് മോഡുലാർ സമീപനവും പിശക് കൈകാര്യം ചെയ്യലും ഉള്ള JavaScript

import { tool } from "@langchain/core/tools";
import { z } from "zod";
import { Ollama } from "@langchain/ollama";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { createToolCallingAgent } from "langchain/agents";
import { AgentExecutor } from "langchain/agents";
// Initialize LLM with Ollama
const llm = new Ollama({
    model: "llama3",
    temperature: 0.7,
});
// Custom tool to add 2 to the input number
const magicTool = tool(
    async (input) => {
        return input + 2;
    },
    {
        name: "magic_function",
        description: "Applies a magic function to an input",
        schema: z.object({ input: z.number() }),
    };
);
const tools = [magicTool];
// Setup ChatPromptTemplate with placeholders
const prompt = ChatPromptTemplate.fromMessages([
    ["system", "You are a helpful assistant called iHelp"],
    ["placeholder", "{chat_history}"],
    ["human", "{input}"],
    ["placeholder", "{agent_scratchpad}"],
]);
// Agent configuration
const agent = createToolCallingAgent({ llm, tools, prompt });
// Execute agent query
const agentExecutor = new AgentExecutor({ agent, tools });
const query = "What is the value of magic_function(3)?";
await agentExecutor.invoke({ input: query });

Langchain.js ഏജൻ്റിനായുള്ള മെച്ചപ്പെടുത്തിയ പിശക് കൈകാര്യം ചെയ്യൽ

പരിഹാരം 2: Langchain.js-ലെ ഇഷ്‌ടാനുസൃത ഉപകരണത്തിൻ്റെ ഔട്ട്‌പുട്ട് സാധൂകരിക്കുന്നതിന് യൂണിറ്റ് ടെസ്റ്റുകൾ കൈകാര്യം ചെയ്യുന്നതിൽ പിശക്

import { tool } from "@langchain/core/tools";
import { z } from "zod";
import { Ollama } from "@langchain/ollama";
import { createToolCallingAgent } from "langchain/agents";
import { AgentExecutor } from "langchain/agents";
// Initialize LLM with Ollama
const llm = new Ollama({ model: "llama3", temperature: 0.7 });
// Custom tool with added error handling
const magicTool = tool(
    async (input) => {
        try {
            if (typeof input !== "number") throw new Error("Invalid input type!");
            return input + 2;
        } catch (err) {
            return err.message;
        }
    },
    {
        name: "magic_function",
        description: "Adds 2 to input and handles errors",
        schema: z.object({ input: z.number() }),
    }
);
const tools = [magicTool];
// Agent and execution
const agent = createToolCallingAgent({ llm, tools });
const agentExecutor = new AgentExecutor({ agent, tools });
const query = "magic_function('abc')"; // Test with invalid input
await agentExecutor.invoke({ input: query });
// Unit test example
import { expect } from "chai";
it("should return 5 when input is 3", async () => {
    const result = await magicTool(3);
    expect(result).to.equal(5);
});

Langchain.js, Ollama LLM ഇൻ്റഗ്രേഷൻ എന്നിവയിലെ ഏജൻ്റുമാരുടെ പങ്ക് പര്യവേക്ഷണം ചെയ്യുക

Langchain.js-ൽ പ്രവർത്തിക്കുമ്പോൾ, സംയോജിപ്പിക്കുന്നു ഏജൻ്റുമാർ ഒല്ലമ പോലുള്ള ഉപകരണങ്ങളും ഭാഷാ മോഡലുകളും ഉപയോഗിച്ച് ഡൈനാമിക് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു നിർണായക വശമാണ്. പ്രത്യേക ടാസ്ക്കുകൾ നിർവഹിക്കുന്ന ഒരു ഇഷ്‌ടാനുസൃത ടൂൾ, കൂടുതൽ സംഭാഷണപരമോ ജനറേറ്റീവായതോ ആയ ജോലികൾ കൈകാര്യം ചെയ്യുന്ന ഒരു ഭാഷാ മോഡലുമായി ബന്ധിപ്പിക്കാൻ ഒരു ഏജൻ്റ് നിങ്ങളെ അനുവദിക്കുന്നു. ഏജൻ്റുമാരെ ഉപയോഗിക്കുന്നതിലൂടെ, ഡെവലപ്പർമാർക്ക് വർക്ക്ഫ്ലോകൾ ഓട്ടോമേറ്റ് ചെയ്യാൻ കഴിയും, അവിടെ ഒരു മോഡൽ പ്രതികരണങ്ങൾ സൃഷ്ടിക്കുക മാത്രമല്ല, കണക്കുകൂട്ടലുകളോ ഡാറ്റ പ്രോസസ്സിംഗോ നടത്തുന്നതിനുള്ള ടൂളുകൾ ആവശ്യപ്പെടുകയും ചെയ്യുന്നു.

ഈ സംയോജനത്തിലെ പ്രധാന ഘടകം createToolCallingAgent പ്രവർത്തനം. ആവശ്യമുള്ളപ്പോൾ നിർദ്ദിഷ്ട ടൂളുകൾ പ്രവർത്തനക്ഷമമാക്കാൻ ഈ ഫംഗ്‌ഷൻ ഏജൻ്റിനെ അനുവദിക്കുന്നു, ടാസ്‌ക്കുകൾ കൃത്യമായും കാര്യക്ഷമമായും പൂർത്തിയാക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്നു. പ്രാഥമിക ശ്രദ്ധ പലപ്പോഴും ഉപകരണം തന്നെ സൃഷ്ടിക്കുന്നതിലായിരിക്കുമ്പോൾ, ഏജൻ്റിൻ്റെ വർക്ക്ഫ്ലോ എങ്ങനെ കൈകാര്യം ചെയ്യാമെന്നും പാഴ്‌സിംഗ് പിശകുകൾ ഒഴിവാക്കാമെന്നും മനസ്സിലാക്കുന്നത് ഒരുപോലെ പ്രധാനമാണ്. "ParseResult on ToolCallingAgentOutputParser ChatGeneration ഔട്ട്‌പുട്ടിൽ മാത്രമേ പ്രവർത്തിക്കൂ" എന്നതുപോലുള്ള പിശകുകൾ സാധാരണയായി സംഭവിക്കുന്നത് ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ട് പാഴ്‌സിംഗ് സിസ്റ്റവുമായി പൊരുത്തപ്പെടാത്തപ്പോൾ, ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ടും പ്രതീക്ഷിക്കുന്ന ഫോർമാറ്റും തമ്മിലുള്ള ശരിയായ വിന്യാസത്തിൻ്റെ ആവശ്യകത എടുത്തുകാണിക്കുന്നു.

പോലുള്ള പ്രോംപ്റ്റ് ടെംപ്ലേറ്റുകളുടെ ഉപയോഗം ChatPrompt ടെംപ്ലേറ്റ്, ഡൈനാമിക് സന്ദേശങ്ങളും സന്ദർഭ പ്ലെയ്‌സ്‌ഹോൾഡറുകളും അനുവദിച്ചുകൊണ്ട് ആശയവിനിമയത്തെ കൂടുതൽ സമ്പന്നമാക്കുന്നു. ചാറ്റ് ചരിത്രത്തെയോ ഏജൻ്റിൻ്റെ സ്‌ക്രാച്ച്‌പാഡിനെയോ അടിസ്ഥാനമാക്കി അതിൻ്റെ പ്രതികരണങ്ങൾ ക്രമീകരിക്കാൻ ഇത് ഏജൻ്റിനെ അനുവദിക്കുന്നു. പ്രോംപ്റ്റ് ടെംപ്ലേറ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുകയും ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ടുകൾ ശരിയായി പാഴ്‌സ് ചെയ്‌തിരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നത്, നിങ്ങളുടെ Langchain.js ആപ്ലിക്കേഷനുകളെ കൂടുതൽ വിശ്വസനീയവും കാര്യക്ഷമവുമാക്കുന്ന നിരവധി സാധാരണ പിശകുകൾ തടയാൻ കഴിയും.

Langchain.js, ഏജൻ്റ്സ്, ടൂളുകൾ എന്നിവയെ കുറിച്ച് പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ

  1. Langchain.js-ലെ ഒരു ഏജൻ്റ് എന്താണ്?
  2. ഒരു ഉപയോക്തൃ അന്വേഷണത്തെ അടിസ്ഥാനമാക്കി നിർദ്ദിഷ്ട ടാസ്ക്കുകൾ നിർവഹിക്കുന്നതിന് ഉപകരണങ്ങളുമായും ഭാഷാ മോഡലുകളുമായും സംവദിക്കുന്ന ഒരു ഘടകമാണ് ഏജൻ്റ്. ഇത് ഉപയോഗിക്കുന്നു createToolCallingAgent ഉപകരണങ്ങൾ ട്രിഗർ ചെയ്യുന്നതിനുള്ള പ്രവർത്തനം.
  3. "ParseResult on ToolCallingAgentOutputParser" പിശക് നിങ്ങൾ എങ്ങനെ പരിഹരിക്കും?
  4. ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ട് പാർസറുമായി പൊരുത്തപ്പെടാത്തപ്പോൾ ഈ പിശക് സംഭവിക്കുന്നു. പാഴ്‌സർ പ്രതീക്ഷിക്കുന്നതുമായി ഔട്ട്‌പുട്ട് പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് ഉറപ്പുവരുത്തി a ഉപയോഗിക്കുക ChatGeneration ഔട്ട്പുട്ട് ഫോർമാറ്റ്.
  5. എന്താണ് ഉദ്ദേശ്യം AgentExecutor?
  6. ദി AgentExecutor Langchain.js ആപ്ലിക്കേഷനുകളിൽ സങ്കീർണ്ണമായ വർക്ക്ഫ്ലോകൾ പ്രവർത്തിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഏജൻ്റിൻ്റെയും അതിൻ്റെ ടൂളുകളുടെയും നിർവ്വഹണം നിയന്ത്രിക്കുന്നു.
  7. എങ്ങനെ ചെയ്യുന്നു ChatPromptTemplate ജോലി?
  8. ChatPromptTemplate ഒരു ഘടനാപരമായ ഫോർമാറ്റിൽ ചാറ്റ് സന്ദേശങ്ങൾ ഓർഗനൈസുചെയ്യുന്നു, ചാറ്റ് ഹിസ്റ്ററി, ഏജൻ്റ് സ്‌ക്രാച്ച്‌പാഡ് എന്നിവ പോലുള്ള ഡൈനാമിക് ഉള്ളടക്കം സംഭാഷണ ഫ്ലോയിലേക്ക് തിരുകാൻ അനുവദിക്കുന്നു.
  9. എന്തിനാണ് Zod ഉപകരണത്തിൽ ഉപയോഗിച്ചത്?
  10. Zod ഇൻപുട്ട് മൂല്യനിർണ്ണയത്തിനായി ഉപയോഗിക്കുന്നു, ഇഷ്‌ടാനുസൃത ടൂളിലേക്കുള്ള ഇൻപുട്ട് ശരിയായ തരത്തിലുള്ളതാണെന്ന് ഉറപ്പാക്കുന്നു (ഉദാ. ഒരു നമ്പർ), ഇത് പിശകുകളുടെ സാധ്യത കുറയ്ക്കുന്നു.

Langchain.js-ൽ പിശക് കൈകാര്യം ചെയ്യുന്നതിനെക്കുറിച്ചുള്ള അന്തിമ ചിന്തകൾ

"ParseResult on ToolCallingAgentOutputParser ChatGeneration ഔട്ട്‌പുട്ടിൽ മാത്രമേ പ്രവർത്തിക്കൂ" എന്ന പിശക് പരിഹരിക്കുന്നതിന് നിങ്ങളുടെ ഏജൻ്റിൻ്റെ ഔട്ട്‌പുട്ടും അതിൻ്റെ പാഴ്‌സിംഗ് പ്രതീക്ഷകളും തമ്മിൽ ശ്രദ്ധാപൂർവ്വം വിന്യാസം ആവശ്യമാണ്. ശരിയായ സമീപനത്തിലൂടെ, ഈ പിശക് ഒഴിവാക്കാനാകും.

മൂല്യനിർണ്ണയത്തിനായി Zod പോലെയുള്ള ഉചിതമായ ടൂളുകൾ ഉപയോഗിക്കുന്നതിലൂടെയും Ollama ഉപയോഗിച്ച് നിർമ്മിച്ചത് പോലെയുള്ള ഏജൻ്റുകൾ ഇൻപുട്ടുകളും ഔട്ട്പുട്ടുകളും ശരിയായി കൈകാര്യം ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നതിലൂടെ, പാഴ്‌സിംഗ് പ്രശ്‌നങ്ങൾ നേരിടാതെ തന്നെ നിങ്ങൾക്ക് Langchain.js-ൽ ശക്തമായ പരിഹാരങ്ങൾ സൃഷ്ടിക്കാൻ കഴിയും.

Langchain.js പിശക് പരിഹാരത്തിനുള്ള ഉറവിടങ്ങളും റഫറൻസുകളും
  1. ടൂൾ ക്രിയേഷൻ, ഏജൻ്റ് കോൺഫിഗറേഷനുകൾ എന്നിവയെ കുറിച്ചുള്ള ഉൾക്കാഴ്ച നൽകുന്ന ഔദ്യോഗിക Langchain ഡോക്യുമെൻ്റേഷനെ കുറിച്ച് വിശദീകരിക്കുന്നു. ലാങ്‌ചെയിൻ ഡോക്യുമെൻ്റേഷൻ ഉള്ളിൽ.
  2. ഇൻപുട്ട് മൂല്യനിർണ്ണയത്തിനായി Zod-ൻ്റെ ഉപയോഗവും Langchain.js-ൽ അതിൻ്റെ പ്രയോഗവും കൂടുതൽ വിശദീകരിക്കുന്നു. സോഡ് ഡോക്യുമെൻ്റേഷൻ ഉള്ളിൽ.
  3. ഒല്ലാമ ഭാഷാ മാതൃകയും ഇഷ്‌ടാനുസൃത ഏജൻ്റുമാർക്കുള്ളിൽ അതിൻ്റെ നടപ്പാക്കലും വിവരിക്കുന്നു. ഒല്ലമ എൽഎൽഎം ഉള്ളിൽ.