Ollama 没有在上下文中保存任何内容

问题描述 投票:0回答:1

我在 C# 编码中摆弄 ollama,并设法让它给我输出,甚至与我的代码交互,但是,使用他们提供的示例,我遇到了一个问题,LLM 没有保留以前的对话,我最终采用了在提示旁边注入说明的草率方法。

这是我的代码:

public async void Prompt(string prompt)
{
    output = "";
    string input = instructions + prompt;
    context = await ollama.StreamCompletion(input, context, stream => output += (stream.Response));
    Console.WriteLine(output);
}

输出是一个字符串,我可能会将其更改为可以稍后保存更多变量的内容。

Context 是一个 ConversationContext 变量。

这个想法是给它一个提示,让它跟随整个对话,但目前,需要通过在我的提示之前添加的指令来注入。这并不理想,因为它违背了作为法学硕士的目的。

我想做的是: 仅在启动时注入指令。 呼叫提示正常。 需要时请按照说明进行操作。

我尝试了 context += 但这不是一个有效的方法。我一直在寻找解决方案,但我只发现了另一个与此相关的问题,而且是在二月份。

c# console large-language-model llama ollama
1个回答
0
投票

感谢康威,我能够修复我的代码。由于我习惯在 Unity 中编程,所以我总是使用

Void
而不是
Task
,因为我不知道它,所以为了修复我所做的事情。

`
public async Task Prompt(string prompt)
{
    output = "";
    string input = prompt;
    context = await ollama.StreamCompletion(input, context, stream => output += (stream.Response));
    Console.WriteLine(output);
    ConsoleCommands.aIResponse = true;
    ConsoleCommands.checkCommand(output);
}
`

多亏了这个,我现在有了一个人工智能集成程序,可以记住之前的提示和对话。

我希望这能在未来帮助别人

© www.soinside.com 2019 - 2024. All rights reserved.