cline与模型交互的细节

配置cline往本地服务器发消息

在这里插入图片描述

编写本地服务器,确保输入和输出符合open ai的规范

cline请求本地服务器的/chat/completions接口,本地服务器记录cline的请求,把请求转发给openroute,openroute处理请求返回结果,本地服务器接收到结果之后,写入文件之中,在返回给cline
在这里插入图片描述

简单场景下cline发给模型的内容

可以看到有系统提示词和用户的消息
在这里插入图片描述

系统提示词概览

这里的工具,一个是cline内置的工具,一个是mcp工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

只要模型按照cline规定的格式返回,cline就可以帮模型调用各种他想调用的工具

在这里插入图片描述

模型是怎么知道读取文件用的工具名是read_file呢?,cline在工具的这一部分告诉模型了,会给模型详细解释有哪些工具可以使用,每个工具的名称和参数格式和用途等信息

在这里插入图片描述
在这里插入图片描述

使用mcp的工具
这个输出表明,模型想要调用weather这个mcp服务器下的get_forecast工具,参数如图
在这里插入图片描述
attempt_comletion 工具,比如模型调用了一系列工具之后,他可能会认为自己以及完成了用户给出的任务,或者已经知道了用户问题的答案,此时llm就会把问题的最终答案放到attempt_completion工具下的result里,cline收到这个xml标签后,就会把result里的结论给显示出来。如果一个工具的不出结论,模型在继续调用别的工具就好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
已连接的mcp服务器:
会把用户在cline上配置的mcp服务器和每个mcp服务器所包含的mcp工具都列举出来,共模型选用。
cline是如何告诉mcp有哪些mcp服务器和mcp工具可用的?
现在应该就比较清楚了,cline就是在这个地方告诉模型的
在这里插入图片描述
ask_followup_question,模型给用户问问题用的标签

在这里插入图片描述

用户的消息

在这里插入图片描述
在这里插入图片描述

stream:true代表流式输出,include_usage表示把用量也返回回来

在这里插入图片描述

sse就是一次请求多次响应

在这里插入图片描述

简单场景下模型的回复

sse的返回结果里,如果某一行是以冒号开头,那就代表这一行是注释
在sse中,注释的主要作用就是保持连接,说的通俗一点就是告诉调用方在处理你的请求了,不要断开连接。
保持连接的关键是在于发送了注释,至于注释的内容到底是什么,不重要

在这里插入图片描述

每个模型的内容拼起来,模型就是返回的这么一段话

在这里插入图片描述
在这里插入图片描述

调用mcp工具时模型的请求和返回

想要调用weather这个mcp服务器下面的get_forecast工具
在这里插入图片描述

cline用指定的参数调用了指定的mcp服务器之后,会再次对模型发起请求
user表示是用户提供的,第一个表示接下来是展示mcp工具的调用结果,第二个是结果的具体内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

收到工具调用结果后,模型的返回

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

react模式

在这里插入图片描述

在这里插入图片描述

cline就是一个agent

agent就是能支持思考,持续调用外部工具,直至解决用户问题的程序
cline也是根据react思想来构建它的agent流程的

在这里插入图片描述

Logo

更多推荐