首页
在线工具
搜索
1
Kuboard与KubeSphere的区别:Kubernetes管理平台对比
2
ShardingSphere使用中的重点问题剖析
3
Flowable工作流引擎源码深度解析
4
用AI生成的原型设计稿效果还可以
5
如何将Virtualbox和VMware虚拟机相互转换
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
Search
标签搜索
Angular
Docker
Phabricator
SpringBoot
Java
Chrome
SpringSecurity
SpringCloud
DDD
Git
Mac
K8S
Kubernetes
ESLint
SSH
高并发
Eclipse
Javascript
Vim
Centos
Jonathan
累计撰写
86
篇文章
累计收到
0
条评论
首页
栏目
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
页面
搜索到
20
篇与
的结果
2025-02-15
记录下cursor的小问题
记录下cursor的小问题 多轮对话经常会有问题,不能只给“继续”需要这样的提示词继续,需要修改文件的全部内容需要更详细的提示词才能不出现这种输出
2025年02月15日
2025-01-18
用AI生成的原型设计稿效果还可以
用AI生成的原型设计稿效果还可以 提示词如下 # 主界面布局 ## 整体结构 - **简洁的双栏式布局**:左侧窄导航栏、右侧宽内容区 - **顶部标题栏**:包含应用图标和最小化/最大化/关闭按钮 - **底部帮助按钮**:提供快速访问支持资源 ## 左侧导航栏 - **垂直排列的四个主要功能图标**:会议、人声、串联、设置(底部为帮助按钮) - **每个图标配有简洁文字标签** - **采用简约图标设计**,突出功能识别度 - **当前选中的功能以高亮状态显示** --- ## 功能区块设计 ### 1. 会议记录区域 #### 文件导航子菜单 - 位于左侧导航栏右侧,展示分类文件夹 - 包含四个主要选项: - **最近文件** - **我的文件** - **收藏文件** - **垃圾箱** - 每个选项配有直观图标,点击后在主内容区显示对应内容 #### 主内容区文件列表 - **顶部功能区**: - **开始录音按钮** - **上传音频按钮** - **搜索框** - **表格式文件列表**,包含列标题: - 名称 - 类型 - 时长 - 创建时间 - 操作 - **空白状态** 显示提示信息和操作建议 - **列表支持排序和筛选功能** --- ### 2. 录音/会议详情视图 - 点击 **"开始录音"** 后转换为录音界面,显示 **波形图和实时转写内容** - **会议详情页面** 分为上下两部分: - **音频控制** - **文本转写** - **按发言人分色显示转写文本** - **右侧工具栏** 提供: - **编辑** - **导出** - **分享功能** --- ## 视觉规范 ### 色彩系统 - **主色**:`#2B5BFF`(品牌蓝) - **辅助色**:`#F5F7FA`(背景灰) - **文字色**: - 主要文字:`#1D2129` - 次要文字:`#4E5969` - 说明文字:`#86909C` - **边框色**:`#E5E6EB` - **分割线**:`#E5E6EB` - **背景色**: - **主背景**:`#FFFFFF` - **次要背景**:`#F5F7FA` ### 字体规范 #### 标题 - **H1**:20px, Medium - **H2**:18px, Medium - **H3**:16px, Medium #### 正文 - **主要文字**:14px, Regular - **次要文字**:13px, Regular - **辅助文字**:12px, Regular --- ### 间距规范 - **内容区块间距**:24px - **组件内部间距**:16px - **文本行高**:1.5 - **图标尺寸**:16px / 20px / 24px ### 阴影效果 - **浅阴影**:`0 2px 4px rgba(0,0,0, 0.05)` - **中阴影**:`0 4px 8px rgba(0,0,0, 0.1)` - **深阴影**:`0 8px 16px rgba(0,0,0, 0.15)` ### 圆角规范 - **大圆角**:8px - **中圆角**:4px - **小圆角**:2px APP的效果也还可以
2025年01月18日
2024-09-24
Langchain 回顾
🚀打造 AI 应用的核心利器 Langchain 是一个专为构建基于大语言模型(LLM)的应用而生的强大工具。它将 LLM、向量数据库、记忆机制、提示模板等模块进行了系统整合,大大简化了复杂 AI 应用的开发流程。本文将结合思维导图,对 Langchain 的核心能力做一个全面回顾,并介绍其生态工具 —— LangSmith,让我们能够对 LLM 应用进行高效调试与评估。 🧠 一、Language Model(语言模型) Langchain 提供了对多种主流 LLM 的集成,包括: OpenAI、ChatGLM、Claude、LLaMA、Qwen 等主流模型 支持封装为 LLM、Chat Model 两种类型 提供如 HumanMessage、SystemMessage、AIMessage 等统一结构,构建清晰上下文 支持 Embedding,集成了 text2vec、openai-embeddings 等方案 🧾 二、Prompt 模块(提示词构建) Langchain 封装了 Prompt 构建、示例选择、输出解析等功能: PromptTemplate:参数化构建提示词模板 ExampleSelector:支持基于语义相似度选择 few-shot 示例 Output Parsers:将 LLM 输出转为结构化数据,如 JSON、列表等 🧠 三、Memory(记忆模块) 用于保存对话历史、构建上下文感知的智能体(Agent)系统: 支持 ConversationBufferMemory、SummaryMemory、VectorStoreMemory 等 能力包括短期记忆(会话)与长期记忆(知识) 📚 四、Index 模块(索引与检索) Langchain 提供完整的 RAG 流程: 文档加载(Document Loaders):支持 txt、PDF、Notion、Web 等 文本切分(Text Splitters):如 RecursiveCharacterTextSplitter 向量数据库(Vector Store):支持 FAISS、Chroma、Weaviate 等 检索器(Retriever):封装 .as_retriever() 进行文档查询 🧪 五、LangSmith:Langchain 应用的调试和评估平台 LangSmith 是 Langchain 官方出品的可视化调试与监控平台,专门用于: 🔍 1. 调试链式调用过程 记录每一步链的调用细节 可视化展示 Prompt 输入、输出及 Token 使用情况 支持逐步调试复杂链(Chain)和 Agent 执行流程 📊 2. 性能评估与对比 定义多个 Prompt 模板进行 A/B 测试 自动记录响应时间、成功率、评分等指标 与 OpenAI Function、Tool 使用情况无缝集成 ☁️ 3. 生产环境监控 监控 Agent 的运行行为、失败重试 接入自定义评分函数,对每次调用进行标注 ✨ 总结一句话: LangChain 让你快速构建 LLM 应用,LangSmith 让你安心上线并优化它。 🧩 六、应用场景示例 聊天机器人 / 客服系统 企业文档问答 / 私人知识库 表单解析 / 结构化信息提取 智能搜索系统(结合向量检索) Prompt 模板测试平台(结合 LangSmith) 一个比较完整的python demo实现 #langsmith 的key #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 import os os.environ['USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' from langchain_community.llms import Ollama from langchain import hub from langchain.agents import create_openai_functions_agent from langchain.agents import AgentExecutor from langchain_core.messages import HumanMessage, AIMessage from langchain_community.vectorstores import FAISS from langchain_community.document_loaders import WebBaseLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain.tools.retriever import create_retriever_tool from langchain_community.tools.tavily_search import TavilySearchResults from langchain_ollama import OllamaEmbeddings from langchain_ollama import OllamaLLM # from langchain.pydantic_v1 import BaseModel, Field from pydantic import BaseModel, Field from fastapi import FastAPI from typing import List from langserve import add_routes from langchain_core.messages import BaseMessage ### 1.加载检索器 loader = WebBaseLoader("https://docs.smith.langchain.com/user_guide") docs = loader.load() text_splitter = RecursiveCharacterTextSplitter() documents = text_splitter.split_documents(docs) embeddings = OllamaEmbeddings(base_url="http://172.16.1.27:11434", model="nomic-embed-text:latest") vector = FAISS.from_documents(docs,embeddings) retriever = vector.as_retriever() ### 2. 创建工具 retriever_tool = create_retriever_tool( retriever, "langsmith_search", "搜索与LangSmith相关的信息。有关LangSmith的任何问题,您必须使用此工具!", ) search = TavilySearchResults() tools = [retriever_tool, search] ### 3.创建代理人 # 加载模型 llama = OllamaLLM(model="llama3.2-vision:latest",base_url="http://172.16.1.27:11434") # 获取要使用的提示 - 您可以修改此提示! prompt = hub.pull("hwchase17/openai-functions-agent") agent = create_openai_functions_agent(llama, tools, prompt) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) # 4. 应用程序定义 app = FastAPI( title="LangChain服务器", version="1.0", description="使用LangChain的可运行接口的简单API服务器", ) # 5. 添加链路由 class Input(BaseModel): input: str chat_history: List[BaseMessage] = Field( ..., extra={"widget": {"type": "chat","input":"location"}}, ) class Output(BaseModel): output: str add_routes(app, agent_executor.with_types(input_type=Input, output_type=Output), path="/agent") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="localhost", port=8000) 🧷 七、总结 Langchain 是构建大模型应用的主干框架,围绕核心模块 —— Prompt、Memory、Index、LLM,打通了从数据到生成的全链路。而 LangSmith 则作为配套工具,填补了 调试、测试、监控 的空白,帮助我们更好地构建可信的 AI 应用。 好的!既然你希望对比 Langchain + LangSmith 与其它技术方案,那我们可以从几个维度来做一个 横向对比分析,让你的博客不仅回顾 Langchain,还凸显它的优势和适用场景。 🧭 Langchain 与其他 LLM 应用框架的对比分析 在构建 LLM 应用时,除了 Langchain,还有不少热门的框架和工具,比如: 框架名称 核心特点 是否组件化 是否支持 Agent 调试能力 主打场景 Langchain 模块化封装 Prompt、Memory、索引、Agent ✅ ✅ ✅(搭配 LangSmith) RAG、ChatBot、Agent LlamaIndex 强调数据索引能力,集成多种文档加载/拆分方式 ✅ ⚠️(基础 Agent 支持) ❌ 文档问答、知识库 Haystack 企业级搜索和问答,支持自定义 Pipeline ✅ ✅ ✅(较重配置) 企业内部搜索、QA Autogen (MS) 多 Agent 协作框架,适合任务分工 ⚠️(较弱) ✅(核心) ❌(需配合日志) Agent 协作系统 Flowise 可视化 Langchain,拖拽式搭建 ✅(UI) ✅(底层用 Langchain) ✅(UI可视化) 快速原型、低代码 🔍 详细维度分析 1. 开发体验 对比项 Langchain LlamaIndex Haystack Autogen Flowise 上手难度 中(模块较多) 低(专注文档检索) 中高(配置多) 高(偏研究) 低(拖拽) 模块化 ✅ ✅ ✅ ⚠️ ✅ 类型支持 文档问答、对话、Agent 文档问答 QA Pipeline 多智能体任务 Chat/RAG 📌 如果你要构建复杂的 AI 应用,Langchain 的模块化设计 + LangSmith 调试工具,开发体验更全面。 2. 文档问答能力(RAG 架构支持) 对比项 Langchain LlamaIndex Haystack 向量索引支持 ✅(多种 VectorStore) ✅ ✅ 文档加载丰富度 ✅ ✅ ✅ 拆分策略 丰富(Recursive、Token等) 丰富 主要基于段落 多源融合 ✅ ✅ ✅ 检索方式灵活性 高(自定义 Retriever) 中 中 📌 Langchain 与 LlamaIndex 都支持强大的 RAG,Langchain 更适合自定义 Agent 与对话流整合。 3. Agent 能力对比 对比项 Langchain Agent Autogen Haystack 多工具调用 ✅ ✅ ✅(较少) 工具链整合 ✅(Tool/Toolkits) ✅(需自建 Tool) ⚠️ 多 Agent 协作 ✅(Router Chain) ✅(核心能力) ❌ 日志追踪 ✅(配合 LangSmith) ❌ ✅(基本) 📌 如果你是搞 Agent 系统的,Autogen 适合多智能体协作研究,但 Langchain 更适合落地和定制。 4. 调试与监控(LangSmith 优势突显) 框架 是否支持可视化调试 是否支持运行监控 自定义评分支持 是否 SaaS 服务 Langchain + LangSmith ✅ ✅ ✅ ✅(LangSmith 平台) LlamaIndex ❌ ❌ ❌ ❌ Haystack 部分 部分 需手动配置 ❌ Autogen ❌(手工打印) ❌ ❌ ❌ 📌 LangSmith 是目前 最适合 LLM 应用调试的可视化平台,对链条调用非常透明。 ✅ 总结:我该选谁? 你想快速构建实用型 AI 应用(问答、客服、Agent):用 Langchain + LangSmith 你只想搞定文档问答系统:可以考虑 LlamaIndex 你有企业级搜索需求:考虑 Haystack 你研究智能体协作:玩玩 Autogen 你是产品经理或低代码开发者:试试 Flowise
2024年09月24日
2024-07-19
ComfyUI 使用笔记
ComfyUI 使用笔记 Reactor 换脸 ComfyUI-GIMM-VFI节点运行异常问题解决 节点用的是旧版本的torch的sdk,报这个错,作者还未修改 AttributeError: module 'torch.amp' has no attribute 'custom_fwd' 需要修改节点代码目录ComfyUI-GIMM-VFI\gimmvfi\generalizable_INR\modules\softsplat.py文件的第361行改成如下 @torch.cuda.amp.custom_fwd(cast_inputs=torch.float32) 和452行改成 @torch.cuda.amp.custom_bwd 安装CLIPSeg 报错 ## install failed: With the current security level configuration, only custom nodes from the **"default channel"** can be installed. 解决方式: 更新ComfyUI-Manager插件即可 参考https://github.com/comfyanonymous/ComfyUI_TensorRT/issues/6 缺少EG_CYQ_JB节点 进入custom_nodes节点目录,执行 git clone https://github.com/11dogzi/Comfyui-ergouzi-DGNJD.git 手动拉去插件 参考https://openart.ai/workflows/tdlong189/flux-and-sd15-anime-to-real-photo/OMN6addlGc9qiSgaDsj5 命令行下载 huggingface-cli download black-forest-labs/FLUX.1-Depth-dev-lora --include "*.safetensors" --local-dir flux_comfyui --token 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 使用OmniGen报异常 RuntimeError: Failed to import OmniGen. Please check if the code was downloaded correctly. 解决: A:\ComfyUI_windows_portable\python_embeded\python.exe" -m pip uninstall diffusers A:\ComfyUI_windows_portable\python_embeded\python.exe" -m pip install diffusers==0.30.3 A:\ComfyUI_windows_portable\python_embeded\python.exe" -m pip install peft==0.13.2 python.exe -m pip install timm -i https://pypi.tuna.tsinghua.edu.cn/simple https://github.com/AIFSH/OmniGen-ComfyUI/issues 安装 error: command 'cl.exe' failed: None [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for insightface 解决方式: 安装vs2022 配置环境 一、在哪里配置 配置的地方呢就是在 控制面板的用户账户里面的用户账户,话不多说,上图! 1).打开控制面板 2).找到用户账户 3).找到更改我的环境变量 4).最终路径 二、开始配置 1)、总体步骤 总体步骤是:首先path里面添加路径,然后新建include变量添加相关路径,接着新建bin变量添加相关路径,最后点击确定添加完成! 2)、配置步骤 1.Path变量的操作 先在 ***的用户变量 里面找到 Path; 然后双击或者点击编辑; 接着找到自己的Visual Studio的安装路径(桌面图标,右键,打开文件所在位置,然后找到主路径,如图) 这是打开文件所在位置后定位到的路径: D:\Visual Studio\Program Files\2022\Community\Common7\IDE 在IDE文件夹里面,devenv.exe就是我们的IDE软件, 接下来下一步,找到主路径,往上走两个文件夹,定位到 D:\Visual Studio\Program Files\2022\Community Community是我安装的Visuai Studio版本为社区版,如果是专业版就应该是Professional文件夹, 前面的 D:\Visual Studio\Program Files\2022只是我安装的路径,这就是为什么使用打开文件所在位置来定位文件路径,这样的话可以避免大家的安装位置不一样而导致这个教程不适用,一般来说无论安装在哪里,都会有一个Community或者Professional又或者Enterprise文件夹; 然后一次点击文件夹VC、Tools、MSVC、14.31.31103、bin、Hostx64、x64,定位到路径: D:\Visual Studio\Program Files\2022\Community\VC\Tools\MSVC\14.31.31103\bin\Hostx64\x64 注意文件夹14.31.31103大家的可能会不一样,但是没关系,都是一串数字,然后将下图蓝色的文件路径复制到粘贴板; 最后回到环境变量双击Path的界面,点击新建,输入复制的文件路径,回车,确认即可,如图: 2.include变量操作 先寻找文件路径,还是刚才的D:\Visual Studio\Program Files\2022\Community路径,接下来 依次点击VC、Tools、MSVC、14.31.31103、include文件夹,定位到 D:\Visual Studio\Program Files\2022\Community\VC\Tools\MSVC\14.31.31103\include 这个路径,注意14.31.31103还是会不一样,但是仍旧是一串数字的那个文件夹, 然后在用户变量里面新建环境变量,把上面的路径输入,在后面加上冒号;(英文输入法,下同) D:\Visual Studio\Program Files\2022\Community\VC\Tools\MSVC\14.31.31103\include 然后定位到 Windows Kits 文件夹,如果你把应用装在D盘,你就会在D盘找到D:\Windows Kits路径,而如果你的应用在C盘那就再路径C:\Program Files (x86)会有一个Windows Kits文件夹,这里以路径D:\Windows Kits为例,找到路径D:\Windows Kits\10\Include\10.0.19041.0,将文件夹10.0.19041.0里面的cppwinr和shared和ucrt和um和winrt五个文件夹的路径依次添加到刚刚新建的INCLUDE环境变量下, D:\Windows Kits\10\Include\10.0.19041.0\cppwinr D:\Windows Kits\10\Include\10.0.19041.0\shared D:\Windows Kits\10\Include\10.0.19041.0\ucrt D:\Windows Kits\10\Include\10.0.19041.0\um D:\Windows Kits\10\Include\10.0.19041.0\winrt 所有的路径如下,总共是6个 (注意路径之间的分号)如下图: 点击确定后双击INCLUDE查看如下图: 点击确定就完成了include的环境变量配置; 3.lib环境变量配置 同样,再建一个LIB环境变量,还是先寻找文件路径,而且还是刚才的D:\Visual Studio\Program Files\2022\Community路径,接下来 依次点击VC、Tools、MSVC、14.31.31103、lib文件夹,定位到D:\Visual Studio\Program Files\2022\Community\VC\Tools\MSVC\14.31.31103\lib\x64路径,注意14.31.31103还是会不一样,但是仍旧是一串数字的那个文件夹,然后在用户变量里面新建环境变量,把上面的路径输入,在后面加上冒号(英文输入法下的冒号 ; ) 然后定位到 Windows Kits 文件夹,如果你把应用装在D盘,你就会在D盘找到D:\Windows Kits路径,而如果你的应用在C盘那就再路径C:\Program Files (x86)会有一个Windows Kits文件夹,这里以路径D:\Windows Kits为例,找到路径D:\Windows Kits\10\Include\10.0.19041.0,将文件夹10.0.19041.0里面的ucrt和ucrt_enclave和um三个文件夹下面的x64文件夹路径依次添加到新建的LIB环境变量里面, D:\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64 D:\Windows Kits\10\Lib\10.0.19041.0\ucrt_enclave\x64 D:\Windows Kits\10\Lib\10.0.19041.0\um\x64 注意路径间的分号,然后点击确定,查看如下图: 到此为止,建立完毕,点击确定完成环境变量的配置! win+r输入cmd打开命令提示符窗口,输入cl,出现下图则配置成功, 三、测试 在桌面右键创建一个txt文本文件,修改名称为test.c(.c是后缀),就得到一个C格式文件,双击打开,写入代码: #include <stdio.h> #include <stdlib.h> int main() { printf("hello world!"); return 0; } 保存 win+r输入cmd打开命令提示符窗口,输入cd desktop定位到test.c所在的桌面路径, 输入cl /EHsc test.c,回车,会生成.obj文件和.exe可执行文件: 接着输入test就会生成打印 hello world! 测试完毕! 参考https://blog.csdn.net/2301_79301617/article/details/134175538 参考https://blog.csdn.net/en_Wency/article/details/124767742 视频嘴型同步 视频帧率有要求 语音频率有要求 原生版本节点依赖安装 python.exe -m pip install f5_tts -i https://pypi.tuna.tsinghua.edu.cn/simple 模型国内源配置 这里我会针对ComfyUI讲一种简单的方法,修改python库huggingface_hub。以下是具体操作步骤: 在 python_embeded\Lib\site-packages\huggingface_hub 目录下,找到__init__.py文件,右键点击编辑打开它,在最后一行加上 os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' 然后保存文件即可!
2024年07月19日
2024-05-18
Typora+Picgo图床使用
Typora+Picgo图床使用 md文档使用时,文件或者图片经常存在本地,Picgo就是为了解决图片便捷的传到公网上便于访问。 安装Picgo软件并安装。 下一步依次安装即可 安装完打开 安装gitee插件 搜索gitee记住一定要选择gitee-uploader 配置图床设置,首先配置SM.MS图床,不配置的话,gitee插件将无法使用,这是该版本bug 配置token token:ZBWDRhXv3ahMQKnRuOEsAOht8LU5K 配置gitee插件 图床配置名:Default repo:jonath/pic branch:master token:532620711111111339a4c6653 path:img 点击确定 将gitee设置为默认图床 设置Typora 打开文件->偏好设置 进行设置
2024年05月18日
1
2
...
4