Install Bluetooth Manager for Debian Xfce

给Debian+XFCE安装一个蓝牙管理器 Debian+XFCE安装完后,配置蓝牙键盘的时候发现没有可视化管理器。搜索了一下,发现有几款,google上这么说的: Bluedevil:KDE缺省的管理器。 BlueMan:更加通用,是一个基于GTK+的管理器,可以被应用于XFCE、MATE等。 所以就安装一个: sudo apt install blueman 装完就能用了。

July 22, 2025

Install Pyside6

安装个PySide试试 这次使用venv试下: sudo apt update sudo apt install python3-venv python3-pip mkdir myproject cd myproject python3 -m venv ./venv source venv/bin/activate (venv) ~/workdir/myproject$ pip3 install pyside6 $ python Python 3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import PySide6 >>> (venv) vi app.py from PySide6.QtWidgets import QApplication, QWidget import sys app = QApplication(sys.argv) window = QWidget() window.show() app.exec() python3 app....

July 20, 2025

Nl2sql

NL2SQL现状 通过大语言模型进行的NL2SQL发展很快,近两年的几个项目是: QueryGPT(Uber 2024年),是个端到端的系统,使用LLM(GPT-4)构建了多步骤的管道,并结合检索和代理模块。整体架构类似RAG方法,给定一个问题,首先对实例查询以及架构信息的向量库进行相似性搜索,获取上下文。这些示例和架构片段作为小样本提示提供给 LLM,指导其生成 SQL。由于 Uber 的数据生态系统非常复杂(有些表有 200+ 列),因此 QueryGPT 结合了专门的Agent来处理这些复杂的场景。意图Agent 将用户的请求分类成特定的业务域(例如“手机”或“广告”),从而缩小相关的表和示例查询的范围。然后, 表Agent 会建议查询应使用的特定表,从而允许用户反馈以更正表选择中的任何错误。在生成之前, 列修剪Agent 从这些表的结构中修剪不相关的列,以减少提示词长度(在使用具有有限上下文窗口的模型时至关重要)。最后,通过LLM生成一个 SQL查询(以及对应的解释),该查询将结果返回给用户。这种分层设计结合了检索、域过滤和迭代优化,使QueryGPT能够在128K Token的GPT-4上下文中处理Uber的大型架构,并可靠地生成复杂的多表查询。QueryGPT 体现了一种 混合架构 ,其中多个对模型的调用专注于子任务(如意图分类、架构选择等),从而最终生成准确的SQL。值得注意的是,它作为生产服务运行,到 2024 年中,它为数千名 Uber 员工在制定运营查询方面节省了大量时间。 DIN-SQL (2023),利用了一些最先进的提示词策略,而不是新的模型架构。关键思想是利用 思维链分解 :DIN-SQL 不是提示 LLM 直接输出最终的 SQL,而是将生成分解为更小的子问题,并逐步将中间解决方案反馈到模型中,例如,可能首先提示 LLM 确定哪些表和列是相关的,然后制定部分子句(SELECT、WHERE),最后组合和验证完整的查询。DIN-SQL 还引入了 自我纠正循环 ,其中分析 LLM 的初始答案,如果检测到错误(例如,与 schema 或执行结果不匹配),则提示模型修改其查询。这种 分解的提示 + 反馈 方法在小样本情况下 产生了显著的准确率提升 (~+10%)。在 Spider 基准测试中创下了新纪录,测试集的执行准确率为 85.3%,超过了之前的所有微调模型。它还在较新的 BIRD 基准测试中达到了最先进的水平(55.9% 的执行准确率)。DIN-SQL 系统强调了提示工程如何释放 LLM 的推理能力:通过引导模型完成类似于人类解决查询的推理过程(逐步和反射),它无需额外培训即可缩小性能差距。 SQLCoder**(Defog, 2023–2024)** 代表了一系列专门用于 NL2SQL 的微调 LLM,展示了将模型专门用于此任务的能力。SQLCoder 模型由 Defog 公司开发,基于开源LLM(Meta 的最新版本为 CodeLlama),并使用了大量文本到 SQL示例进行微调。他们发布了各种比例的模型(7B、15B 和高达 70B 参数的模型)。最大的 SQLCoder-70B 在许多基准测试中都取得了接近人类的性能,在新的的数据架构和问题上达到 93% 的准确率。在公司的评估套件上的表现甚至超过了 GPT-4 和 Claude。由于微调,它通常可以为领域内的查询生成具有非常高精度的正确 SQL。其中的较小的版本(SQLCoder-7B 和 15B)以一定的准确性换取了速度和可部署性,例如,7B 模型足够小,可以在消费类硬件 (≈8 GB GPU)上运行,支持本地和实时用例。通过开源这些模型,SQLCoder 使研究人员能够试验最先进的 NL2SQL,而无需依赖封闭的 API。例如,据报道,SQLCoder-70B 模型可以处理涉及日期、分组、联接和嵌套逻辑的复杂查询,在许多情况下的准确性高于 GPT-4。 NL2SQL架构发展趋势 当前架构发展来看,几乎所有性能最好的方法都在使用大语言模型。这是因为LLM在理解自然语言和生成结构化文本方面具有卓越的能力。部分架构是端到端的(直接使用LLM转换SQL),另一部分架构是混合多个组件或阶段的混合pipeline。现代 NL2SQL 架构将强大的序列模型与特定于问题的增强功能相结合:大型 LLM 提供了强大的生成 SQL 的先验能力,而检索、结构化架构表示和基于搜索的优化解决了特定于数据库的解析的细微差别。...

June 29, 2025

LLM Productivity Specification

LLM Personal Productivity Platform - Design Specification 1. Project Overview 1.1 Purpose A personal productivity platform that combines LLM chat capabilities with visual workflow design, enabling users to create, manage, and execute AI-powered automation workflows for personal tasks. 1.2 Core Features LLM Chat Interface: Direct conversation with AI models Workflow Designer: Visual drag-and-drop workflow builder Task Automation: Execute workflows automatically or on-demand Personal Dashboard: Overview of workflows, chat history, and productivity metrics 1....

June 15, 2025

Whats Fonts Used in a Web page

如何查看网页的字体 当你浏览网页,看到一个好看的字体的时候,想知道它是什么字体,自己也想用一下这个字体。怎么知道呢?Firebug或者Webkit Inspector可以,但是不简单,有一个插件可解决。这就是WhatFont插件。例如我看到这个页面的代码很好看: ![[Pasted_image_20250608231522.png]] 我是在Firefox中看到的,就要在Firefox中看什么字体,如果放在chrome中,就有可能看到的效果不一样。在Firefox中先安装WhatFont插件,然后看下什么字体: ![[Pasted_image_20250608232034.png]] 这个字体是monospace,可是monospace也是操作系统映射的,一般在font.conf中。如何知道这个monospace到底被操作系统映射成什么字体的呢? $ fc-match -v "monospace" Pattern has 40 elts (size 48) family: "Noto Sans Mono"(w) familylang: "en"(s) style: "Regular"(s) stylelang: "en"(s) fullname: "Noto Sans Mono Regular"(w) fullnamelang: "en"(s) slant: 0(i)(s) weight: 80(f)(s) width: 100(f)(s) size: 12(f)(s) pixelsize: 12.5(f)(s) foundry: "GOOG"(s) antialias: True(w) hintstyle: 1(i)(w) hinting: True(s) verticallayout: False(s) autohint: False(s) globaladvance: True(s) file: "/usr/share/fonts/truetype/noto/NotoSansMono-Regular.ttf"(s) index: 0(i)(w) 可以看到,最终渲染的字体是“Noto Sans Mono Regular”,这个才是最终显示字体。我们也可以做个实验,找个WPS,用“Noto Sans Mono Regular”字体输入一段文字,看下效果,确实一样。 ![[Pasted_image_20250608232654.png]]

June 8, 2025

Install and Using FastGPT

部署和使用FastGPT 一、部署FastGPT 1.1 安装docker 安装docker和docker compose,参见docker安装。 1.2 Docker部署FastGPT mkdir fastgpt cd fastgpt curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json # pgvector 版本(测试推荐,简单快捷) curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml # oceanbase 版本(需要将init.sql和docker-compose.yml放在同一个文件夹,方便挂载) # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/docker-compose.yml # curl -o init.sql https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/init.sql # milvus 版本 # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-milvus.yml # zilliz 版本 # curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-zilliz.yml 启动: sudo docker compose up -d sudo docker ps 访问: 通过 ip:3000 直接访问(注意开放防火墙)。登录用户名为 root,密码为docker-compose.yml环境变量里设置的 DEFAULT_ROOT_PSW。初次密码是1234。 1.3 非容器化部署 安装nodejs、mongodb、pg数据库及pgvector插件。 克隆fastGPT源码。...

June 2, 2025

Index of LLamaIndex

LLamaIndex里面的Index CVP栈里面的V就是一种Index。使用LLamaIndex的时候,会用到各类的Index。 一、索引类型 1. 列表索引(现在叫总结索引Summary) 顺序的节点,逐个进行查询。 [Node]->[Node]->[Node] 查询 查询的时候,如果无任何参数,直接返回所有的Node。 同时提供很多种查询方法,例如,嵌入式查询会返回TopN的邻居,或附加其他关键字过滤条件。 2. 向量索引 可以提供语义相似度进行检索。数据存储在一个向量存储内。 查询出TopN的相似节点。然后进行返回。 3. 树索引 从下而上构建,上级是下级的总结。每个父节点包含子节点的信息。使用时候可以从父节点开始,或者直接从叶节点开始。 树索引的查询涉及到从根节点的便利。 4. 关键词索引 关键词和节点(LlamaIndex中的Node)之间是N-to-N的连接。 其实就算是标签和节点的关系。 查询的时候就是找查询中的关联关键词。 5. 图索引 有关系结构的索引,使用的时候可以在这个基础上进行二次索引,并且在找到相关节点后,进行相关知识的关联检索。 二、构建和使用索引 documents = SimpleDirectoryReader('data').load_data() index = GPTVectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response=query_engine.query("What did the author do growing up?") print(response) 三、保存和加载索引 索引生成需要调用GPT等模型,保存索引可以多次使用,从加快速度,节省token,降低大模型使用成本 保存索引: index.storage_context.persist() 加载索引: from llama_index import StorageContext, load_index_from_storage storage_context = StorageContext.from_defaults(persist_dir="./storage") indexindex = load_index_from_storage(storage_context)

June 2, 2025

How to Call LLM Model

如何调用一个大模型 OpenAI调用方式 调用大模型一般通过OpenAI API的协议进行调用,更多的还是直接使用SDK,可以很方便的调用。官方的SDK有JS/Python/.net/java/go等。另外,微软也提供了几种语言的SDK兼容OpenAI API和微软云自己的OpenAI服务。此外,还有很多第三方的SDK。 OpenAI API的官方SDK调用方式为: pip install openai from openai import OpenAI client = OpenAI() response = client.responses.create( model="gpt-4.1", input="Write a one-sentence bedtime story about a unicorn." ) print(response.output_text) 流式的访问: from openai import OpenAI client = OpenAI() stream = client.responses.create( model="gpt-4.1", input=[ { "role": "user", "content": "Say 'double bubble bath' ten times fast.", }, ], stream=True, ) for event in stream: print(event) 文件上传: # 1、还可以先上传一个pdf文件,然后使用该文件的引用调用下一个函数。 # 2、或者直接将pdf以base64等方式直接一次调用进行传递。 异步调用:...

June 1, 2025

How to Use Ollama

如何使用Ollama Python访问 conda activate llm_test pip install ollama ollama_test.py import ollama response = ollama.chat(model="llama3.1", messages=[ {"role": "user", "content": "什么是数据治理,和数据管理有什么区别?"}, ]) print(response) $ python ollama_test.py model='llama3.1' created_at='2025-05-21T07:43:26.260998065Z' done=True done_reason='stop' total_duration=3600133750 load_duration=1005090191 prompt_eval_count=23 prompt_eval_duration=104226959 eval_count=96 eval_duration=2489433343 message=Message(role='assistant', content='答:数据治理是一种指挥、协调及控制数据的方式,使得数据能够被有效地生产、使用。它包含了数据质量、安全性、可用性的保证,以及对数据的访问、运算和存储等方面的管理。\n\n不同于传统的数据管理,数据治理更加注重的是数据的全生命周期管理及控制,包括数据的创建、使用、更新、移除等过程。', images=None, tool_calls=None) 容器运行且能访问GPU 安装Nvidia-Container-Tookit curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit // 配置 sudo nvidia-ctk runtime configure --runtime=docker $ cat /etc/docker/daemon....

May 21, 2025

Audio Editor

音频编辑器 Audacity vs Ardour reddit上找了个评价,说ardour功能很强大,但是简单应用audacity更合适。并且ardour只在linux上免费。 于是就装了个audacity,AppImage的包。用它剪切了一段音频,导出声音文件,用起来方便。

May 18, 2025