C#对接Ollama,调用大模型禁用思考模式
当前很多大模型都支持思考模式,会在输出内容增加
<think>
标签,内容为大模型思考内容。
很多情况下,并不想要思考内容。就需要自己设置一下。
文章目录
- 一、使用Ollama的Api设置
- 二、使用`prompt`设置
- 三、Ollama控制台中禁用
一、使用Ollama的Api设置
C#
类库使用OllamaSharp
为例:
设置
Think
属性为:false
来禁用思考模式
var chatRequest = new ChatRequest
{Think = false,
};
var modelResponse = await ollama.ChatAsync(chatRequest).StreamToEndAsync();
二、使用prompt
设置
通过在prompt结尾设置
/no_think
来禁用思考模式
var promptBuilder = new StringBuilder();promptBuilder.AppendLine(@"你是一个知识检索系统,必须遵守以下规则:
1. 禁止行为:禁止联想、推测或添加任何外部知识
2. 免责声明:当参考内容不匹配时必须声明");promptBuilder.AppendLine($"/no_think");//禁止思考模式var chatRequest = new ChatRequest{Messages = new List<Message>(){new Message { Role = ChatRole.System, Content = promptBuilder.ToString() },new Message { Role = ChatRole.User, Content = query }}};var modelResponse = await ollama.ChatAsync(chatRequest).StreamToEndAsync();return modelResponse.Message.Content;
三、Ollama控制台中禁用
ollama run llama3.1:8b --think #开启思考模式
ollama run llama3.1:8b --think=false #禁用思考模式