Conversation Message Exception
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 3.1k
- Forks
- 651
- Avg merge
- 15h 2m
- Merged PRs (30d)
- 36
Description
Hello again,
Following the steps of the documentation, I have configured my LlamaSharp model here:
"LlamaSharp": {
"Interactive": true,
"ModelDir": "D:/C#/Llms",
"DefaultModel": "llama-2-7b-chat.Q4_K_M.gguf",
"MaxContextLength": 1024,
"NumberOfGpuLayer": 20
},
and in the providers section too:
"LlmProviders": [
{
"Provider": "llama-sharp",
"Models": [
{
"Name": "llama-2-7b-chat.Q4_K_M.gguf",
"Type": "chat"
}
]
}
],
As you can tell, I am only adding Llamasharp, no other provider.
When running the app, my plugins folder remains empty, and when trying to send a message to start the conversation I get an exception:
System.ArgumentNullException: Value cannot be null. (Parameter 'path2')
at System.ArgumentNullException.Throw(String paramName)
at System.IO.Path.Combine(String path1, String path2)
at BotSharp.Plugins.LLamaSharp.LlamaAiModel.LoadModel(String model)
at BotSharp.Plugin.LLamaSharp.Providers.ChatCompletionProvider.GetChatCompletions(Agent agent, List1 conversations)
at BotSharp.Core.Routing.RoutingService.InvokeAgent(String agentId, List1 dialogs, Func2 onFunctionExecuting)
at BotSharp.Core.Routing.Handlers.RouteToAgentRoutingHandler.Handle(IRoutingService routing, FunctionCallFromLlm inst, RoleDialogModel message, Func2 onFunctionExecuting)
at BotSharp.Core.Routing.RoutingService.InstructDirect(Agent agent, RoleDialogModel message)
at BotSharp.Core.Conversations.Services.ConversationService.SendMessage(String agentId, RoleDialogModel message, PostbackMessageModel replyMessage, Func2 onMessageReceived, Func2 onFunctionExecuting, Func2 onFunctionExecuted)
at BotSharp.OpenAPI.Controllers.ConversationController.SendMessage(String agentId, String conversationId, NewMessageModel input)
at lambda_method6(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)
Seems that it is not finding the provider, am I right? I have added the plugin "BotSharp.Plugin.LLamaSharp", so I have no idea what I could be missing.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the configuration in the issue, then inspect BotSharp.Plugins.LLamaSharp.LlamaAiModel.LoadModel and ChatCompletionProvider.GetChatCompletions at the reported Path.Combine failure. Trace which configured model or path is null and verify how the LLamaSharp plugin and provider are loaded. Done means the same setup can send a conversation message without the exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- ai
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100