天气聊天机器人

一个基于Streamlit的天气聊天机器人,使用本地Llama 3.2模型和MCP服务器提供的实时天气数据,支持自然语言交互和模块化扩展。

  • by rpurser47
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rpurser47/mcp_demos

使用说明

天气聊天机器人(Llama 3.2+MCP)

一个强大、可维护的基于Streamlit的天气聊天机器人,由本地Llama 3.2通过Ollama提供支持,并从MCP服务器(美国国家气象局API)提供实时天气数据。

特性

  • Streamlit的自然聊天界面
  • 本地Llama 3.2型号(Ollama)
  • 实时天气工具调用(通过MCP服务器)
  • 模块化、易于扩展的代码库(LangGraph)

设置

  1. 安装Python 3.13+
  2. 克隆此仓库
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 启动MCP服务器(请参阅 mcp_nws 目录)
  5. 用Llama 3.2型号启动Olama:
    ollama run llama3.2
    
  6. 运行应用程序:
    streamlit run streamlit_app.py
    

配置

  • 编辑 chatbot_system_prompt.md 改变聊天机器人的行为。
  • 所有天气查询都需要运行MCP服务器 localhost:8000.

用法

  • 询问美国任何地方的天气。
  • 机器人将调用天气工具获取实时数据,并根据结果进行回答。

你会在这里找到什么

  • MCP服务器:基于FastAPI的服务器,提供对NWS当前和预报天气数据的结构化访问,其端点专为LLM和传统应用程序设计。
  • 演示应用程序:(可选/未来)一个对话界面,用户可以在其中用自然语言询问天气,LLM利用MCP服务器获取实时数据。
  • 学习重点:本项目旨在作为MCP概念的实用介绍,展示如何使外部API可供LLM和其他智能代理访问。

项目结构

  • mcp_nws/ -包含MCP服务器的所有代码、详细的API自述文件和实现。
  • PLAN.md --项目计划和设计原理。

入门指南

1.下载并安装Ollama(适用于Llama 2)

  • 访问 https://ollama.com/download 并按照操作系统的说明进行操作。
  • 安装后,打开终端并运行:
    ollama pull llama2
    
    这将下载Llama 2模型供本地使用。

2.启动Ollama服务器

  • 在终端中,运行:
    ollama serve
    
    这将启动Ollama服务器 localhost:11434 (默认端口)。

3.启动MCP服务器

  • 在项目根目录中,使用以下命令启动MCP服务器(FastAPI/Uvicorn):
    uvicorn mcp_nws.main:app --reload
    
    这将启动MCP服务器 localhost:8000.

4.启动演示应用程序(Streamlit)

  • 在项目根目录中,运行:
    streamlit run streamlit_app.py
    
    该应用程序将在 http://localhost:8501.

有关设置说明、API端点文档和使用示例,请参阅:

👉 mcp_nws/README.md

此文件包含运行、测试和扩展MCP服务器所需的所有内容。


有关项目目标的详细细分,请参阅 计划.md.