5.1.7.1、【AI技术新纪元:Spring AI解码】Mistral AI函数调用
Mistral AI函数调用
Mistral AI允许您用Java自定义函数注册到MistralAiChatClient,并由Mistral AI模型智能选择输出一个包含调用一个或多个注册函数的参数的JSON对象。这允许您将LLM功能与外部工具和API连接。mistral_small_latest
和mistral_large_latest
模型经过训练,能够检测何时应调用函数,并以遵循函数签名的JSON响应。
MistralAI API不直接调用函数;相反,模型生成的JSON可以用于在您的代码中调用函数,并将结果返回给模型以完成对话。
截至2024年3月13日,Mistral AI已将并行函数调用集成到他们的mistral_large_latest
模型中,这是首个Spring AI Mistral AI时代所没有的特性。Spring AI提供了灵活和用户友好的方式来注册和调用自定义函数。通常,自定义函数需要提供函数名、描述,以及函数调用签名(作为JSON模式),让模型知道该函数期望什么参数。描述有助于模型理解何时调用该函数。
作为开发人员,您需要实现一个函数,该函数接受来自AI模型的函数调用参数,并将结果返回给模型。您的函数可以调用其他第三方服务以提供结果。
Spring AI使得支持函数调用所需编写的代码变得简单。它为您代理函数调用对话。您可以简单地将您的函数定义为一个@Bean,然后在调用ChatClient时提供该bean的名称。
在底层,Spring将您的POJO(即函数)封装在适当的适配器代码中,使其能够与AI模型交互,免去您编写繁琐的样板代码。基础架构的基础是FunctionCallback.java接口和伴随的Fu