Token导航 LogoToken导航TokenDH.com
AI bot logo
搜索检索stdio官方级别未说明来源级核验

AI bot

MCP Server

一个基于Telegram的AI聊天机器人,集成Ollama进行LLM处理,ChromaDB进行向量搜索,并提供天气查询、互联网搜索和Notion集成等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
向量搜索Python自然语言处理Notion集成

安装说明

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

作者 / 组织

MrJuise

提供方

MrJuise

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

Telegram AI机器人与Ollama和矢量搜索

Telegram是一个基于Aiogram的机器人,集成了LLM的OLLAMA、用于向量搜索的Chromadb和MCP工具(天气、互联网搜索、Notion)。

机会

  • 💬 智能聊天机器人 基于Ollama的对话记忆(Llama3.1:8b)
  • 🔍 向量搜索 基于Chromadb和Nomic Embed Text的知识库
  • 🌤️ 天气 -获取任何城市的当前天气
  • 🌐 在线搜索 通过DuckDuckGo获取最新信息
  • 📝 与 Notion 集成 搜索、阅读和创建页面
  • 🧠 聊天存储器 -在SQLite中保存对话历史记录
  • 🐳 Docker-部署 通过Docker Compose轻松部署

要求

  • DockerиDocker作曲
  • Telegram Bot Token(英语:Telegram Bot Token) @植物学家)
  • (可选)Notion API Key for Notion

安装和启动

1.克隆存储库

git clone 
cd new_AI

2.配置环境变量

创建文件 .env 在项目的根:

# Обязательные переменные
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here

# Опциональные переменные
OLLAMA_MODEL=llama3.1:8b
OLLAMA_BASE_URL=http://ollama:11434

# Для работы с Notion (опционально)
NOTION_API_KEY=your_notion_api_key_here
PARENT_ID=your_notion_parent_page_id_here

如何获取token:

  • TELEGRAM_BOT_TOKEN:

1. 打开 @植物学家 在Telegram 1. 发送团队 /newbot 1. 按照说明复制收到的代币

  • 通知_API_KEY (可选):

1. 转到https://www.notion.so/my-integrations 1. 创建新的集成 1. 内部集成令牌 1. 将集成添加到所需页面/数据库

  • PARENT_ID (可选):

- 创建新页面的页面ID或Notion数据库 - 可以在Notion页面的URL中找到 /)

3.通过Docker Compose启动

选项1:使用现成图像

如果您可以访问图像 mrjuise/tg_bot_mvp:latest:

docker-compose up -d

选项2:自行构建图像

如果您需要自行制作图像:

  1. 收集机器人图像:
docker build -t mrjuise/tg_bot_mvp:latest .
  1. 启动服务:
docker compose up -d

4.核实工作

启动后,检查日志:

# Логи всех сервисов
docker compose logs -f

# Логи только бота
docker compose logs -f telegram-bot

# Логи только Ollama
docker compose logs -f ollama

预期行为:

  • Ollama 模特下载 llama3.1:8bnomic-embed-text 第一次启动(可能需要几分钟)
  • 机器人将连接到Telegram并开始回复消息

5.机器人的使用

  1. 按您创建时指定的名称在Telegram中找到您的机器人
  2. 发送团队 /start 开始工作
  3. 使用 /help 查看可用命令

可用命令:

  • /start -欢迎
  • /help -团队和功能帮助
  • /health -检查服务状态
  • /new_chat 清除对话历史记录
  • /add_to_vector -将文本添加到矢量知识库
  • /cancel -取消当前操作

项目结构

new_AI/
├── bot.py                 # Основной файл бота
├── memory.py              # Управление памятью чатов (SQLite)
├── vector_store.py        # Векторное хранилище (ChromaDB)
├── mcp_tools/             # MCP инструменты
│   ├── mcp_weather.py     # Получение погоды
│   ├── mcp_notion.py      # Работа с Notion
│   └── search_duckduckgo.py  # Поиск в интернете
├── Dockerfile             # Образ для бота
├── docker-compose.yml     # Конфигурация Docker Compose
├── requirements.txt       # Python зависимости
└── .env                   # Переменные окружения (создать самостоятельно)

数据与持久性

数据存储在主机上的以下目录中:

  • /srv/ollama_models -Ollama模型(在重新启动之间保存)
  • /srv/bot_data -机器人数据:

- chat_memory.db -聊天历史数据库 - vectorstore/ Chromadb矢量存储

重要的是: 确保这些目录存在并具有正确的访问权限:

sudo mkdir -p /srv/ollama_models /srv/bot_data
udo chown -R 1000:1000 /srv/ollama_models /srv/bot_data

或者改变你的方式 docker-compose.yml 本地目录。

停止和重新启动

# Остановка сервисов
docker compose down

# Остановка с удалением данных (осторожно!)
docker compose down -v

# Перезапуск
docker compose restart

# Перезапуск с пересборкой образа
docker compose up -d --build

本地开发(无Docker)

如果您想在没有Docker的情况下在本地运行机器人:

1.建立依赖关系

python -m venv venv
source venv/bin/activate  # На Windows: venv\Scripts\activate
pip install -r requirements.txt

2.本地运行Ollama

下载并安装Ollama ollama.com,然后:

ollama serve
# В другом терминале:
ollama pull llama3.1:8b
ollama pull nomic-embed-text

3.配置环境变量

В .env 修改 :

OLLAMA_BASE_URL=http://localhost:11434

4.启动机器人

python bot.py

故障排除

bot没有回复

  1. 检查日志: docker-compose logs telegram-bot
  2. 确保 TELEGRAM_BOT_TOKEN 正确地在 .env
  3. 检查bot是否已运行: docker-compose ps

Ollama不加载模型

  1. 检查日志: docker-compose logs ollama
  2. 确保有足够的磁盘空间
  3. 检查Internet连接(模型从Internet下载)

矢量存储错误

  1. 确保模型 nomic-embed-text 下载到Ollama
  2. 检查目录访问权限 /srv/bot_data
  3. 尝试删除并重新创建向量存储

Notion的问题

  1. 确保 NOTION_API_KEY 正确
  2. 检查是否已将集成添加到Notion中的正确页面
  3. 确保 PARENT_ID 指向现有页面/数据库

技术

  • 图表3.22.0 -电报机器人框架
  • 奥拉玛 本地LLM服务器
  • 色度数据库 矢量数据库
  • LangChain -与LLM和Embadding集成
  • SQLite -保存聊天历史记录
  • Docker&Docker编写 集装箱化

\=====================================================================

总结

指定代理

Telegram的个人AI助理,使用本地LLM模型(Ollama Llama3.1:8b)、知识库向量搜索和通过MCP协议访问外部工具,为用户提供智能答案。代理能够进行上下文对话,同时保留通信历史记录,并根据请求自动在使用知识库和调用工具LLM之间进行选择。

MCP工具

  1. 天气 (mcp_weather.py)通过Open Meteo API(地理编码+天气预报)获取任何城市的当前天气
  2. DuckDuckGo搜索 (search_duckduckgo.py)在互联网上搜索最新信息,以回答需要最新数据的问题
  3. 概念 (mcp_notion.pyNotion API集成到:

- 查询页面(notion_search) - 检索网页内容(notion_get_page) - 创建新页面(notion_create_page)

内存实现

通过SQLite数据库实现的内存(memory.py):

  • 为每个用户单独存储对话历史记录
  • 基于令牌限制的上下文管理(默认为6000令牌)
  • 使用 tiktoken 精确计算代币
  • 优先保存最新消息超过限制
  • 团队 /new_chat 清理特定用户的历史记录

实现知识库

使用Chromadb(vector_store.py):

  • 向量存储:持久磁盘存储Chromadb
  • 安贝丁吉:模型 nomic-embed-text 从Ollama到文本向量转换
  • 搜索余弦搜索(cosine similarity)
  • 相关阈值:0.7(如果找到的文档相似≥0.7,则使用它而不是调用LLM)
  • 添加数据团队: /add_to_vector 手动将文本添加到知识库
  • 异步性:所有向量数据库操作都是异步执行的,以避免阻止事件循环

目录标签

目录标签

向量搜索Python自然语言处理Notion集成AI聊天机器人本地部署Telegram集成

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP