项目简介
'vibe-llama' 是一个旨在帮助开发者构建基于 LlamaIndex、LlamaCloud Services 和 llama-index-workflows 应用的工具集。它包含一个实现了 Model Context Protocol (MCP) 的服务器,其核心功能是向 AI 助手或 LLM 客户端提供最新的 LlamaIndex 相关文档信息作为上下文。
主要功能点
- 文档上下文检索: 服务器提供一个名为 'get_relevant_context' 的工具。LLM 客户端可以通过向该工具发送查询,检索与 LlamaIndex 生态系统相关的文档内容,例如 API 文档、最佳实践或常见模式。
- 标准化通信: 'vibe-llama' MCP 服务器通过 JSON-RPC 协议与客户端通信,接收客户端请求(如调用工具、获取上下文)并返回标准化的响应。
- 本地部署: 用户可以在本地环境中启动 'vibe-llama' MCP 服务器,方便开发、集成和测试 LLM 应用。
安装步骤
您可以通过 'uv' 或 'pip' 两种方式安装 'vibe-llama':
# 方法一:使用 uv 安装并直接运行 uvx vibe-llama@latest --help # 方法二:使用 pip 先安装,再运行 pip install vibe-llama
服务器配置
MCP 客户端需要知道如何启动 'vibe-llama' MCP 服务器才能与其建立连接。服务器默认将在 'http://127.0.0.1:8000/mcp' 地址启动并监听请求。
以下是 MCP 客户端配置 'vibe-llama' 服务器所需的关键信息:
{ "name": "VibeLlama MCP Server", // 您可以为服务器指定一个易于识别的名称,例如 "VibeLlama MCP Server" "command": "vibe-llama", // 启动服务器的命令是 "vibe-llama" "args": ["starter", "--mcp"] // 启动 MCP 服务器所需的参数是 "starter --mcp" }
请注意: 上述是一个 JSON 格式的配置说明,而不是直接可运行的代码。您的 MCP 客户端应根据其自身的配置方式,使用这些信息来启动和连接 'vibe-llama' MCP 服务器。
基本使用方法
-
启动 MCP 服务器: 在终端中运行以下命令,启动本地 'vibe-llama' MCP 服务器:
vibe-llama starter --mcp服务器启动后,您将在终端看到相关提示信息。它将监听 'http://127.0.0.1:8000/mcp' 地址以处理客户端请求。
-
通过 MCP 客户端与服务器交互: 服务器启动后,任何兼容 MCP 协议的客户端都可以连接并与其交互。'vibe-llama' 项目自身也提供了一个 Python SDK ('VibeLlamaMCPClient') 用于便捷交互。以下是一个使用该 SDK 客户端的示例:
from vibe_llama.sdk import VibeLlamaMCPClient import asyncio async def main(): client = VibeLlamaMCPClient() # 1. 列出服务器可用的工具 print("正在列出可用的工具...") tools = await client.list_tools() print(f"服务器可用的工具: {[tool.name for tool in tools]}") # 预期输出: 服务器可用的工具: ['get_relevant_context'] # 2. 调用 get_relevant_context 工具检索文档内容 query = "LlamaParse 如何解析文档" top_k = 3 print(f"\n正在检索关于 '{query}' 的相关文档 (top {top_k})...") # parse_xml=True 会将服务器返回的 XML 结果解析为 Python 字典 result = await client.retrieve_docs(query=query, top_k=top_k, parse_xml=True) if "result" in result: print("\n检索到的文档片段:") for i, doc_snippet in enumerate(result["result"]): print(f"--- 片段 {i+1} ---\n{doc_snippet}\n") else: print(f"\n检索失败,错误信息: {result['error']}") if __name__ == "__main__": asyncio.run(main())请确保在运行上述 Python 客户端代码之前,'vibe-llama' MCP 服务器已在另一个终端中启动。
信息
分类
AI与计算