Token导航 LogoToken导航TokenDH.com
Ollama F1 Chat logo
数据服务stdio官方级别未说明来源级核验

Ollama F1 Chat

MCP Server

一个基于OpenF1 API的交互式聊天界面,用于查询F1数据,结合了LangChain、Ollama、ChromaDB和Neo4j等技术,提供自然语言查询功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python向量搜索知识图谱

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ujjwalkumar26

提供方

ujjwalkumar26

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

F1数据聊天助手

一个交互式聊天界面,用于使用OpenF1 API查询一级方程式数据。该项目使用LangChain、Ollama、ChromaDb进行矢量搜索,并使用模型上下文协议(MCP)为F1数据查询创建自然语言界面。

使用的技术

F1数据聊天助手结合了多种人工智能技术:

  1. 朗链代理 -协调工具选择和响应生成
  2. 奥拉马LLM (llama3.2:1b)-增强自然语言理解和生成能力
  3. MCP(模型上下文协议) -提供对OpenF1 API工具的标准化访问
  4. ChromaDB矢量存储 -F1知识文档的语义搜索
  5. Neo4j图形数据库 -结构化关系查询
  6. DuckDuckGo搜索 -实时互联网搜索当前F1信息

代理根据用户的查询在这些工具之间进行智能选择,以提供准确、全面的F1信息。

需求

  • Python 3.8+
  • Ollama在当地安装
  • Neo4j数据库(桌面或服务器)
  • 所需的Python包(请参阅 requirements.txt)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/ollama-f1-chat.git
cd ollama-f1-chat
  1. 创建并激活虚拟环境:
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On Unix or MacOS
source .venv/bin/activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 确保Ollama使用所需型号运行:
ollama run llama3.2:1b

用法

运行主应用程序:

python source/main.py

示例查询:

  • “在会话1204中显示驾驶员16的汽车数据”
  • “1082会议1205的天气怎么样?”
  • “告诉我关于第3圈的车手55会话1204”

项目结构

核心应用程序

  • source/main.py -LangChain代理编排的主要应用入口点
  • source/ui_window.py -聊天界面UI实现
  • source/f1mcp/mcp_openf1_tools.py -用于OpenF1 API集成的模型上下文协议(MCP)服务器

知识系统

  • chroma_db/ -用于F1文档语义搜索的ChromaDB矢量数据库
  • documents/ -知识库文件(F1事实、比赛历史、驾驶员信息)

- knowledge.txt -F1常识和事实 - sample_f1_2023.txt -2023赛季信息 - sample_f1_2024.txt -2024赛季信息

助手实用程序

  • source/helpers/helper.py -ChromaDB摄取工具,用于将文档加载到矢量数据库中
  • source/helpers/neo4j_ingestion.py -基于LLM的Neo4j知识图生成器

配置

  • requirements.txt -Python依赖关系
  • .env -环境变量(Neo4j凭证、API密钥)

知识检索组件

1. 矢量搜索(ChromaDB)

应用程序使用 ChromaDB 作为矢量数据库,以实现对公式1文档的语义搜索。当用户提问时,系统:

  • 使用嵌入(句子转换/全MiniLM-L6-v2)从存储的F1文档中检索相关上下文
  • 将此上下文注入LLM提示中,以提供准确的历史信息
  • 存储来自的文档 documents/ 目录作为分块嵌入向量

辅助工具: source/helpers/helper.py -生成嵌入并将文档(.txt、.md、.pdf)中的数据加载到ChromaDB矢量存储中的独立脚本。

2. 互联网搜索(DuckDuckGo)

对于离线知识库或OpenF1 API中不可用的当前一级方程式新闻和信息,代理使用 DuckDuckGo搜索 作为后备工具。这使得:

  • 实时F1新闻和更新
  • 当前车手排名和车队信息
  • 最近的比赛结果和锦标赛更新

3. 知识图谱(Neo4j)

该系统与 Neo4j 以知识图的形式存储和查询结构化的F1关系:

图形架构:

  • (Driver)-[:DROVE_FOR]->(Team) 有赛季和积分
  • (Driver)-[:WON]->(Race) 随着年份
  • (Race)-[:HELD_AT]->(Circuit)
  • (Race)-[:PART_OF]->(Season)

使用案例:

  • “2023年,哪些车手为法拉利车队效力?”
  • “显示2022赛季的所有比赛”
  • “摩纳哥有哪些赛道举办比赛?”

辅助工具: source/helpers/neo4j_ingestion.py -使用Ollama LLM从非结构化文本中提取F1实体(车手、车队、比赛、赛道、赛季),并自动构建知识图。

Neo4j Graph Visualization

许可证

MIT许可证

目录标签

目录标签

Python向量搜索知识图谱F1数据查询本地部署自然语言处理聊天助手

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP