Archive


Category: 似水流年

  • 挖矿病毒来势汹汹

    病毒来了, 我的个人站点使用了 wordpress, 它的不知哪个漏洞让黑客攻入了我的站点 使用 top 命令看到了有不明进程始终占据了 100% 的 CPU 通过以下命令可以知道这个进程在哪里 sudo ls -l /proc/1118/cwd sudo ls -l /proc/$pid/exe sudo cat /proc/$pid/cmdline sudo cat /proc/1118/environ kill -9 $pid 没什么用, 一会儿它又起来了, 通过 ‘crontab -l’ 也没看到有 cronjob 存在, 不过可以断定它是通过 wordpress docker 的 php 进程侵入进来了, 于是更新 docker image, 删除 9000 端口映射, 重启 docker 进程, 暂时没有再发现有可疑进程

  • 90 天快速改变自己

    世界上最可悲的人是只有视野却无愿景的人 — 海伦.凯勒 先问自己6个问题 我目前的状况 我在90天后的目标 我为什么要改进 我要怎么做才能达到目标 我要怎么做才能达到目标 我要怎么做才能达到目标 DMA – Difference-Making Action 每天早起第一件事, 打开手帐本或手机 Todo List APP 在最上方写下你当前最重要的目标 在下方写下数据 1 ~ 5 在 1 旁边写下为完成这个目标, 你今天所能做的最重要的事, 在 2 旁边写下第二重要的事, 以此类推 你如此有了一张清单, 列出了为完成目标你今天要做且能完成的 5 件最重要的事 写下上述 DMA 清单时要谨记 FUN 三要素 FUN First Priority First 要事优先 Under the main vision and current major objective 要事优先 […]

  • Ask LLM by program

    What’s RAG RAG is a technique for augmenting LLM knowledge with additional data. RAG 是一种以额外数据来增强 LLM 知识的技术 以私有或者较新的知识插入到给模型的提示的过程就叫检索增强生成 Concepts Indexing Load: First we need to load our data. This is done with Document Loaders. 载入我们的知识 Split: Text splitters break large Documents into smaller chunks. This is useful both for indexing data and for passing it […]

  • 5W1H8C1D

    5W When Where Who What Why 1H How 8C(Constraint) Performance Cost Time Technology Reliability Security Compliance Compatibility 1D Data

  • 如何通过知识图谱对大语言模型返回的结果做 RAG?

    通过知识图谱(Knowledge Graph, KG)对大语言模型(LLM)返回的结果进行检索增强生成(Retrieval-Augmented Generation, RAG)可以提高生成内容的准确性和一致性。以下是一个概述如何实现这一目标的步骤: 1. 构建或使用现有的知识图谱 数据来源: 知识图谱通常由结构化数据(如关系数据库)、半结构化数据(如JSON、XML)、以及非结构化数据(如文档、网页)构建而成。 存储和查询: 可以使用Neo4j、Memgraph等图数据库来存储知识图谱,并通过Cypher或其他查询语言进行查询。 2. 结合知识图谱进行查询增强 查询扩展: 在用户发出查询后,使用知识图谱对查询进行扩展。例如,如果用户询问某一特定领域的问题,可以使用知识图谱扩展相关领域的概念和关系。 上下文检索: 在生成答案之前,使用知识图谱对相关上下文信息进行检索,这些信息可以包括实体之间的关系、属性、历史记录等。 3. 与大语言模型结合 预处理: 在将用户的查询输入大语言模型之前,先用知识图谱检索相关的上下文信息,并将这些信息附加到查询中,以增强模型的理解。 生成与验证: 大语言模型生成初步答案后,可以通过知识图谱对生成的内容进行验证和修正。例如,验证生成的实体关系是否正确,或对关键事实进行交叉验证。 后处理: 使用知识图谱进行后处理,以确保生成的结果与知识图谱中的已知事实一致。 4. 实现流程 用户查询: 接收到用户查询后,系统首先通过知识图谱检索相关实体和关系。 检索增强: 将检索到的信息与用户查询一起传递给大语言模型,增强生成过程。 结果验证: 对生成的结果进行验证,确保其与知识图谱中的信息一致。 结果返回: 将经过验证的答案返回给用户。 5. 技术实现 Python与图数据库: 使用Python脚本连接图数据库(如Neo4j),通过Cypher查询获取知识图谱中的信息。 与大语言模型集成: 使用Python库(如OpenAI的API)与大语言模型交互,将检索到的上下文信息传递给模型,并获取生成的答案。 6. 示例代码 下面是一个简单的Python示例,展示了如何结合Neo4j的知识图谱与OpenAI的大语言模型进行RAG: from neo4j import GraphDatabase import openai # 连接到Neo4j数据库 uri = “bolt://localhost:7687” […]

  • fastapi with celery

    Overview 这其实是典型的发布订阅模式, 生产者发布任务到任务队列中, 消费者从任务队列中消费任务. 这里的任务队列是 Redis, 也可以使用 RabbitMQ Quick start from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): item_id: int name: str description: str = None @app.get("/items/{item_id}", response_model=Item) async def get_item(item_id: int): return {"item_id": item_id, "name": "Some item", "description": "Description of the item"} start cerely by docker compose version: '3.8' […]

  • 用 Cypher 来查询图数据库

    Cyper 作为声明式查询语言, SQL 在计算机行业无人不晓, 无人不知. 而 Cypher 就是 Graph Database 图数据库的 SQL. Cypher is unique because it provides a visual way of matching patterns and relationships. Cypher was inspired by an ASCII-art type of syntax where (nodes)-[:ARE_CONNECTED_TO]->(otherNodes) using rounded brackets for circular (nodes), and -[:ARROWS]-> for relationships. Cypher 用"圆括号"来表示节点, 用"方括号,连接线及箭头"表示关系 When you write a query, […]

  • LLM 之用CRISPE 框架构建输入

    CRIPSE 1. CR – Capacity and Role: 能力与角色 希望模型扮演怎样的角色, 以及角色所具备的能力 例如: 你是一个精通算法的经验丰富的 C++ 程序员 2. Insight 洞察力 完成任务所依赖的背景信息 例如: 根据现代 C++ 语言的最佳实践 3. Statement 指令 希望模型做什么, 任务的核心关键词和目标 例如: 编程一个类, 实现 24点游戏, 即输入随机的四个数字, 数字范围在1 和9之间, 求出它们是否能通过加减乘除运算得出最终结果为数字 24, 举例如下 输入: 1, 3, 2, 4 计算: 413*2 结果: 24 4. Personality 个性 希望模型以什么风格或方式输出 例如: 请用 C++ 写一个类, 并有一个 […]