使用本地大模型调用代码,根本就是一场骗局!
通过大模型调用其他工具到底可不可行?ChatGPT 或许能轻松搞定一切,但同样的需求落在本地大模型上,恐怕就要打个问号了。
法国开发工程师 Emilien Lancelot 尝试了多款号称具备工具调用功能的 agent 框架,来看看本地大模型到底能不能完成任务,但结果就像他总结的“一无所获”。是什么让这位工程师失望了?
用 AutoGPT,得会点“糊弄学”
AutoGPT 是款貌似强大的框架,提供很酷的 CLI 外加 Flutter UI,能够通过浏览器创建 agent。其主要功能是处理用户的文档、音频、视频等本地内容。
但是……它主要依靠 ChatGPT 或其他专有大模型服务来完成繁重工作,至少给我们的感觉是如此。
我们必须“唬弄”AutoGPT 才能使用 Ollama 端点,让其误认为是 ChatGPT。
## OPENAI_API_KEY - OpenAI API Key (Example: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
OPENAI_API_KEY="helloworld"...## OPENAI_API_BASE_URL - OpenAI API 的自定义 URL,可用于接入自定义后端。如果 USE_AZURE 为 true 则无效,注意留空以保留默认 url。
# 以下为示例内容:
OPENAI_API_BASE_URL=http://localhost:11434/v1...## SMART_LLM - 智能语言模型 (Default: gpt-4-turbo)
SMART_LLM=dolphin-mixtral:8x7b-v2.7-q4_K_M## FAST_LLM - 快速语言模型 (Default: gpt-3.5-turbo)
FAST_LLM=mistral:latest
这样应该可以解决问题:
./autogpt.sh runvalue is not a valid enumeration member; permitted: 'text-embedding-ada-002', 'text-embedding-3-small', 'text-embedding-3-large', 'gpt-3.5-turbo-0301', 'gpt-3.5-turbo-0613', 'gpt-3.5-turbo-16k-0613', 'gpt-3.5-turbo-1106', 'gpt-3.5-turbo-0125', 'gpt-3.5-turbo', 'gpt-3.5-turbo-16k', 'gpt-4-0314', 'gpt-4-32k-0314', 'gpt-4-0613', 'gpt-4-32k-0613', 'gpt-4-1106-preview', 'gpt-4-1106-vision-preview', 'gpt-4-0125-preview', 'gpt-4-turbo-2024-04-09', 'gpt-4', 'gpt-4-32k', 'gpt-4-turbo', 'gpt-4-turbo-preview', 'gpt-4-vision-preview' (type=type_error.enum; enum_values=[<OpenAIModelName.EMBEDDING_v2: 'text-embedding-ada-002'>, <OpenAIModelName.EMBEDDING_v3_S: 'text-embedding-3-small'>, <OpenAIModelName.EMBEDDING_v3_L: 'text-embedding-3-large'>, <OpenAIModelName.GPT3_v1: 'gpt-3.5-turbo-0301'>, <OpenAIModelName.GPT3_v2: 'gpt-3.5-turbo-0613'>, <OpenAIModelName.GPT3_v2_16k: 'gpt-3.5-turbo-16k-0613'>, <OpenAIModelName.GPT3_v3: 'gpt-3.5-turbo-1106'>, <OpenAIModelName.GPT3_v4: 'gpt-3.5-turbo-0125'>, <OpenAIModelName.GPT3_ROLLING: 'gpt-3.5-turbo'>, <OpenAIModelName.GPT3_ROLLING_16k: 'gpt-3.5-turbo-16k'>, <OpenAIModelName.GPT4_v1: 'gpt-4-0314'>, <OpenAIModelName.GPT4_v1_32k: 'gpt-4-32k-0314'>, <OpenAIModelName.GPT4_v2: 'gpt-4-0613'>, <OpenAIModelName.GPT4_v2_32k: 'gpt-4-32k-0613'>, <OpenAIModelName.GPT4_v3: 'gpt-4-1106-preview'>, <OpenAIModelName.GPT4_v3_VISION: 'gpt-4-1106-vision-preview'>, <OpenAIModelName.GPT4_v4: 'gpt-4-0125-preview'>, <OpenAIModelName.GPT4_v5: 'gpt-4-turbo-2024-04-09'>, <OpenAIModelName.GPT4_ROLLING: 'gpt-4'>, <OpenAIModelName.GPT4_ROLLING_32k: 'gpt-4-32k'>, <OpenAIModelName.GPT4_TURBO: 'gpt-4-turbo'>, <OpenAIModelName.GPT4_TURBO_PREVIEW: 'gpt-4-turbo-preview'>, <OpenAIModelName.GPT4_VISION: 'gpt-4-vision-preview'>])
看来没那么好唬弄,模型名称要求必须为专有名称,例如“GPT4-turbo”或者以上列表中包含的其他名称。遗憾的是,我的模型命名不在其中。
现在看看能不能“伪造”一个合规模型名称,这里将名称设置为“GPT4-turbo”并再次运行。
./autogpt.sh run
2024-05-19 16:03:01,937 ERROR Invalid OpenAI API key! Please set your OpenAI API key in .env or as an environment variable.
2024-05-19 16:03:01,938 INFO You can get your key from https://platform.openai.com/account/api-keys
这回我的 API key 没能过关。我尝试了多种不同 key,但仍然无法再进一步。
*项目链接:*https://github.com/Significant-Gravitas/AutoGPT
不过,奇怪的是,必要的配置文件设置现在显示“404”了。
实验小结
要想解决模型名称问题,我们可以在 Ollama 当中创建一个名为 GPT4-turbo 的自定义模型,但模型内容实际可以是任意本地模型。这单纯是在用重命名的方式唬弄 AutoGPT,但却无法解决 API key 错误。
另外需要强调的是,似乎可以在 AutoGPT 上照搬 OpenAI 模型提供的文件并删除所有不合规部分,但我不确定具体该怎么操作。
网上的相关文件*(https://github.com/Significant-Gravitas/AutoGPT/issues/6336#issuecomment-2119252849)*没有介绍使用本地模型的任何内容,也没有提到如何调用工具。
总之,我认为 AutoGPT 恐怕还没有准备好对接本地模型,只能等后续升级之后再做本地化应用尝试。
此外,网友 Wladastic 也在使用后评价道,“我没有任何本地模型可以完全与 Auto-GPT 配合使用,因为 GPT-4 可以保持上下文长度而不会过于关注它,但其他有效的模型确实过于关注给予 LLM 的提示。”
Wladastic 解释道,“我让它与 Mistral 7B AWQ、neural chat v3 AWQ 和其他模型一起运行。唯一的问题是,我必须从头开始编写自己的 Auto-GPT,因为 Auto-GPT 的提示对于本地 llms 来说太长且混乱。”
“它们有时会返回正确的提示,但有时会通过 Auto-GPT 专注于系统提示,因此它们会以“Hello,我正在使用命令 ask_user 与用户交谈,这是正确的吗?”,然后它会说“Hello,我能如何帮助你?”,大约 100 次,直到我取消它。”Wladastic 说道。
Wladastic 表示,“我目前使用 oobabooga text-generation-webui 的用例在添加 JSON 语法时效果最好。然后,它只能在非常基本的提示符和只有几个命令的情况下工作,否则它会不断生成新的命令,并开始产生幻觉、同时响应多个命令等等。”
太复杂的 LangChain
自从生成式 AI 浪潮爆发以来,Langchain 已经成为诸多项目的核心。而它之所以还没有成为客观标准,原因可能在于它的语法太过复杂,很多开发者没时间去学习和适应。
Langchain 提供的是一种相当晦涩的 Python 功能使用方式,很多经验丰富的开发者恐怕都弄不明白。举例来说:
chain = prompt | model | outputparser
chain.invoke("Question.")
Python 的 LCEL 系统使用 pipes(「|」)将事物串连起来。具体在 Python 之内,就是通过覆盖 Python 的 or 方法来实现。换句话说,Langchain 会像在 C++ 那些覆盖掉运算符。
但我们真有必要这么折腾吗?这就留待各位自行判断了……
现在说说本地模型。
Langchain 提供 2 款插件:
- Ollama chat: 允许用户与大模型对话。
- Ollama-functions: 允许大模型通过特定输出格式回答问题。例如,假设我们希望自己的大模型以 JSON 或者 YAML 形式作答,则可定义自己期望的格式类型、键和值类型。
另外请注意“函数调用”功能!这纯纯就是 OpenAI 的恶搞,千万别被功能名称给蒙蔽了!它并不像大家想象中那样以“使用工具”的方式调用函数,而只是对大模型的输出做格式调整。
那么,工具调用(即在本地执行真实代码)到底可不可行?这个嘛……Ollama 插件不提供这项功能……
这项操作的运行输出为:
ChatOllama doesn't have a method bind_tools()
可以确定它办不到,咱们又被耍了……
实验小结
必须承认,我感觉有点失望。因为这套框架在为 CrewAI 等许多其他框架提供支持,所以我本以为它能跟本地工具良好集成。但事实证明,它做得并不好,这个复杂的烂摊子同样没办法帮我们解决核心需求。
缺少工具支持的 Rivet
靠谱的选手终于来了!虽然 Rivet 还很年轻,但前景光明、未来可期。
Rivet 用于创建复杂的 AI 代理和提示链,它是某种用于跟大模型交互的 IDE,使用画布创建执行图(DAG)。Rivet 能够在浏览器中运行,同时允许用户导出 DAG 并作为代码运行以增强软件功能。
Rivet 目前支持的大模型有:GPT-3.5、GPT-4、Claude 2、 Claude 3 系列、用于语音数据的 AssemblyAI LeMUR 框架等。
大伙看看,这界面太酷了,Rivet 还提供 Ollama 插件以支持本地使用。
请注意单击右上角的三个点并将执行器更改为“节点”,否则可能无法运行。
遗憾的是,我没有找到调用自定义工具的方法,而且 Rivet 的项目文档也不够完备。这个项目显然还需要进一步更新,但强烈建议大家关注。
实验总结
这软件很酷,免费而且开源。我喜欢它的画面系统设计,用起来感觉就像做对了的 LangGraph。
要让它真正发挥作用,还得配合工具调用。但如果各位已经拥有 ChatGPT 账户,那还犹豫什么,赶紧把 Rivet 用起来。
让人看不懂教程的 AutoGen
作为本份榜单中表现最好的方案之一,AutoGen 微软公司开源的多智能体(Mutiple Agents)应用开发框架,多智能体应用让不同的 Agent 之间相互交流沟通来解决问题。
我已经按说明走完了教程,必须承认……其中大部分步骤我都没搞明白!刚开始几页还可以,但情况很快陷入失控,我可能得借助 AI agent 框架才能理解这一切到底是怎么起效的。
但 Autogen 确实具备我们需要的一切,而且开箱即用支持 Ollama:
在我看来,Autogen 最棒的特性包括:
- 动态生成代码并执行;
- 调用工具(即调用我们的代码);
- 支持人工输入。
但工具调用真能起效吗?
还是不行……必须调用大模型的 OpenAI 兼容工具才能实现这项功能,所以 Ollama + Mistral 的理想终究只是理想。但是,Autogen 的代码生成和执行功能都运行良好。另外需要注意,它不支持调用 LangChain 工具。
可供使用的聊天机制
- 双模型聊天模式:允许两个大模型相互对话以完成任务
- 按序对话:任务将按照您指定的顺序进行评估。
这就有点复杂了。涉及多轮对话中积累的上下文延续机制,的确是个难以理解的概念。为什么每项任务仍然表现成两个 agent 之间的对话?为什么是 A 对 B、A 对 C、A 对 D 和 A 对 E?为什么永远是从 A 开始?我实在是整不明白。
- 群组对话:彻底无法理解了……
看这意思,好像是某个 agent 充当主脑,在其他各 agent 之间建立了某种层次结构。这个概念可能很有吸引力,但文档示例实在起不到帮助理解的作用。
它还支持最新的提示工程方式,例如:
- ReAct:允许拆分操作并制定计划。之后它会尝试执行各个步骤,一旦出现问题,则会制定新的计划并重新开始。通过这样的方式,即可创建对于大模型具备语义含义的上下文,并帮助其专注于当前需要解决的任务。
- Reflection:跟 ReAct 有点类似,但强调的是自己的输出。在“说话”之后,它会问自己“这个结果对吗?”而且自我迭代似乎确能提升答案质量。
与往常一样,所谓提升答案质量也就是减少幻觉,这正是当前困扰大语言模型的核心问题。
如果各位不想被代码吞没,也可以尝试下载 AutoGenStudio 软件,它能在不编写任何代码的前提下完成 agent 定义。这是一款有趣的软件,但并不能帮助我们真正掌握框架的核心功能。
实验小结
AutoGen 显然有着光明的未来。但因为是由微软开发而成,我们唯一担心的就是它可能会被最终抛弃、或者成为仅限跟 OpenAI 搭配使用的软件。
但哪怕是它,也仍然实现不了本地大模型的工具调用功能。😦
要写大量提示词的 CrewAI
另一款出色的软件。CrewAI 是一款用于协调角色扮演、自主 AI 代理的框架。通过促进协作智能,CrewAI 使代理能够无缝协作,解决复杂的任务。
但除了文档不错、框架简单之外,CrewAI 也有自己的问题。
先来看优点:
- 支持 Ollama;
- 支持 LangChain 工具调用;
- 支持自定义工具调用;
- 支持人工输入。
坏的一面:
- 工具调用仍然无法起效;
- 人工输入有时无法触发;
- 一致性差、无限循环;
- Bug 频出;
- 需要编写的提示词太多。
可供选择的聊天机制
这里提供“按序”和“分层”两种选项。按序允许大模型按照我们指定的顺序完成任务;而分层则是创建一个幽灵 agent,由该 agent 自动决定应该根据描述触发哪个 agent。
分层设计其实想法挺好,可问题是它在寻找协作 agent 的过程中老是出错,会让人快速失去耐心。
这套框架提供三种使用模式:
第一,你已经拥有 agent,则可使用以下提示词将其绑定:
- 角色:该 agent 的职能定位
- 目标:该 agent 在团队中需要做什么
- 背景故事:该 agent 的来历……
第二是在提示词中描述任务:
- 描述:应该执行什么任务
- 预期输出:该任务的预期输出
最后是工具:可以将工具绑定至 agent 以实现功能。但出于某种考虑,此框架也支持将工具绑定至任务……但我觉得好像没什么意义。
我喜欢使用 @tool 装饰符。这里只需传递一条工具描述字符串,大模型就能知道是否需要使用。
总而言之,这个过程需要编写大量提示词,很容易把人搞得晕头转向。
比如说这条提示词属于任务还是 agent?这个工具是属于 agent 甲还是 agent 乙?或者说要不要把工具绑定至任务本身?问题很多,答案却非常有限,因为 CrewAI 的说明文档很不完备!
实验小结
如果大家想要各 agent 之间能相互交流,那 CrewAI 确实是个简单的框架。它速度快、设计简洁,唯一的问题就是需要编写大量提示词。但它也没办法实现工具调用,所以我们的实验目标仍然没能解决。
另外,CrewAI 的一致性相当差,我们经常会看到 agent 陷入无限循环。
相信很多朋友都注意到,最近 YouTube 上出现了很多看似热门、但实际上没什么帮助的视频。不少 YouTube 用户都发布了关于 agent 框架的视频,浅浅讨论一下 AI 趋势和如何制作糟糕的 RAG 系统。之所以帮助不大,就是因为现在我们还无法调用本地工具,有限的选项全都集中在 ChatGPT、Grok 或者 Claude 身上。
总 结
一无所获!
老实说,现在我们真的需要一种更好的方法,来以较低的成本把大模型整合到自己的应用程序当中。调用工具在特定场景下可行,但仍需要更简单的架构,而且最好能脱离 OpenAI 的复杂格式。
毕竟对于 Phi 这样只能输出文本的小模型,如果无法与我们的应用程序相集成,那它跑在移动设备上还有什么意义呢?
附试验配置:
32 GB 显存的 RTX4090;
使用以下大模型进行测试:
- llama3:8 B
- dolphin-mixtral:8x7b-v2.7-q4_K_M
- mistral:latest
由 Ollama 提供本地支持。
如何学习AI大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
相关文章:
使用本地大模型调用代码,根本就是一场骗局!
通过大模型调用其他工具到底可不可行?ChatGPT 或许能轻松搞定一切,但同样的需求落在本地大模型上,恐怕就要打个问号了。 法国开发工程师 Emilien Lancelot 尝试了多款号称具备工具调用功能的 agent 框架,来看看本地大模型到底能不…...
一些简单却精妙的算法
文章目录 1.树状数组2.红黑树3.星星打分4.欧几里得算法5.快速幂6.并查集 在编程的世界里,简洁的代码往往隐藏着深邃的智慧。一起来看看那些看似简单,实则精妙绝伦的代码片段,体会编程语言的优雅与力量。 1.树状数组 int lowbit(int x) { …...
git多账号使用报错:You don‘t have permissions to push to “xxx/xxxx“ onGitHub. Would
git多账号使用报错:You don’t have permissions to push to “xxx/xxxx” onGitHub. Would 有的时候我们有两个甚至多个git账号(公司的git账号和自己的github),为了不混淆提交,我们需要在提交之前查看自己的git账号必…...
中国电子学会(CEIT)2023年12月真题C语言软件编程等级考试三级(含详细解析答案)
中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试三级 2023年12月 编程题五道 总分:100分一、因子问题(20分) 任给两个正整数N、M,求一个最小的正整数a,使得a和(M-a)都是N的因子。 时间限制: 10000ms 内存限制: 65536kb 输入 包括两个整…...
多线程爬取百度图片
爬取网页图片 import urllib.parse import requests import os import time from concurrent.futures import ThreadPoolExecutorheaders {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0…...
RK3568-修改fiq-debugger调试串口
瑞芯微SDK默认将uart2_m0作为调试串口,以下方法将调试串口修改为uart5_m1。修改bootloader 修改/OK3568-linux-source/rkbin/tools/ddrbin_param.txt文件,5表示串口5。1表示复用m1。执行./ddrbin_tool ddrbin_param.txt ../bin/rk35/rk3568_ddr_1560MHz_v1.11.bin命令修改ub…...
我们离成功有多远呢?只要能完成自己阶段性的目标就算是一次成功
做起一个账号,带好一个团队,经营好一家公司,似乎这些都能叫成功,成功的定义可大可小,而我认为只要能完成自己阶段性的目标就算是一次成功,毕竟每个人学历、背景、阅历、资源、认知都不同,很难同…...
Golang 避坑指南
文章目录 1. Channel 与 Goroutine 泄露1.1 发送不接收1.2 接收不发送1.3 nil channel2. 跳出 for-switch 或 for-select 3.for 迭代变量3.1 闭包中的for迭代变量3.2 for range 迭代变量 4. 循环内的 defer5.defer 函数的参数值6.nil interface 和 nil interface 值7.结构体指针…...
Java核心: JarIndex的使用
在讲解Java类加载器的时候,我们发现URLClassLoader加载类或资源时通过访问ClassPath下的每一个路径,来确定类是否存在的,假设我们执行的命令是这样的 java -classpath D:\DiveInSpring\target\classes;C:\lib\spring-expression.jar;C:\lib\…...
1052 卖个萌(测试点1,2)
solution 想要输出\需要用\\才能输出,即 cout << "Are you kidding me? \\/" << endl;测试点1,2:输入序号小于1的非法情况 #include<iostream> #include<string> #include<map> using namespace…...
Vue 3与ESLint、Prettier:构建规范化的前端开发环境
title: Vue 3与ESLint、Prettier:构建规范化的前端开发环境 date: 2024/6/11 updated: 2024/6/11 publisher: cmdragon excerpt: 这篇文章介绍了如何在Vue 3项目中配置ESLint和Prettier以统一代码风格,实现代码规范性与可读性的提升。通过设置规则、解…...
npm安装依赖过慢
今天在使用npm安装taro框架的依赖时,速度慢到吐血,使用了淘宝镜像源依然很慢,安装一个多小时没反应,最后清理了缓存再次安装速度就快很多了,因此解决方法大致有两种: 使用淘宝镜像源 原域名: ht…...
计算机毕业设计 | SpringBoot+vue的教务管理系统
1,绪论 1.1 项目背景 在这个资讯高度发展的时代,资讯管理变革已经是一个更为宽泛、更为全面的潮流。为了保证中国的可持续发展,随着信息化技术的不断进步,教务管理体系也在不断完善。与此同时,伴随着信息化的飞速发展…...
深入探索深度学习的验证集:必要还是可选?
深入探索深度学习的验证集:必要还是可选? 在深度学习项目的设计和实施过程中,数据通常被划分为训练集、测试集,以及有时的验证集。尽管在一些研究中,我们可能看到只有训练集和测试集被使用,验证集的作用及…...
初识C++ · 反向迭代器简介
目录 前言 反向迭代器的实现 前言 继模拟实现了list和vector之后,我们对迭代器的印象也是加深了许多,但是我们实现的都是正向迭代器,还没有实现反向迭代器,那么为什么迟迟不实现呢?因为难吗?实际上还好。…...
fastapi学习前置知识点
前置知识点 FastApi:一个用于构建API的现代、快速(高性能)的web框架。 FastApi是建立在Pydantic和Starlette基础上,Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工具包…...
机器学习常见知识点 1:Baggin集成学习技术和随机森林
文章目录 1、集成学习a.BaggingBagging的工作原理1. 自助采样(Bootstrap Sampling)2. 训练多个基学习器3. 聚合预测 Bagging的优点Bagging的缺点应用场景 b.Boosting 2、决策树3、随机森林随机森林的核心概念1. 集成学习2. 决策树 构建随机森林的步骤1. …...
容器(Docker)安装
centos安装Docker sudo yum remove docker* sudo yum install -y yum-utils#配置docker的yum地址 sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#安装指定版本 - 可以根据实际安装版本 sudo yum install -y docke…...
前端JS必用工具【js-tool-big-box】学习,获取当前浏览器向上滚动还是向下滚动,获取当前距离顶部和底部的距离
这一小节,我们说一下 js-tool-big-box 添加的最新工具方法,在日常前端开发工作中,如果网页很长,我们就需要获取当前浏览器是在向上滚动,还是向下滚动。如果向上滚动,滚动到0的时候呢,需要做一些…...
【python】flask 框架
python flask 框架 flask是一个轻量级的python后端框架 (Django, tornado, flask) 官网:欢迎来到 Flask 的世界 — Flask中文文档(3.0.x) 安装:pip install Flask -i https://pypi.douban.com 常识: http,默认端口号为80; https,默认端口号…...
Word中插入Mathtype右编号,调整公式与编号的位置
当你已经将mathtype内置于word后,可以使用右编号快速插入公式 但是往往会出现公式和编号出现的位置或之间的距离不合适 比如我在双栏下插入公式,会发现插入的公式与编号是适用于单栏的 解决办法: 开始->样式->MTDisplayLquation -&g…...
基于【Lama Cleaner】一键秒去水印,轻松移除不想要的内容!
一、项目背景 革命性的AI图像编辑技术,让您的图片焕然一新!无论水印、logo、不想要的人物或物体,都能被神奇地移除,只留下纯净的画面。操作简单,效果出众,给你全新的视觉体验。开启图像编辑新纪元,尽在掌控! 利用去水印开源工具Lama Cleaner对照片中"杂质"进行去除…...
VMware Workstation Ubuntu server 24 (Linux) 磁盘扩容 挂载硬盘
1 Ubuntu server 关机,新增加磁盘 2 启动ubuntu虚拟机,分区和挂载磁盘 sudo fdisk /dev/sdb #查看磁盘UUID sudo blkid #创建挂载目录 sudo mkdir /mnt/data # sudo vi /etc/fstab /dev/disk/by-uuid/0b440ed0-b28b-4756-beeb-10c585e3d101 /mnt/data ext4 defaults 0 1 #加…...
表的设计与查询
目录 一、表的设计 1.第一范式(一对一) 定义: 示例: 2.第二范式(一对多) 定义: 要求: 示例: 3.第三范式(多对多) 定义: 要求…...
【react】如何合理使用useEffect
useEffect 是 React Hooks API 的一部分,它允许你在函数组件中执行副作用操作,比如数据获取、订阅或者手动更改 DOM。合理使用 useEffect 可以帮助你管理组件的生命周期行为,同时避免不必要的渲染和性能问题。以下是一些关于如何合理使用 useEffect 的建议: 明确依赖项: 当…...
计算机专业英语Computer English
计算机专业英语 Computer English 高等学校计算机英语教材 Contents 目录 Part One Computer hardware and software 计算机硬件和软件----------盖金曙 生家峰 Unit 1 the History of Computers计算机的历史 Unit 2 Computer System计算机系统 Unit 3 Di…...
目前比较好用的LabVIEW架构及其选择
LabVIEW提供了多种架构供开发者选择,以满足不同类型项目的需求。选择合适的架构不仅可以提高开发效率,还能确保项目的稳定性和可维护性。本文将介绍几种常用的LabVIEW架构,并根据不同项目需求和个人习惯提供选择建议。 常用LabVIEW架构 1. …...
CSS之块浮动
在盒子模型的基础上就可以对网页进行设计 不知道盒子模型的可以看前面关于盒子模型的内容 而普通的网页设计具有一定的原始规律,这个原始规律就是文档流 文档流 标签在网页二维平面内默认的一种排序方式,块级标签不管怎么设置都会占一行,而同一行不能放置两个块级标签 行级…...
探索GPT-4V在学术领域的应用——无需编程即可阅读和理解科学论文
1. 概述 论文地址:https://arxiv.org/pdf/2312.05468.pdf 随着人工智能潜力的不断扩大,人工智能(AI)在化学领域的应用也在迅速发展。特别是大规模语言模型的出现,极大地扩展了人工智能在化学研究中的作用。由于这些模…...
耐用充电宝有哪些?优质充电宝到底选哪个?良心推荐!
在电量即生产力的现今时代,如何为移动设备寻找一位最佳的伴侣呢?一款耐用、优质的充电宝无疑是你的不二之选。今天我们将带您揭开市场隐藏的一面,揭示哪些充电宝品牌真正代表了耐用与品质的标杆。让我们一起深入了解并选购最适合自己的充电宝…...
企业网站建设 广州/百分百营销软件
Hystrix的异常处理1.服务降级1.1Throwable 捕获异常信息1.2模拟一个异常1.3测试结果 捕获异常1.3.1 本地异常捕获1.3.2远程服务异常 (第二个服务提供者中)2.把异常抛给用户(服务不降级)2.1错误信息 返回给用户3.自定义Hystrix 请求…...
杭州临平网站建设/广州关键词seo
jquery 缓存到浏览器这是您可能使用jQuery预加载图像以将图像添加到浏览器缓存 (作为隐藏的DOM div元素的一部分)的方式。 (function($,D,W) {var JQUERY4U {};JQUERY4U.UTIL {images:{loadingImage: ,ajaxImage: ,savingImage: },preloadImages: fun…...
网站建设教程 三级分销/湘潭seo快速排名
2019独角兽企业重金招聘Python工程师标准>>> 这里是一个用Eclipse的JUnit4教程: 首先,在项目下建立一个test包,然后再就是新建测试类,右键,选择JUnit Test Case,如下图: 然后选择JUnit4&#…...
机电网站建设/网站宣传文案
以前很小,大概四岁的时候,爷爷就开始教我数学和诗词,鸡兔同笼问题啊,手抄的唐诗啊这些。 有个事情,直到我现在还记得很清楚,有这样一道题: 问:1/1 1/2 1/3 1/4 ... 1/16 的整数…...
什么是网站挂马/百度信息流广告代理
转载于:https://www.cnblogs.com/Crixus3714/p/9790884.html...
重庆 新闻发布会/网站推广seo方法
Keras是一个高级神经网络的API,用python编写,能够在TensorFlow、CNTK或Theano上运行。Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. 它的开发重点是实现快速实验。It …...