ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು: ಪ್ಯಾಟರ್ನ್ಸ್, ಪ್ರಾಂಪ್ಟ್ಸ್ ಮತ್ತು ಪ್ಲಗಿನ್ಗಳೊಂದಿಗೆ ಪ್ರಾಯೋಗಿಕ ಮಾರ್ಗದರ್ಶಿ
ನೀವು LLM ಅನ್ನು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಜೋಡಿಸಲು ಪ್ರಯತ್ನಿಸಿ, ಆದರೆ ಪ್ರಾಂಪ್ಟ್ಸ್, ಸಹಾಯಕ ಫಂಕ್ಷನ್ಗಳು ಮತ್ತು ಸ್ಥಿತಿಗಳ ಸಂಕೀರ್ಣ ಜಾಲದಲ್ಲಿ ಸಿಲುಕಿಹೋದಿರಾ? ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ (SK) ಅದನ್ನು ಸರಿಪಡಿಸಲು ರೂಪುಗೊಂಡಿದೆ. ಇದು Microsoft ನಿಂದಲೂ ಲಘು-ಭಾರ, ಓಪನ್-ಸೋರ್ಸ್ ಸಂಯೋಜನಾ ಫ್ರೇಮ್ವರ್ಕ್ ಆಗಿದ್ದು, ನೈಸರ್ಗಿಕ ಭಾಷೆ, ಉಪಕರಣಗಳು ಮತ್ತು ಮೆಮೊರಿಯನ್ನು ಮಿಶ್ರಣ ಮಾಡುವ AI-ಪ್ರಥಮ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ—ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ ಅನ್ನು ಪ್ರಾಂಪ್ಟ್ ಸ್ಪಘೆಟ್ಟಿ ಬೌಲಾಗಿ ಮಾಡದೆ.
ಈ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ, ನಾವು ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಶೂನ್ಯದಿಂದ ಉತ್ಪಾದನಾ ಪ್ಯಾಟರ್ನ್ಸ್ವರೆಗೆ ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಪ್ರಾಯೋಗಿಕ, ಪರಿಹಾರಮುಖಿ ಪ್ರವಾಸ ಮಾಡುತ್ತೇವೆ. ನೀವು ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ರಚಿಸುವುದು, ಉಪಕರಣಗಳನ್ನು ಜೋಡಿಸುವುದು, ಮೆಮೊರಿ ಸೇರಿಸುವುದು, ಅನೇಕ ಮಾದರಿಗಳನ್ನು ಕರೆಮಾಡುವುದು ಮತ್ತು ಸತತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಏಜೆಂಟ್ಗಳನ್ನು ನಿಯೋಜಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಕಲಿಯುತ್ತೀರಿ. ನಾವು ಉದಾಹರಣೆಗಳನ್ನು ನೆಲಗಟ್ಟಿದಂತೆ ಇಟ್ಟುಕೊಂಡು ಮುಖ್ಯಾಂಶಗಳನ್ನು ತೋರಿಸುತ್ತೇವೆ.
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಎಂದರೆ ಏನು—ಮತ್ತು ಅದನ್ನು ಯಾಕೆ ಬಳಸುವುದು?
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಒಂದು SDK ಆಗಿದ್ದು, ಇದು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ:
- ಪ್ರಾಂಪ್ಟ್ಗಳು ಮತ್ತು ಫಂಕ್ಷನ್ಗಳನ್ನು ರಚಿಸುವುದು ("skills"/ಪ್ಲಗಿನ್ಗಳು) ಪೈಪ್ಲೈನ್ಗಳಾಗಿ.
- ಬಹುಮಾನ ಮಾದರಿಗಳನ್ನು ಕರೆಮಾಡುವುದು (OpenAI, Azure OpenAI, ಸ್ಥಳೀಯ ಮಾದರಿಗಳು) ಪರ್ಯಾಯವಾಗಿ.
- ಸಂದರ್ಭ ಮತ್ತು ದೀರ್ಘಕಾಲಿಕ ಸ್ಮರಣೆಗೆ ಮೆಮೊರಿ ಸೇರಿಸುವುದು embeddings ಮೂಲಕ.
- ಬಹು ಹಂತದ ಕಾರ್ಯಗಳನ್ನು ಯೋಜಿಸಿ ಮತ್ತು ಸಂಯೋಜಿಸುವುದು ವಿಶ್ವಾಸಾರ್ಹ ಸ್ಥಿತಿಯೊಂದಿಗೆ.
- ಉಪಕರಣಗಳನ್ನು ಸಂಯೋಜಿಸುವುದು (APIs, ಡೇಟಾಬೇಸ್ಗಳು, ಫೈಲ್ I/O) ಸುರಕ್ಷಿತವಾಗಿ ಮತ್ತು ನಿರ್ಧಾರಾತ್ಮಕವಾಗಿ.
SK ಅನ್ನು LLMಗಳು, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಲಾಜಿಕ್ ಮತ್ತು ಬಳಕೆದಾರ ಡೇಟಾವನ್ನು ಸಂಯೋಜಿಸುವ ನಿಯಂತ್ರಕ ಎಂದು ಪರಿಗಣಿಸಿ. ದೀರ್ಘ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಮತ್ತು ತಾತ್ಕಾಲಿಕ ಉಪಕರಣ ಕರೆಗಳನ್ನು ಹಾರ್ಡ್-ಕೋಡ್ ಮಾಡುವ ಬದಲು, ನೀವು ಸ್ಪಷ್ಟ ಇನ್ಪುಟ್ಗಳು/ಔಟ್ಪುಟ್ಗಳೊಂದಿಗೆ ಪುನರ್ವಿನಿಯೋಗಿಸಬಹುದಾದ ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ಗಳು ಮತ್ತು ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೀರಿ.
ಸಾಮಾನ್ಯ ಬಳಕೆ ಪ್ರಕರಣಗಳು:
- ಗ್ರಾಹಕ ಬೆಂಬಲ ಸಹಾಯಕರು retrieval-augmented generation (RAG) ಬಳಸಿ
- ಕಾರ್ಯಪ್ರವಾಹ ಏಜೆಂಟ್ಗಳು (ಸಾರಾಂಶ → ವರ್ಗೀಕರಣ → ಕ್ರಮ ಕೈಗೊಳ್ಳುವುದು)
- ಮೆಮೊರಿ ಮತ್ತು ಉಲ್ಲೇಖಗಳೊಂದಿಗೆ ಡಾಕ್ಯುಮೆಂಟ್ ಪ್ರಶ್ನೋತ್ತರ
- ಸೃಜನಾತ್ಮಕ ವಿಷಯ ಮತ್ತು ಕೋಡ್ ರಚನೆ ಪೈಪ್ಲೈನ್ಗಳು
ತ್ವರಿತ ಪ್ರಾರಂಭ: ನಿಮ್ಮ ಮೊದಲ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅಪ್ಲಿಕೇಶನ್
ಕೆಳಗಿನವು ಒಂದು ಚಾಟ್ ಮಾದರಿ ಮತ್ತು ಸರಳ ಪ್ರಾಂಪ್ಟ್ ಬಳಸಿ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಕನಿಷ್ಠ ಹರಿವು. ನಾವು ಸ್ಪಷ್ಟತೆಗಾಗಿ C# ಬಳಸುತ್ತೇವೆ; Python ಅಥವಾ Java ನಲ್ಲಿ ಸಹ ಮಾಡಬಹುದಾಗಿದೆ.
1) ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ
# .NET
dotnet add package Microsoft.SemanticKernel
# ಐಚ್ಛಿಕ: ಕನೆಕ್ಟರ್ಗಳು ಮತ್ತು ಯೋಜಕರ ಸಂಸ್ಕರಣೆ ಆವೃತ್ತಿ ಪ್ರಕಾರ ಬದಲಾಗಬಹುದು
2) ಕರ್ಣಲ್ ಮತ್ತು ಮಾದರಿಯನ್ನು ಸಂರಚಿಸಿ
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
var builder = Kernel.CreateBuilder;
// ನಿಮ್ಮ ಪೂರೈಕೆದಾರರನ್ನು ಆಯ್ಕೆಮಾಡಿ: OpenAI ಅಥವಾ Azure OpenAI
builder.AddOpenAIChatCompletion(
modelId: "gpt-4o-mini", // ಅಥವಾ ನಿಮ್ಮ ಇಷ್ಟದ ಮಾದರಿ
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
var kernel = builder.Build;
3) ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ (ಪ್ರಾಂಪ್ಟ್) ವ್ಯಾಖ್ಯಾನಿಸಿ
using Microsoft.SemanticKernel.SemanticFunctions;
var prompt = @"ನೀವು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸುವವರಾಗಿದ್ದೀರಿ.
ಆರಂಭಿಕರಿಗೆ '{topic}' ಎಂಬ ಕಲ್ಪನೆಯನ್ನು 3 ಬಿಂದುಗಳಲ್ಲಿ ವಿವರಿಸಿ.";
var explainFunc = kernel.CreateFunctionFromPrompt(prompt);
var result = await explainFunc.InvokeAsync(kernel, new { ["topic"] = "ವೆಕ್ಟರ್ ಎಂಬೆಡ್ಡಿಂಗ್ಸ್" });
Console.WriteLine(result);
ಇದು ಮುಖ್ಯಾಂಶ: ಒಂದು ಕರ್ಣಲ್, ಒಂದು ಮಾದರಿ ಮತ್ತು ಇನ್ಪುಟ್ಗಳೊಂದಿಗೆ ಪುನರ್ವಿನಿಯೋಗಿಸಬಹುದಾದ ಫಂಕ್ಷನ್ ಆಗಿ ಪರಿವರ್ತಿತವಾದ ಪ್ರಾಂಪ್ಟ್.
ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ಗಳು ಮತ್ತು ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳು
- ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ಗಳು: ಪ್ರಾಂಪ್ಟ್-ಸಂಚಾಲಿತ. ನೀವು ಅವುಗಳನ್ನು ಟೆಂಪ್ಲೇಟುಗಳಿಂದ ರಚಿಸಿ, ಚರಗಳನ್ನು ಪಾಸ್ ಮಾಡಿ, ಮತ್ತು ಪಠ್ಯ ಅಥವಾ ರಚನೆಗೊಳಿಸಿದ ಔಟ್ಪುಟ್ಗಳನ್ನು ಪಡೆಯುತ್ತೀರಿ.
- ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳು: SK LLM ಗೆ ಉಪಕರಣ ಬಳಸಲು ಎಕ್ಸ್ಪೋಸ್ ಮಾಡುವ ಸಾಮಾನ್ಯ ಕೋಡ್ ಫಂಕ್ಷನ್ಗಳು.
ನಿಮ್ಮ API ನಿಂದ ಹವಾಮಾನವನ್ನು ಪಡೆಯುವ ಮತ್ತು ಮಾದರಿಗೆ ಎಕ್ಸ್ಪೋಸ್ ಮಾಡುವ ಉದಾಹರಣೆ ನೇಟಿವ್ ಫಂಕ್ಷನ್:
public class WeatherPlugin
{
[KernelFunction, Description("ನಗರದ ಹವಾಮಾನ ಪಡೆಯಿರಿ")]
public async Task<string> GetWeatherAsync(
[Description("ನಗರದ ಹೆಸರು")] string city)
{
// ನಿಮ್ಮ ಹವಾಮಾನ API ಅನ್ನು ಇಲ್ಲಿ ಕರೆಮಾಡಿ
var temp = 22; // ತಾತ್ಕಾಲಿಕ ಮೌಲ್ಯ
return $"{city} ನಲ್ಲಿ ಹವಾಮಾನ: {temp}°C ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿದೆ";
}
}
// ಪ್ಲಗಿನ್ ಅನ್ನು ನೋಂದಣಿ ಮಾಡಿ
var weather = new WeatherPlugin;
kernel.Plugins.AddFromObject(weather, pluginName: "weather");
ಈಗ ನಿಮ್ಮ ಪ್ರಾಂಪ್ಟ್ಗಳು weather.GetWeatherAsync ಅನ್ನು ಉಪಕರಣವಾಗಿ ಕರೆಮಾಡಬಹುದು, ಇದರಿಂದ ಮಾದರಿ ನಿಜವಾದ ಡೇಟಾದ ಮೇಲೆ ಆಧಾರಿತ ಉತ್ತರಗಳನ್ನು ನೀಡುತ್ತದೆ.
ನಿಜವಾಗಿಯೂ ಕೆಲಸ ಮಾಡುವ ಪ್ರಾಂಪ್ಟ್ ಪ್ಯಾಟರ್ನ್ಗಳು
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ಕಲಿಯುವಾಗ, ಶಿಸ್ತಿನ ಪ್ರಾಂಪ್ಟ್ ಪ್ಯಾಟರ್ನ್ಗಳಿಂದವೇ ವೇಗವಾದ ಯಶಸ್ಸು ಸಿಗುತ್ತದೆ:
- ಸಿಸ್ಟಮ್-ಪ್ರಥಮ: ಶಕ್ತಿ ಶಾಲಿಯಾದ ಸಿಸ್ಟಮ್ ಸಂದೇಶವನ್ನು ಬಳಸಿ ಧ್ವನಿ, ವ್ಯಕ್ತಿತ್ವ, ಸುರಕ್ಷತೆ ಮತ್ತು ಔಟ್ಪುಟ್ ಸ್ವರೂಪವನ್ನು ನಿಗದಿಪಡಿಸಿ.
- ಚರ ಸ್ಥಾನಗಳು: ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೆಸರಿಸಿ (ಉದಾ:
{topic}, {audience}) ಮತ್ತು ಇನ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
- ಔಟ್ಪುಟ್ ಒಪ್ಪಂದಗಳು: JSON ಮುಂತಾದ ರಚನೆಗೊಳಿಸಿದ ಸ್ವರೂಪಗಳನ್ನು ಕೇಳಿ; ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ಸ್ಕೀಮಾವನ್ನು ಸೇರಿಸಿ.
- ಫ್ಯೂ-ಶಾಟ್: ಶೈಲಿ ಮತ್ತು ಸ್ವರೂಪಕ್ಕೆ ಸಂಕ್ಷಿಪ್ತ ಉದಾಹರಣೆಗಳನ್ನು ನೀಡಿ, ವಿಷಯದ ಭಾರವಿಲ್ಲ.
- ಗಾರ್ಡ್ರೇಲ್ಸ್: ನಿರ್ಬಂಧಗಳನ್ನು ಸೇರಿಸಿ (“ಡೇಟಾ ಇಲ್ಲದಿದ್ದರೆ ಮೊದಲಿಗೆ ಸ್ಪಷ್ಟೀಕರಣ ಪ್ರಶ್ನೆ ಕೇಳಿ”).
SK ಒಳಗಿನ ಉದಾಹರಣೆಯ ರಚನೆಗೊಳಿಸಿದ ಪ್ರಾಂಪ್ಟ್:
var prompt = @"
ನೀವು ವರ್ಗೀಕರಣ ಎಂಜಿನ್ ಆಗಿದ್ದೀರಿ.
ಕಾರ್ಯ: `message` ಅನ್ನು [ಬಿಲ್ಲಿಂಗ್, ಟೆಕ್ ಸಪೋರ್ಟ್, ಮಾರಾಟ] ಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ವರ್ಗೀಕರಿಸಿ.
ಕಟ್ಟುನಿಟ್ಟಿನ JSON ನೀಡಿರಿ: { \"label\": string, \"confidence\": number }
message: {message}
";
var classify = kernel.CreateFunctionFromPrompt(prompt);
var output = await classify.InvokeAsync(kernel, new { ["message"] = "ನಾನು ನನ್ನ ಖಾತೆಗೆ ಲಾಗಿನ್ ಆಗಲು ಆಗುತ್ತಿಲ್ಲ." });
Console.WriteLine(output); // {"label":"Tech Support","confidence":0.89}
ಮೆಮೊರಿ ಸೇರಿಸುವುದು: ಎಂಬೆಡ್ಡಿಂಗ್ಸ್, RAG, ಮತ್ತು ಸಂಧರ್ಭ ವಿಂಡೋಗಳು
LLM ಗಳು ಮರೆತಿಹೋಗುತ್ತವೆ. ಮೆಮೊರಿ ಅವುಗಳನ್ನು ಉಪಯುಕ್ತವಾಗಿಸುತ್ತದೆ.
- ಕಿರುಕಾಲದ ಸಂಧರ್ಭ: ಸಂಭಾಷಣಾ ಇತಿಹಾಸದಿಂದ ಸ್ವಯಂಚಾಲಿತ.
- ದೀರ್ಘಕಾಲದ ಮೆಮೊರಿ: ಬಳಕೆದಾರ ಟಿಪ್ಪಣಿಗಳು, ಡಾಕ್ಯುಮೆಂಟ್ಗಳು ಅಥವಾ ಘಟನೆಗಳ ಎಂಬೆಡ್ಡಿಂಗ್ಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಿ, ಸಂಬಂಧಿತ ಭಾಗಗಳನ್ನು ಹುಡುಕಿ ಸಂಧರ್ಭಕ್ಕಾಗಿ ಪಡೆಯಿರಿ.
- RAG: ಜನರೇಶನ್ ಫಂಕ್ಷನ್ ಅನ್ನು ಕರೆಮಾಡುವ ಮೊದಲು, ನಿಮ್ಮ ವೆಕ್ಟರ್ ಸ್ಟೋರ್ ಅನ್ನು ಪ್ರಶ್ನಿಸಿ ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ಸೇರಿಸಿ.
ಉದಾಹರಣೆ: ಎಂಬೆಡ್ಡಿಂಗ್ಸ್ ಜೊತೆಗೆ ಪಠ್ಯ ಮೆಮೊರಿ ಸೇರಿಸಿ ಮತ್ತು ಸಂಧರ್ಭವನ್ನು ಪಡೆಯಿರಿ.
using Microsoft.SemanticKernel.Memory;
var memory = new MemoryBuilder
.WithMemoryStore(new VolatileMemoryStore()) // ವಿಕಲ್ಪವಾಗಿ ವೆಕ್ಟರ್ ಡಿಬಿ (Qdrant, Pinecone, Azure AI Search) ಬಳಸಬಹುದು
.WithTextEmbeddingGeneration(
new OpenAITextEmbeddingGeneration("text-embedding-3-small", Environment.GetEnvironmentVariable("OPENAI_API_KEY")))
.Build();
await memory.SaveInformationAsync(
collection: "policies", id: "refund-policy",
text: "ಗ್ರಾಹಕರು ಖರೀದಿಯಿಂದ 30 ದಿನಗಳೊಳಗೆ ರಸೀದಿ ಸಾಬೀತು ನೀಡಿದರೆ ಮರುಪಾವತಿಯನ್ನು ಕೇಳಬಹುದು."
);
// ನಂತರ: ಪ್ರಾಂಪ್ಟ್ಗೆ ಸಂಧರ್ಭವಾಗಿ ಪಡೆಯಿರಿ ಮತ್ತು ಸೇರಿಸಿ
var results = memory.SearchAsync("refund window", collection: "policies", limit: 3, minRelevanceScore: 0.7);
await foreach (var item in results)
{
Console.WriteLine($"ಸಂಬಂಧಿತ: {item.Metadata.Text}");
}
ನಂತರ, ಶ್ರೇಷ್ಟ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ನಿಮ್ಮ ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ಗೆ ಸಂಧರ್ಭ ಚರಗಳಾಗಿ ಪೂರೈಸಿ. ಸಲಹೆ: ಭಾಗಗಳನ್ನು ಸಣ್ಣದಾಗಿ (200–400 ಟೋಕನ್) ಇಡಿ ಮತ್ತು ನಕಲನ್ನು ತೆಗೆದುಹಾಕಿ.
ಉಪಕರಣ ಬಳಕೆ ಮತ್ತು ಯೋಜನೆ: ಬಹು ಹಂತದ ಕಾರ್ಯಪ್ರವಾಹಗಳು
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಯೋಜಕರು ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಬಳಕೆದಾರರ ಗುರಿಯನ್ನು ಹಂತಗಳಾಗಿ ವಿಭಜಿಸಿ ಯಾವ ಫಂಕ್ಷನ್ಗಳನ್ನು ಕರೆಮಾಡಬೇಕೆಂದು ಆಯ್ಕೆಮಾಡುತ್ತದೆ. ನೀವು ನೇಟಿವ್ ಮತ್ತು ಸೆಮ್ಯಾಂಟಿಕ್ ಫಂಕ್ಷನ್ಗಳ ಉಪಕರಣಸಂಚಯ ಹೊಂದಿದ್ದಾಗ ಇದು ಅತ್ಯುತ್ತಮ.
ಪ್ಯಾಟರ್ನ್:
- ಬಳಕೆದಾರರಿಂದ ಗುರಿ ಮತ್ತು ನಿರ್ಬಂಧಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ.
- ಯೋಜನೆಯನ್ನು ರಚಿಸಿ (ಫಂಕ್ಷನ್ ಕರೆಗಳ ಕ್ರಮ ಮತ್ತು ಅರ್ಗ್ಯುಮೆಂಟ್ಗಳು).
- ಹಂತ ಹಂತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿ, ಔಟ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ದೋಷಗಳಿಂದ ಪಾರಾಗಿರಿ.
ಪ್ಸ್ಯೂಡೋಕೋಡ್ ಉದಾಹರಣೆ:
// 1) ಮೊದಲು ಪ್ಲಗಿನ್ಗಳನ್ನು (ಸೆಮ್ಯಾಂಟಿಕ್ + ನೇಟಿವ್) ವ್ಯಾಖ್ಯಾನಿಸಿ
// 2) ಯೋಜಕ ಬಳಸಿ (API ಮೇಲೆ ಆವೃತ್ತಿ ಪ್ರಕಾರ ಬದಲಾಗಬಹುದು)
var goal = "ಜೋಡಿಸಿದ ನೀತಿ ಸಾರಾಂಶ ಮಾಡಿ, ಅಪಾಯ ವರ್ಗೀಕರಿಸಿ ಮತ್ತು ವರದಿ ಇಮೇಲ್ ಮಾಡಿ";
// ನಮ್ಮ ಬಳಿ plugins ಇವೆ: files, summarize, classify, email
// ಯೋಜಕವು ಯೋಜನೆಯನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ: files.Load → summarize.Run → classify.Run → email.Send
// ಯೋಜನೆಯನ್ನು ಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿ, ಹಂತಗಳ ನಡುವೆ JSON ಔಟ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ
ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು:
- ಹಂತಗಳನ್ನು ಐಡಂಪೋಟೆಂಟ್ ಮತ್ತು ಪರೀಕ್ಷಿಸಬಹುದಾಗಿ ಮಾಡಿ.
- ಹಂತಗಳ ನಡುವೆ ಸ್ಪಷ್ಟ ಔಟ್ಪುಟ್ ಸ್ಕೀಮಾ ಹೊಂದಿಸಿ.
- ನೆಟ್ವರ್ಕ್ ಉಪಕರಣಗಳ ಮೇಲೆ ಮರುಪ್ರಯತ್ನ/ಬ್ಯಾಕ್ಓಫ್ ಬಳಸಿ.
- ಪರೀಕ್ಷಣಾ ದೃಷ್ಟಿಕೋನಕ್ಕಾಗಿ ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ಗಳನ್ನು ಲಾಗ್ ಮಾಡಿ (ಆದರೆ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ತೆಗೆದುಹಾಕಿ).
ಬಹು-ಮಾದರಿ ತಂತ್ರ: ಕಾರ್ಯಕ್ಕೆ ಸರಿಯಾದ ಮಾದರಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಬಳಸಿ, ನೀವು ಕಾರ್ಯಗಳನ್ನು ವಿಭಿನ್ನ ಮಾದರಿಗಳಿಗೆ ಮಾರ್ಗನಿರ್ದೇಶನ ಮಾಡಬಹುದು:
- ವೇಗದ ಡ್ರಾಫ್ಟ್ಗಳು → ಸಣ್ಣ, ಕಡಿಮೆ ವೆಚ್ಚದ ಮಾದರಿಗಳು
- ತಾರ್ಕಿಕ ಹಂತಗಳು → ದೊಡ್ಡ ಮಾದರಿಗಳು
- ಎಂಬೆಡ್ಡಿಂಗ್ಸ್ → ವಿಶೇಷ ಎಂಬೆಡ್ಡಿಂಗ್ ಮಾದರಿ
- ಕೋಡ್ → ಕೋಡ್-ಆಪ್ಟಿಮೈಜ್ಡ್ ಮಾದರಿಗಳು
ಪ್ರಾಯೋಗಿಕವಾಗಿ:
var kernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey)
.Build();
var fastKernel = Kernel.CreateBuilder
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey) // ವೇಗಕ್ಕೆ ಒತ್ತು
.Build();
// ಸರಳ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು fastKernel ಗೆ; ಸಂಕೀರ್ಣ ಕಾರ್ಯಗಳನ್ನು kernel ಗೆ ಮಾರ್ಗನಿರ್ದೇಶನ ಮಾಡಿ
ಅಥವಾ, ಒಂದೇ ಕರ್ಣಲ್ನಲ್ಲಿ ಹಲವು ಸೇವೆಗಳನ್ನು ಸಂರಚಿಸಿ ಮತ್ತು ಫಂಕ್ಷನ್ ಪ್ರತಿ ಆಯ್ಕೆಮಾಡಿ.
ಪ್ರೋಟೋಟೈಪ್ನಿಂದ ಉತ್ಪಾದನೆಗೆ: ಗಾರ್ಡ್ರೇಲ್ಸ್ ಮತ್ತು ಪರೀಕ್ಷೆ
ನೀವು ನಿಜವಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಬಳಸುವಾಗ, ವಿಶ್ವಾಸಾರ್ಹತೆ ಮುಖ್ಯ:
- ಸ್ಕೀಮಾ-ಪ್ರಥಮ ಔಟ್ಪುಟ್ಗಳು: JSON ಸ್ಕೀಮಾ ಮತ್ತು
TryParse ಗೇಟುಗಳನ್ನು ಬಳಸಿ.
- ಅವಶ್ಯಕತೆ ಇದ್ದಾಗ ನಿರ್ಧಾರಾತ್ಮಕತೆ: ತಾಪಮಾನವನ್ನು ಕಡಿಮೆ ಮಾಡಿ ಮತ್ತು ಔಟ್ಪುಟ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ.
- ಸುರಕ್ಷತಾ ಫಿಲ್ಟರ್ಗಳು: ವಿಷಯ ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ರೆಡ್-ಟೀಮ್ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಸೇರಿಸಿ.
- ಕ್ಯಾಶಿಂಗ್: RAG ಫಲಿತಾಂಶಗಳು ಮತ್ತು ಸ್ಥಿರ ಜನರೇಶನ್ಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಿ.
- ಪರೀಕ್ಷಣಾ ದೃಷ್ಟಿಕೋನ: ಪ್ರಾಂಪ್ಟ್ ಟೆಂಪ್ಲೇಟುಗಳು, ಚರಗಳು, ವಿಳಂಬ, ಟೋಕನ್ ಬಳಕೆ ಲಾಗ್ ಮಾಡಿ.
- ಯೂನಿಟ್ ಟೆಸ್ಟ್ಗಳು: ಗೋಲ್ಡನ್ ಟೆಸ್ಟ್ ಪ್ರಾಂಪ್ಟ್ಗಳು ಮತ್ತು ಸ્નಾಪ್ಶಾಟ್ ಹೋಲಿಕೆಗಳು.
ಉದಾಹರಣೆ: JSON ಔಟ್ಪುಟ್ ಪರಿಶೀಲನೆ.
record Classification(string label, double confidence);
bool TryParseClassification(string text, out Classification cls)
{
try { cls = System.Text.Json.JsonSerializer.Deserialize<Classification>(text)!; return true; }
catch { cls = default!; return false; }
}
ನೀವು ಪುನರ್ವಿನಿಯೋಗಿಸಬಹುದಾದ ನಿಜಜೀವನ ಪ್ಯಾಟರ್ನ್ಗಳು
- RAG ಚಾಟ್ಬಾಟ್:
retrieve(context) → answer(question, context) ಉಲ್ಲೇಖಗಳೊಂದಿಗೆ.
- ಅನುವುಮತಿ ಕಾರ್ಯಪ್ರವಾಹಗಳು: ವರ್ಗೀಕರಿಸಿ → ಡ್ರಾಫ್ಟ್ ರಚಿಸಿ → ಮಾನವ ಪರಿಶೀಲನೆ → ಕಳುಹಿಸಿ.
- ವಿಷಯ ಕಾರ್ಯಾಚರಣೆಗಳು: ರೂಪರೇಖೆ → ಡ್ರಾಫ್ಟ್ → ವಾಸ್ತವ ಪರಿಶೀಲನೆ → ಧ್ವನಿ ಸರಿಹೊಂದಿಸಿ → ಪ್ರಕಟಿಸಿ.
- ಉಪಕರಣಗಳೊಂದಿಗೆ ಏಜೆಂಟ್: calendar.lookup, docs.search, email.send; ಯೋಜನೆ ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ.
ಸಲಹೆ: ಪ್ರತಿ ಹಂತವನ್ನು ಒಂದು ಫಂಕ್ಷನ್ (ಸೆಮ್ಯಾಂಟಿಕ್ ಅಥವಾ ನೇಟಿವ್) ಆಗಿ ಸಂರಚಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ಪೈಪ್ಲೈನ್ಗಳಾಗಿ ಸಂಯೋಜಿಸಿ.
ಉದಾಹರಣೆ: ಉಲ್ಲೇಖಗಳೊಂದಿಗೆ ಡಾಕ್ಯುಮೆಂಟ್ ಪ್ರಶ್ನೋತ್ತರ
RAG ಬಳಸಿ ಮೂಲಗಳನ್ನು ಉಲ್ಲೇಖಿಸುವ ಸರಳ Q&A ಪೈಪ್ಲೈನ್ ಅನ್ನು ನಿರ್ಮಿಸೋಣ.
// 1) ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಸೇರಿಸಿ
await memory.SaveInformationAsync("handbook", "vacation-policy",
"ಉದ್ಯೋಗಿಗಳು ಪ್ರತಿ ತಿಂಗಳು 1.5 ದಿನಗಳ PTO ಸಂಗ್ರಹಿಸುತ್ತಾರೆ ಮತ್ತು 5 ದಿನಗಳನ್ನು ಮುಂದಕ್ಕೆ ಸಾಗಿಸಬಹುದು.");
// 2) ಪ್ರಶ್ನೆಗೆ ಸಂಧರ್ಭವನ್ನು ಪಡೆಯಿರಿ
var top = memory.SearchAsync("carry over PTO", "handbook", limit: 3, minRelevanceScore: 0.75);
var contexts = new List<string>();
await foreach (var r in top) contexts.Add(r.Metadata.Text);
// 3) ಸಂಧರ್ಭದೊಂದಿಗೆ ಕೇಳಿ ಮತ್ತು ಉಲ್ಲೇಖಗಳನ್ನು ಕೇಳಿ
var qaPrompt = @"
ನೀವು ನೀಡಲಾದ ಸಂಧರ್ಭದಿಂದ ಮಾತ್ರ ಉತ್ತರಿಸುತ್ತೀರಿ. ಇಲ್ಲದಿದ್ದರೆ ತಿಳಿಯದು ಎಂದು ಹೇಳಿ.
ಸೂಚ್ಯಂಕವು 1 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಉಲ್ಲೇಖಗಳನ್ನು [source i] ರೂಪದಲ್ಲಿ ಸೇರಿಸಿ.
ಸಂಧರ್ಭ:
1) {{ctx1}}
2) {{ctx2}}
ಪ್ರಶ್ನೆ: {{q}}
";
var qa = kernel.CreateFunctionFromPrompt(qaPrompt);
var variables = new KernelArguments
{
["ctx1"] = contexts.ElementAtOrDefault(0) ?? "",
["ctx2"] = contexts.ElementAtOrDefault(1) ?? "",
["q"] = "ನಾನು ಎಷ್ಟು PTO ದಿನಗಳನ್ನು ಮುಂದಕ್ಕೆ ಸಾಗಿಸಬಹುದು?"
};
var answer = await qa.InvokeAsync(kernel, variables);
Console.WriteLine(answer);
ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳು (ಮತ್ತು ಅವುಗಳನ್ನು ತಪ್ಪಿಸುವ ವಿಧಾನಗಳು)
- ಒಂದು ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್: ಫಂಕ್ಷನ್ಗಳಿಗೆ ವಿಭಜಿಸಿ; ನಿಮಗೆ ಬೇಕಾದ ಸಂಧರ್ಭ ಮಾತ್ರ ಪಾಸ್ ಮಾಡಿ.
- ಔಟ್ಪುಟ್ ಒಪ್ಪಂದಗಳಿಲ್ಲ: ಯಂತ್ರ-ಓದಲು ಸಾಧ್ಯವಿರುವ ಹಂತಗಳಿಗೆ ಸದಾ ಸ್ಕೀಮಾ ನಿಗದಿಪಡಿಸಿ.
- RAG ಸ್ವಚ್ಛತೆ ಇಲ್ಲದೆ: ಚೆನ್ನಾಗಿ ಭಾಗಿಸಿ, ನಕಲನ್ನು ತೆಗೆದುಹಾಕಿ, ಸಂಬಂಧ ಮತ್ತು ಇತ್ತೀಚಿನತೆಯನ್ನು ಆಧರಿಸಿ ಶ್ರೇಣೀಕರಿಸಿ.
- ಉಪಕರಣಗಳ ವ್ಯಾಪಾರ: ಪ್ಲಗಿನ್ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಸಣ್ಣದಾಗಿ ಮತ್ತು ದಾಖಲೆಗೊಳಿಸಿ.
- ಮಾನವ-ನಿಯಂತ್ರಣವಿಲ್ಲ: ಉನ್ನತ-ಅಪಾಯ ಕ್ರಿಯೆಗಳಿಗೆ ಅನುಮತಿ ಸೇರಿಸಿ.
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಫ್ರಂಟ್ಎಂಡ್ಗಳೊಂದಿಗೆ ಹೇಗೆ ಬಳಸುವುದು
- ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು: ನಿಮ್ಮ SK ಸಂಯೋಜನೆಯನ್ನು API ಲೇಯರ್ನಲ್ಲಿ ಹೋಸ್ಟ್ ಮಾಡಿ; UI ಗೆ ಟೋಕನ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ.
- ಚಾಟ್ UIಗಳು: ಸಂಭಾಷಣಾ ಸ್ಥಿತಿಯನ್ನು ಸರ್ವರ್-ಪಾರ್ಶ್ವದಲ್ಲಿ ನಿರ್ವಹಿಸಿ; ಕಡಿಮೆ ಮಾಡಿ ಮತ್ತು ಸಾರಾಂಶ ಮಾಡಿ.
- ಪ್ರಾಮಾಣೀಕರಣ: ನಕಲಿ-ರಹಿತ ಕರೆಗಳು—ಮಾದರಿ ಟೋಕನ್ಗಳನ್ನು ಸೃಷ್ಟಿಸಬಾರದು. ಉಪಕರಣ ಕರೆಗಳನ್ನು ನಿಮ್ಮ ಬ್ಯಾಕ್ಎಂಡ್ ಮೂಲಕ ಗೇಟ್ ಮಾಡಿ.
ನಿಯೋಜನೆ ತಪಾಸಣಾ ಪಟ್ಟಿ
- ಕೀಗಳು ಮತ್ತು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗಾಗಿ ಪರಿಸರ ಚರಗಳು
- ಮಾದರಿ/ಉಪಕರಣ ಕರೆಗಳಿಗೆ ದರ ಮಿತಿ ಮತ್ತು ಮರುಪ್ರಯತ್ನಗಳು
- ಪ್ರಾಂಪ್ಟ್ ಟೆಂಪ್ಲೇಟ್ ಮೂಲ ನಿಯಂತ್ರಣ
- ವೆಕ್ಟರ್ ಸ್ಟೋರ್ ಬ್ಯಾಕಪ್ಗಳು ಮತ್ತು ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ನಿರ್ವಹಣೆ
- ಪರೀಕ್ಷಣಾ ದೃಷ್ಟಿಕೋನ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು (ವಿಳಂಬ, ವೆಚ್ಚ, ದೋಷಗಳು)
- ಪ್ರಾಂಪ್ಟ್ಗಳು ಮತ್ತು ಮಾರ್ಗನಿರ್ದೇಶನಕ್ಕಾಗಿ A/B ಪರೀಕ್ಷೆ
ಪ್ರಶ್ನೋತ್ತರ ಶೈಲಿಯ ತೊಂದರೆ ಪರಿಹಾರ
- “ಮಾದರಿ RAG ಇದ್ದರೂ ಹಾಲುಸಿನೇಟ್ ಆಗುತ್ತಿದೆ.” ಸೂಚನೆಗಳನ್ನು ಕಟ್ಟುನಿಟ್ಟಾಗಿ ಮಾಡಿ: "ಸಂಧರ್ಭದಿಂದ ಮಾತ್ರ ಉತ್ತರಿಸಿ" ಮತ್ತು ನಿರಾಕರಣೆ ಉದಾಹರಣೆಯನ್ನು ಸೇರಿಸಿ. ಹುಡುಕಾಟದ ಸ್ಪಷ್ಟತೆಯನ್ನು ಹೆಚ್ಚಿಸಿ ಮತ್ತು ತಾಪಮಾನವನ್ನು ಕಡಿಮೆ ಮಾಡಿ.
- “JSON ಮುರಿಯುತ್ತಿದೆ.” ಮಾನ್ಯ JSON ನ ಸಣ್ಣ ಉದಾಹರಣೆಯನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಟಿಪ್ಪಣಿಗಳನ್ನು ನಿಷೇಧಿಸಿ. ಕರೆ ನಂತರ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ವಿಫಲವಾದರೆ ಮರುಪರಿಷ್ಕರಣೆ ಮಾಡಿ.
- “ವಿಳಂಬ ಹೆಚ್ಚು ಇದೆ.” ಕಡಿಮೆ, ಹೆಚ್ಚು ಸಂಬಂಧಿತ ಭಾಗಗಳನ್ನು ಪಡೆಯಿರಿ; ಸರಳ ಹಂತಗಳನ್ನು ಸಣ್ಣ ಮಾದರಿಗಳಿಗೆ ಬದಲಾಯಿಸಿ; ಸ್ವತಂತ್ರ ಹಂತಗಳನ್ನು ಸಮಾಂತರಗೊಳಿಸಿ.
- “ವೆಚ್ಚ ಹೆಚ್ಚುತ್ತಿದೆ.” ಕ್ಯಾಶ್ ಮಾಡಿ, ಸಂಧರ್ಭವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸಿ, ಮತ್ತು ಸುಲಭ ಕಾರ್ಯಗಳನ್ನು ಕಡಿಮೆ ವೆಚ್ಚದ ಮಾದರಿಗಳಿಗೆ ಮಾರ್ಗನಿರ್ದೇಶನ ಮಾಡಿ.
ಗಮನಾರ್ಹ: Sider.AI ಜೊತೆಗೆ ವೇಗವಾಗಿ ನಿರ್ಮಿಸಿ
ನೀವು ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಪ್ರೋಟೋಟೈಪ್ ಮಾಡುತ್ತಿದ್ದರೆ, ಉಪಕರಣ ಪ್ರವಾಹಗಳನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದರೆ ಅಥವಾ ಮಾದರಿಗಳ ನಡುವೆ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಹೋಲಿಸುತ್ತಿದ್ದರೆ, Sider.ai ಎಂಬ ಸಹಾಯಕವು ಪುನರಾವೃತ್ತಿಯನ್ನು ವೇಗಗೊಳಿಸಬಹುದು. ನೀವು ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ರಚಿಸಿ, A/B ಹೋಲಿಕೆಗಳನ್ನು ನಡೆಸಿ ಮತ್ತು ಪುನರ್ವಿನಿಯೋಗಿಸಬಹುದಾದ ತುಂಡುಗಳನ್ನು ಸೆರೆಹಿಡಿಯಬಹುದು, ನಂತರ ಅವುಗಳನ್ನು ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಟೆಂಪ್ಲೇಟುಗಳಿಗೆ ವರ್ಗಾಯಿಸಬಹುದು—ಸೂಚನೆಗಳು ಮತ್ತು ಔಟ್ಪುಟ್ ಸ್ಕೀಮಾಗಳನ್ನು ತೀಕ್ಷ್ಣಗೊಳಿಸಲು ಅದ್ಭುತವಾಗಿದೆ. ಮುಂದಿನ ಹಂತಗಳು: ಇದನ್ನು ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಏಜೆಂಟ್ ಆಗಿ ಪರಿವರ್ತಿಸಿ
- ಒಂದು ಸ್ಪಷ್ಟ ಕಾರ್ಯದಿಂದ ಪ್ರಾರಂಭಿಸಿ (ಉದಾ: ಬೆಂಬಲ ಇಮೇಲ್ಗಳನ್ನು ವರ್ಗೀಕರಿಸುವುದು).
- ಕಠಿಣ ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ಗಳೊಂದಿಗೆ ಸೆಮ್ಯಾಂಟಿಕ್/ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ.
- ಮೆಮೊರಿಯನ್ನು ಮಾತ್ರ ಉತ್ತರಗಳನ್ನು ಸುಧಾರಿಸುವ ಸ್ಥಳಗಳಲ್ಲಿ ಸೇರಿಸಿ.
- ಎಲ್ಲವನ್ನೂ ಸಾಧನಮಾಡಿ; ನಿಜಜೀವನ ಮಾದರಿಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಿ.
- ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಬಳಸಿ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ, ನಂತರ SK ನಲ್ಲಿ ಕೋಡಿಫೈ ಮಾಡಿ.
ಮುಖ್ಯಾಂಶಗಳು:
- ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ನಿಮಗೆ ಪ್ರಾಂಪ್ಟ್ಗಳು, ಉಪಕರಣಗಳು ಮತ್ತು ಮೆಮೊರಿಯನ್ನು ವಿಶ್ವಾಸಾರ್ಹ ಕಾರ್ಯಪ್ರವಾಹಗಳಾಗಿ ಸಂಯೋಜಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
- ಸ್ಥಿರತೆ ಮತ್ತು ವೆಚ್ಚ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಔಟ್ಪುಟ್ ಸ್ಕೀಮಾ, ಯೋಜಕರು ಮತ್ತು ಬಹು-ಮಾದರಿ ಮಾರ್ಗನಿರ್ದೇಶನವನ್ನು ಬಳಸಿ.
- RAG ಜೊತೆಗೆ ಗಾರ್ಡ್ರೇಲ್ಸ್ ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಮೀರಿಸುತ್ತದೆ.
ನೀವು ಈ ಪ್ಯಾಟರ್ನ್ಗಳೊಂದಿಗೆ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ನಿಪುಣತೆಯಿಂದ ಬಳಸಿದಾಗ, ನೀವು ಕೇವಲ ಅದ್ಭುತ ಡೆಮೋಗಳಲ್ಲ, ಆದರೆ ನಂಬಬಹುದಾದ ವ್ಯವಸ್ಥೆಗಳಾಗಿ AI ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ರವಾನಿಸುವಿರಿ.
ಪ್ರಶ್ನೋತ್ತರ
Q1: AI ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಏಕೆ ಬಳಸುತ್ತಾರೆ?
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ LLM ಪ್ರಾಂಪ್ಟ್ಗಳು, ಉಪಕರಣಗಳು (ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳು) ಮತ್ತು ಮೆಮೊರಿಯನ್ನು ಸಂಯೋಜಿಸುವ SDK ಆಗಿದ್ದು, ಕಾರ್ಯಗಳನ್ನು ರಚಿಸಲು, RAG ಸೇರಿಸಲು ಮತ್ತು ಬಹು ಮಾದರಿಗಳನ್ನು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಕರೆಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
Q2: ನನ್ನ ಡಾಕ್ಯುಮೆಂಟ್ಗಳೊಂದಿಗೆ RAG ಗಾಗಿ ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು?
ನಿಮ್ಮ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು SK ನ ಮೆಮೊರಿ API ಗಳ ಮೂಲಕ ವೆಕ್ಟರ್ ಸ್ಟೋರ್ಗೆ ಸೇರಿಸಿ, ನಂತರ ಪ್ರತಿ ಪ್ರಶ್ನೆಗೆ ಸಂಬಂಧಿತ ಭಾಗಗಳನ್ನು ಪಡೆಯಿರಿ ಮತ್ತು ಅವುಗಳನ್ನು ನಿಮ್ಮ ಪ್ರಾಂಪ್ಟ್ಗೆ ಸೇರಿಸಿ. ಇದು ನಿಖರತೆ ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ಹಾಲುಸಿನೇಷನ್ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
Q3: ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಹೊರಗಿನ APIಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಕರೆಮಾಡಬಹುದೇ?
ಹೌದು. API ಗಳನ್ನು ನೇಟಿವ್ ಫಂಕ್ಷನ್ಗಳಾಗಿ ಪ್ಲಗಿನ್ನಲ್ಲಿ ಮುಚ್ಚಿ, ನಂತರ ಅವುಗಳನ್ನು ಕರ್ಣಲ್ಗೆ ನೋಂದಣಿ ಮಾಡಿ, ಇದರಿಂದ ಮಾದರಿ ಅವುಗಳನ್ನು ಉಪಕರಣಗಳಂತೆ ಬಳಸಬಹುದು. ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಸಣ್ಣದಾಗಿ ಇಟ್ಟುಕೊಂಡು ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್ ಪರಿಶೀಲನೆಯನ್ನು ಜಾರಿಗೆ ತರುವುದನ್ನು ಖಚಿತಪಡಿಸಿ.
Q4: ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಯಾವ ಮಾದರಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ OpenAI, Azure OpenAI ಮತ್ತು ಇತರ ಕನೆಕ್ಟರ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ನೀವು ವಿವಿಧ ಕಾರ್ಯಗಳಿಗೆ ವಿವಿಧ ಮಾದರಿಗಳನ್ನು ಮಾರ್ಗನಿರ್ದೇಶನ ಮಾಡಬಹುದು—ಉದಾಹರಣೆಗೆ, ಡ್ರಾಫ್ಟ್ಗಳಿಗೆ ಸಣ್ಣ ಮಾದರಿಗಳು ಮತ್ತು ತಾರ್ಕಿಕ ಹಂತಗಳಿಗೆ ದೊಡ್ಡ ಮಾದರಿಗಳು.
Q5: ಸೆಮ್ಯಾಂಟಿಕ್ ಕರ್ಣಲ್ ಔಟ್ಪುಟ್ಗಳನ್ನು (ಉದಾ: JSON) ಸ್ಥಿರವಾಗಿಸಲು ಹೇಗೆ ಮಾಡುವುದು?
ಕಟ್ಟುನಿಟ್ಟಾದ JSON ಅನ್ನು ಕೇಳುವ ರಚನೆಗೊಳಿಸಿದ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಬಳಸಿ ಮತ್ತು ಕನಿಷ್ಠ ಉದಾಹರಣೆ ಅಥವಾ ಸ್ಕೀಮಾವನ್ನು ಸೇರಿಸಿ. ತಾಪಮಾನವನ್ನು ಕಡಿಮೆ ಮಾಡಿ, ಕರೆ ನಂತರ ಔಟ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪಾರ್ಸ್ ಮಾಡಲು ವಿಫಲವಾದರೆ ಮರುಪ್ರಯತ್ನ ಅಥವಾ ಮರುಪರಿಷ್ಕರಣೆ ಮಾಡಿ.