Add document type of knowledge retrieval
This commit is contained in:
parent
6c40c6b770
commit
8e668b8627
|
|
@ -23,8 +23,6 @@
|
|||
<None Remove="data\agents\01acc3e5-0af7-49e6-ad7a-a760bd12dc40\instructions\instruction.liquid" />
|
||||
<None Remove="data\agents\01acc3e5-0af7-49e6-ad7a-a760bd12dc40\templates\knowledge.generation.plain.liquid" />
|
||||
<None Remove="data\agents\01acc3e5-0af7-49e6-ad7a-a760bd12dc40\templates\knowledge.generation.refine.liquid" />
|
||||
<None Remove="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\functions\util-knowledge-knowledge_retrieval.json" />
|
||||
<None Remove="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\templates\util-knowledge-knowledge_retrieval.fn.liquid" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
@ -46,10 +44,10 @@
|
|||
<Content Include="data\agents\01acc3e5-0af7-49e6-ad7a-a760bd12dc40\templates\knowledge.generation.plain.liquid">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\functions\util-knowledge-knowledge_retrieval.json">
|
||||
<Content Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\functions\util-kg-knowledge_retrieval.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\templates\util-knowledge-knowledge_retrieval.fn.liquid">
|
||||
<Content Include="data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\templates\util-kg-knowledge_retrieval.fn.liquid">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ namespace BotSharp.Plugin.KnowledgeBase.Enum;
|
|||
|
||||
public class UtilityName
|
||||
{
|
||||
public const string KnowledgeRetrieval = "knowledge.knowledge-retrieval";
|
||||
public const string KnowledgeRetrieval = "kg.knowledge-base";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ namespace BotSharp.Plugin.KnowledgeBase.Functions;
|
|||
|
||||
public class KnowledgeRetrievalFn : IFunctionCallback
|
||||
{
|
||||
public string Name => "util-knowledge-knowledge_retrieval";
|
||||
public string Name => "util-kg-knowledge_retrieval";
|
||||
|
||||
public string Indication => "searching my brain";
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ namespace BotSharp.Plugin.KnowledgeBase.Hooks;
|
|||
|
||||
public class KnowledgeBaseUtilityHook : IAgentUtilityHook
|
||||
{
|
||||
private static string PREFIX = "util-knowledge-";
|
||||
private static string PREFIX = "util-kg-";
|
||||
private static string KNOWLEDGE_RETRIEVAL_FN = $"{PREFIX}knowledge_retrieval";
|
||||
|
||||
public void AddUtilities(List<AgentUtility> utilities)
|
||||
|
|
|
|||
|
|
@ -40,6 +40,20 @@ public class KnowledgeHook : IKnowledgeHook
|
|||
var result = await _knowledgeService.SearchGraphKnowledge(text, options);
|
||||
results.Add(result.Result);
|
||||
}
|
||||
else if (knowledgeBase.Type == "document")
|
||||
{
|
||||
var options = new VectorSearchOptions
|
||||
{
|
||||
Fields = null,
|
||||
Limit = 5,
|
||||
Confidence = 0.25f,
|
||||
WithVector = true
|
||||
};
|
||||
var result = await _knowledgeService.SearchVectorKnowledge(text, knowledgeBase.Name, options);
|
||||
results.AddRange(result.Where(x => x.Data != null && x.Data.ContainsKey("text"))
|
||||
.Select(x => x.Data["text"].ToString())
|
||||
.Where(x => x != null)!);
|
||||
}
|
||||
else
|
||||
{
|
||||
var options = new VectorSearchOptions
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "util-knowledge-knowledge_retrieval",
|
||||
"name": "util-kg-knowledge_retrieval",
|
||||
"description": "Retrieve related domain knowledge to handle user request",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
Call function util-knowledge-knowledge_retrieval to retrieve related domain knowledge to handle user request.
|
||||
Call function util-kg-knowledge_retrieval to retrieve related domain knowledge to handle user request.
|
||||
You must retrieve existing KnowledgeBase to get prerequisite informations before you writing SQL query;
|
||||
You must retrieve existing API specification from KnowledgeBase before calling a Web API;
|
||||
Loading…
Reference in a new issue