# Conflicts:
#	项目/盛视科技/人员核查.md
master
old-tom 5 months ago
commit 3c06703d6b

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

@ -0,0 +1,3 @@
![[Pasted image 20250326165958.png]]

@ -0,0 +1,81 @@
MCP Server ([Model Context Protocol](https://www.aisharenet.com/model-context-protocol/) Server),即模型上下文协议服务器, 是一种基于标准化协议的服务端程序。 它的核心作用是为大语言模型 (LLM) 提供外部数据和功能支持。 可以将其理解为一个标准化的 **工具接口** 。 例如Fetch MCP Server 能够抓取网页内容,而 Google Drive MCP Server 则可以实现云端文件的读取。
MCP Server 的关键特点在于其 **被动性** 。 它如同一个工具箱,静静地等待指令,只在接收到明确的调用请求后才会执行相应的操作,并不主动参与决策或推理过程。
![[Pasted image 20250323110401.png]]
## 一、通信机制
|特性|stdio|HTTP with SSE|
|---|---|---|
|协议基础|操作系统管道|HTTP/1.1长连接|
|消息格式|JSON-RPC 2.0,以换行符分隔 JSON-RPC|2.0通过SSE事件流传输|
|连接方向|双向(客户端↔服务端)|客户端通过POST发送请求服务端通过SSE单向推送响应|
|错误处理|依赖管道机制|支持HTTP状态码和SSE自动重连机制|
|适用场景|本地工具链、CLI应用|分布式系统、实时监控、远程服务调用|
### 1.stdio标准输入输出
`适用于客户端与服务端在同一台机器上的场景。`
客户端通过启动服务端子进程如命令行工具利用操作系统的管道机制stdin/stdout进行数据传输。
是个同步阻塞模型,通信基于顺序处理,需等待前一条消息完成传输后才能处理下一条,适合简单的本地批处理任务。
### 2.HTTP with SSEServer-Sent Events
客户端与服务端可部署在不同节点通过HTTP协议实现跨网络通信。
是个异步事件驱动。
- 服务端通过SSE长连接主动推送数据
- 客户端通过HTTP POST端点发送请求
支持实时或准实时交互,适合分布式系统或需要高并发的场景
## 二、技术实现
### 2.1 STDIO
![[Pasted image 20250323110642.png]]
- 消息必须为UTF-8编码的JSON-RPC格式以换行符`\n`分隔。
- 服务端通过`stderr`输出日志,客户端可选择处理或忽略。
- 严格禁止在`stdout`中写入非协议消息,避免解析错误。
服务端代码demo
```python
async def run_server():
async with stdio_server() as (read_stream, write_stream):
# read_stream contains incoming JSONRPCMessages from stdin
# write_stream allows sending JSONRPCMessages to stdout
server = await create_my_server()
await server.run(read_stream, write_stream, init_options)
anyio.run(run_server)
```
- `read_stream` 来自 `stdin` 的传入 `JSONRPCMessages`
- `write_stream` 将 `JSONRPCMessages` 发送到 `stdout`
### 2.2 HTTP WITH SSE
![[Pasted image 20250323113326.png]]
- 服务端需提供两个端点:
- SSE端点客户端通过此建立长连接接收事件流如`/sse`)。
- HTTP POST端点客户端发送请求至此如`/messages`)。
- 消息推送流程客户端首次连接时服务端返回SSE端点的URI后续所有请求通过POST发送响应通过SSE事件流返回。
```python
# Create an SSE transport at an endpoint
sse = SseServerTransport("/messages/")
# Create Starlette routes for SSE and message handling
routes = [
Route("/sse", endpoint=handle_sse),
Mount("/messages/", app=sse.handle_post_message),
]
# Define handler functions
async def handle_sse(request):
async with sse.connect_sse(
request.scope, request.receive, request._send
) as streams:
await app.run(
streams[0], streams[1], app.create_initialization_options()
)
# Create and run Starlette app
starlette_app = Starlette(routes=routes)
uvicorn.run(starlette_app, host="0.0.0.0", port=port)
```
在 routes 中,只有 `Route("/sse", endpoint=handle_sse)` 是用于长连接的。这个路由设置了一个 SSE (Server-Sent Events) 的长连接终端点,用于持续向客户端推送消息。
而 `Mount("/messages/", app=sse.handle_post_message)` 则是用于处理客户端发送的 POST 请求,这通常是短连接。

@ -0,0 +1,14 @@
## 一、基本原理
RAG是一种结合了信息检索Retrieval和文本生成Generation的混合架构它允许大模型在回答问题时不仅依赖于自身训练时获得的知识还能动态地从外部知识库中检索相关信息以提高生成内容的准确性和可信度。简而言之RAG可以被理解为“**先查资料,再回答问题**”的智能问答系统。
RAG通常由两个主要模块组成
1. **检索模块Retriever**:从外部数据库或文档集合中提取与输入查询最相关的信息。
2. **生成模块Generator**:基于检索到的内容,结合大模型已有的语言能力,生成最终的回答。
这种方法的优势在于它可以让大模型具备“短期记忆”能力使其能够处理时效性强、知识更新频繁或需要引用外部文献的任务。例如在金融、医疗、法律等领域RAG可以帮助模型提供更具权威性的答案而不是仅凭预训练数据“猜测”答案。
- RAG技术通过检索外部知识库避免了幻觉问题的困扰。相较于单纯依赖大型语言模型对海量文本数据的学习RAG允许模型在生成文本时从事实丰富的外部知识库中检索相关信息。
- RAG技术的时效性优势使其在处理实效性较强的问题时更为可靠。通过与外部知识库的连接RAG确保了模型可以获取最新的信息及时适应当前的事件和知识。
- 与传统的知识库问答KBQA相比RAG技术在知识检索方面更加灵活不仅能够从结构化的知识库中检索信息还能够应对非结构化的自然语言文本。
## 二、实现原理
![[Pasted image 20250326091615.png]]

@ -12,6 +12,10 @@ function Calling 是一种机制,允许大语言模型[动态调用](https://z
# 二、Deepseek function calling
`仅限于火山引擎Deepseek-r1 原版不支持function calling`
```
1. tools定义
deepseek 官方定义的格式(最多支持 128 个 function参考 https://api-docs.deepseek.com/zh-cn/guides/function_calling
```json

@ -0,0 +1,5 @@
https://www.ruanx.net/prompt-engineering/
![[Pasted image 20250327190433.png]]
如图cline将tool 描述加到上下文中可以实现不使用LLM API执行function call比如DeepSeek-r1不支持function calling功能,但缺点在于会上下文token会很长

@ -3,7 +3,6 @@
【数据服务UI原型https://js.design/f/r6o7Iw?p=-06pdY2y4F&mode=design】【金山文档智能建模开发计划表https://kdocs.cn/l/cqRud3cgOctf】【禅道地址http://172.31.51.246:81/zentao/bug-browse-104-0-unclosed-0-id_desc.html】【测试环境系统地址http://172.31.51.134:8080?oauth=YWRtaW58fE1heHZpc2lvbkAxMjM】【测试环境管理员账号admin/Maxvision@123】
北京智能建模系统的请求地址和方式为:
liuhai这个账号
[http://172.31.51.134:8080?oauth=bGl1aGFpfHxNYXh2aXNpb25AMTIz](http://172.31.51.134:8080?oauth=bGl1aGFpfHxNYXh2aXNpb25AMTIz)

@ -1,3 +1,5 @@
NTP192.168.52.249
+ 开发环境
admin/Hkka@6699!

Loading…
Cancel
Save