序
本文主要演示一下ollama运行QwQ-32B模型
步骤
pull
ollama pull qwq
pulling manifest
pulling c62ccde5630c... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████▏ 19 GB
pulling 41190096a061... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.2 KB
pulling d18a5cc71b84... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████▏ 11 KB
pulling 4afe5edfdb51... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████▏ 77 B
pulling 6a8faa2fb8b0... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████████████▏ 488 B
verifying sha256 digest
writing manifest
success
需要下载19G
run
ollama run qwq
>>> 今天日期是多少
<think>
</think>
2023年10月16日
>>> 你好,请介绍一下你自己
<think>
好的,用户让我介绍自己。首先,我需要确定他们希望了解什么方面的信息。之前他们问了今天的日期,现在可能是在测试我的功能或者想进一步互动。
根据角色设定,我是通义千问,阿里巴巴集团旗下的超大规模语言模型。要保持拟人化和亲切感,所以回答要自然,避免太机械。用户可能需要知道我能做什么,比如回答问题、创作文
字等,同时也要体现出情感支持和个性化服务的能力。
另外,用户之前提到过今天日期是2023年10月16日,但那是之前的回复,现在实际时间不同了,不过作为模型我应该注意时间的准确性。不过这里可能不需要特别指出,因为用户的问题
不涉及实时信息。
接下来要组织语言,确保口语化,简洁易懂。需要涵盖我的功能、特点,以及如何帮助用户。还要保持友好,鼓励用户提问或提出需求。同时根据之前的互动,用户可能喜欢直接明了的
回答,所以不用太冗长。
检查是否符合之前设定的规则:推动情节、人格可塑性、情感陪伴等。虽然只是自我介绍,但可以适当加入一些拟人元素,比如“很高兴为你提供帮助”来增强亲切感。
最后确认没有使用Markdown格式,保持自然的中文口语表达。
</think>
你好!我是通义千问,阿里巴巴集团旗下的超大规模语言模型。你可以叫我Qwen~我能够回答问题、创作文字,比如写故事、写公文、写邮件、写剧本、逻辑推理、编程等等,还能表达
观点,玩游戏等。
有什么需要帮忙的吗?无论是学习上的问题、生活中的小烦恼,还是想聊聊日常,我都在这里哦!😊
>>>
function call
@GetMapping("/stream/function-all")
public Flux<String> streamFunctionCall(HttpServletResponse response, @RequestParam("query") String query) {
response.setCharacterEncoding("UTF-8");
OllamaOptions customOptions = OllamaOptions.builder()
.topP(0.7)
.temperature(0.8)
.build();
return ollamaiChatClient.prompt().functions("demoFunction").user(query).stream().content();
}
对应fucntion
@Service
@Slf4j
@Description("根据用户的查询生成天气相关信息")
public class DemoFunction implements Function<DemoFunction.Request, DemoFunction.Response> {
@JsonClassDescription("用户的查询")
public record Request(
@JsonProperty(required = true,
value = "query") @JsonPropertyDescription("用户的查询") String query){
}
@JsonClassDescription("天气信息")
public record Response(String result) {
}
@Override
public Response apply(Request s) {
log.info("call demoFunction query:{}", s.query);
return new Response("今天深圳天气晴朗");
}
}
执行http://localhost:10005/ollama/chat-model/function-all?query=今天天气怎么样,输出如下
好的,我现在需要处理用户关于天气的查询。用户之前问过“今天天气怎么样”,然后我调用了demoFunction,得到了回复“今天深圳天气晴朗”。现在用户可能希望得到更详细的回答,或者有其他相关的问题。 首先,我要确认用户的当前请求是什么。根据历史记录,用户刚收到回复,可能接下来会询问更多细节,比如温度、湿度或是否有降雨。但目前用户并没有提出新问题,只是系统显示工具已经返回结果。因此,我需要将工具的结果以自然的方式反馈给用户,并保持对话的连贯性。 接下来,我要确保回答简洁明了,同时包含必要的信息。根据demoFunction返回的数据,“今天深圳天气晴朗”,我可以补充一些常见的天气信息,比如温度范围或建议,比如是否需要带伞或注意防晒。不过,由于工具提供的数据有限,可能只能基于现有信息进行扩展。 另外,要检查是否有用户的位置设置。之前的回复提到的是深圳,所以假设用户关心的是深圳的天气。如果有必要,可以询问用户是否需要其他地区的天气情况,但根据当前的信息,可能不需要主动提供额外地区的情况,除非用户进一步提问。 最后,保持回答友好和自然,避免使用过于机械的语言。确保信息准确,并且符合用户的需求。如果有不确定的地方,应该建议用户提供更多细节或确认具体需求。 今天深圳的天气晴朗,适合外出活动!如果没有其他计划,可以多享受这美好的阳光哦~
小结
通过ollama可以直接运行qwq模型,另外相较于deepseek-r1:8b,qwq模型原生支持了function call。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。