TS

llm-mcp-rag

by KelvinQiu802/llm-mcp-rag

0 views

LLM + MCP + RAG = Magic

typescriptopenaiDocument Processing

LLM + MCP + RAG

目标

  • Augmented LLM (Chat + MCP + RAG)
  • 不依赖框架
    • LangChain, LlamaIndex, CrewAI, AutoGen
  • MCP
    • 支持配置多个MCP Serves
  • RAG 极度简化板
    • 从知识中检索出有关信息,注入到上下文
  • 任务
    • 阅读网页 → 整理一份总结 → 保存到文件
    • 本地文档 → 查询相关资料 → 注入上下文

The augmented LLM

image.png

classDiagram
    class Agent {
        +init()
        +close()
        +invoke(prompt: string)
        -mcpClients: MCPClient[]
        -llm: ChatOpenAI
        -model: string
        -systemPrompt: string
        -context: string
    }
    class ChatOpenAI {
        +chat(prompt?: string)
        +appendToolResult(toolCallId: string, toolOutput: string)
        -llm: OpenAI
        -model: string
        -messages: OpenAI.Chat.ChatCompletionMessageParam[]
        -tools: Tool[]
    }
    class EmbeddingRetriever {
        +embedDocument(document: string)
        +embedQuery(query: string)
        +retrieve(query: string, topK: number)
        -embeddingModel: string
        -vectorStore: VectorStore
    }
    class MCPClient {
        +init()
        +close()
        +getTools()
        +callTool(name: string, params: Record<string, any>)
        -mcp: Client
        -command: string
        -args: string[]
        -transport: StdioClientTransport
        -tools: Tool[]
    }
    class VectorStore {
        +addEmbedding(embedding: number[], document: string)
        +search(queryEmbedding: number[], topK: number)
        -vectorStore: VectorStoreItem[]
    }
    class VectorStoreItem {
        -embedding: number[]
        -document: string
    }

    Agent --> MCPClient : uses
    Agent --> ChatOpenAI : interacts with
    ChatOpenAI --> ToolCall : manages
    EmbeddingRetriever --> VectorStore : uses
    VectorStore --> VectorStoreItem : contains

依赖

git clone [email protected]:KelvinQiu802/ts-node-esm-template.git
pnpm install
pnpm add dotenv openai @modelcontextprotocol/sdk chalk**

LLM

MCP

RAG

向量

  • 维度
  • 模长
  • 点乘 Dot Product
    • 对应位置元素的积,求和
  • 余弦相似度 cos
    • 1 → 方向完全一致
    • 0 → 垂直
    • -1 → 完全想法

image.png

image.png

image.png

image.png

Install

No configuration available
For more configuration details, refer to the content on the left

Related

Related projects feature coming soon

Will recommend related projects based on sub-categories