Ollama 应用实践:如何选择合适的 Function Calling 模型 ?
在人工智能领域,Function Calling(函数调用)是指让语言模型能够调用外部函数或工具以增强其功能,如访问实时数据或执行复杂计算。Ollama 作为一个强大的语言模型平台,支持集成这种能力,使其在构建智能应用时更加灵活和强大。
为什么选择支持 Function Calling 的模型?
- 增强能力:模型可以通过调用外部工具来扩展其功能,如天气查询、翻译等。
- 实时数据访问:模型可以实时获取数据,提供基于最新信息的响应。
- 复杂任务处理:对于模型本身难以处理的复杂任务,可以通过 Function Calling 来解决。
选择合适模型的重要性
选择一个合适的支持 Function Calling 的模型对于确保应用的性能和适用性至关重要。以下是几个关键因素,可以帮助您在使用 Ollama 时做出选择:
- 功能需求:确保模型支持所需的 Function Calling 功能。
- 语言支持:如果应用需要特定语言的支持,选择相应的模型。
- 模型性能:考虑模型在处理特定任务时的性能和准确性。
- 资源消耗:评估模型运行所需的计算资源,确保与您的硬件匹配。
- 社区和文档:选择有良好社区支持和详细文档的模型,以便于开发和维护。
推荐的 Function Calling 模型
模型 | 参数大小 | |
---|---|---|
Qwen2.5 | 7B |
查看模型 |
Llama 3.2 | 3B |
查看模型 |
Llama 3.1 | 8B |
查看模型 |
Llama 3 | 8B |
查看模型 |
Google Gemma 2 | 9B |
查看模型 |
DeepSeek-V2 | 16B |
查看模型 |
GLM-4 | 9B |
查看模型 |
Phi-3 Mini | 3.8B |
查看模型 |
Phi-3 Medium | 14B |
查看模型 |
Google Gemma | 8B |
查看模型 |
Qwen2.5
Qwen2 是阿里巴巴集团推出的全新系列大型语言模型。
Qwen2基于29 种语言的数据进行训练,包括英语和中文。
它有 4 种参数大小:0.5B、1.5B、7B、72B。
在 7B 和 72B 模型中,上下文长度已扩展至128k 个 token。
Models | Qwen2-0.5B | Qwen2-1.5B | Qwen2-7B | Qwen2-72B |
---|---|---|---|---|
Params | 0.49B | 1.54B | 7.07B | 72.71B |
Non-Emb Params | 0.35B | 1.31B | 5.98B | 70.21B |
GQA | True | True | True | True |
Tie Embedding | True | True | False | False |
Context Length | 32K | 32K | 128K | 128K |
注意: 安装 ollama run qwen2
将下载一个 4.4GB 的 docker 镜像。
GLM-4
GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的 GLM-4-9B-Chat-1M 模型和基于 GLM-4-9B 的多模态模型 GLM-4V-9B。GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 表现出超越 GPT-4-turbo-2024-04-09、Gemini1.0 Pro、Qwen-VL-Max 和 Claude 3 Opus 的卓越性能。
ollama run glm4
Mistral
Mistral 是一个 7B 参数模型,使用 Apache 许可证发布。它可用于指令(指令跟踪)和文本完成。
Mistral AI 团队指出,Mistral 7B:
- 在所有基准测试中均优于 Llama 2 13B
- 在许多基准测试中均优于 Llama 1 34B
- 代码性能接近 CodeLlama 7B,同时仍能很好地完成英语任务
版本
标签 | 日期 | 备注 |
---|---|---|
v0.3 latest |
2024 年 5 月 22 日 | Mistral 7B 的新版本支持函数调用。 |
v0.2 |
2024 年 3 月 23 日 | Mistral 7B 的小版本 |
v0.1 |
2023 年 9 月 27 日 | 初始发行 |
Function Calling
Mistral 0.3 支持使用 Ollama 的原始模式进行函数调用。
- Example raw prompt
[AVAILABLE_TOOLS] [{"type": "function", "function": {"name": "get_current_weather", "description": "Get the current weather", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city and state, e.g. San Francisco, CA"}, "format": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "The temperature unit to use. Infer this from the users location."}}, "required": ["location", "format"]}}}][/AVAILABLE_TOOLS][INST] What is the weather like today in San Francisco [/INST]
- Example response
[TOOL_CALLS] [{"name": "get_current_weather", "arguments": {"location": "San Francisco, CA", "format": "celsius"}}]
文档地址:https://ollama.com/library/mistral
ollama run mistral
Mixtral
Mixtral 大型语言模型 (LLM) 是一组预先训练的生成稀疏混合专家。
该模型有 2 种参数大小:
- mixtral:8x22b
- mixtral:8x7b
混合式 8x22b
ollama run mixtral:8x22b
Mixtral 8x22B 为 AI 社区树立了新的性能和效率标准。它是一种稀疏混合专家 (SMoE) 模型,仅使用 141B 中的 39B 个活动参数,就其规模而言,具有无与伦比的成本效益。
Mixtral 8x22B 具有以下优势:
- 精通英语、法语、意大利语、德语和西班牙语
- 它具有强大的数学和编码能力
- 它本身具有
函数调用
功能 - 64K 标记上下文窗口允许从大型文档中精确地调用信息
结论
选择合适的 Function Calling 模型对于开发高效、功能丰富的 AI 应用至关重要。Ollama 提供的多样化模型能够满足不同需求,从多语言支持到复杂任务处理。通过考虑模型的功能、性能、资源消耗和社区支持,您可以为项目挑选出最合适的模型,从而实现您的 AI 应用目标。
最后编辑:Jeebiz 更新时间:2024-11-21 09:13