天气数据LLM集成服务

通过MCP服务器将ChatGPT或Gemini连接到天气数据的服务,提供基于Streamlit的Web界面和FastAPI后端,支持与LLM交互并获取实时天气信息。

  • by pcilli
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pcilli/weather-mcp-server

使用说明

天气MCP服务器概述

太长,读不下去了

使用此代码库通过MCP服务器将ChatGPT或Gemini连接到天气数据。

存储库用途

此存储库提供了一组web应用程序和后端脚本,用于与LLM(如Gemini和ChatGPT)交互并访问实时天气数据。它利用 溪流 用于web界面和 快速 API 用于后端API端点,与Google和OpenAI的语言模型以及公共天气API集成。


文件摘要

1. streamlit_app_gemini.py

  • 目的:
    使用Streamlit构建的Web应用程序界面,用于与谷歌的Gemini LLM进行交互。
  • 主要特点:
    • 接受用户查询并显示Gemini的响应。
    • 处理用户会话状态和提示管理。
    • LLM交互界面简洁明了。
    • 根据用户输入获取并显示天气数据。

2. streamlit_app_chatgpt.py

  • 目的:
    使用Streamlit构建的Web应用程序界面,用于与OpenAI的ChatGPT LLM进行交互。
  • 主要特点:
    • 类似于Gemini应用程序,但使用OpenAI API。
    • 处理用户查询并显示ChatGPT响应。
    • 提供会话和提示历史记录。
    • 根据用户输入获取并显示天气数据。

3. main.py

  • 目的:
    FastAPI后端服务的主要入口点。
  • 主要特点:
    • 启动API服务器。
    • 设置所有路由和核心API配置。
    • 包括天气API路由器。
    • 提供健康检查终结点。

4. weather_router.py

  • 目的:
    FastAPI路由器,用于处理与天气相关的API端点。
  • 主要特点:
    • 包含访问和管理天气数据的路线。
    • 处理API请求、数据格式化和天气集成的错误处理。
    • 模块化,易于集成到主FastAPI应用程序中。

5. requirements.txt

  • 目的:
    列出运行代码库所需的所有Python包。
  • 关键库:
    • fastapi, uvicorn (后端web API)
    • streamlit (网络应用程序)
    • httpx, requests (HTTP请求)
    • python-dotenv (环境变量管理)
    • openai, google-generativeai (LLM API)
    • pydantic (数据验证)

这些碎片是如何组合在一起的

  • 前端:
    两个Streamlit应用程序(streamlit_app_gemini.py 和 streamlit_app_chatgpt.py)提供用户界面,与不同的LLM进行交互,并获取感兴趣城市的天气数据。

  • 后端:
    main.py 启动FastAPI服务器,从注册路由 weather_router.py后端提供用于检索实时天气数据的API,并可以作为Streamlit应用程序的后端。

  • 天气集成:
    所有天气API路由和逻辑都在中模块化 weather_router.py,它包含在主FastAPI应用程序中。

  • 依赖关系:
    所有依赖项都列在 requirements.txt 易于安装和再现。


入门指南

  1. 安装要求:

    pip install -r requirements.txt
    
  2. 运行后端API:

    uvicorn main:app --reload
    
  3. 启动Streamlit应用程序:

    streamlit run streamlit_app_gemini.py
    # or
    streamlit run streamlit_app_chatgpt.py
    

环境变量和秘密

1·OpenAI密钥(OPENAI_API_KEY)

  1. 登录地址: https://platform.openai.com.
  2. 点击 “API密钥” 在左侧边栏中。
  3. 选择 “创建新密钥”,给它起个名字,然后立即复制。
  4. 将密钥添加到 OPENAI_API_KEY 在 .env.

2·双子座钥匙(GEMINI_API_KEY)

选项A——谷歌人工智能工作室(快速)

  1. 首选 https://aistudio.google.com.
  2. 选择 API密钥→ “创建API密钥”.
  3. 复制密钥并将其存储在 GEMINI_API_KEY.

选项B——谷歌云控制台

  1. 打开云控制台并创建/选择一个项目。
  2. 启用 API双子星.
  3. 引导到 API和服务→ 凭证→ 创建凭据→ API密钥.
  4. (可选)添加密钥限制,然后将其复制到 GEMINI_API_KEY.