项目介绍
随着人工智能技术的飞速发展,聊天机器人在多个领域得到了广泛应用,如客户服务、教育辅导、娱乐互动等。然而,现有的许多聊天机器人依赖于云端服务,这不仅可能导致用户数据隐私泄露,还可能因网络延迟影响用户体验。因此,开发一款本地部署的聊天机器人显得尤为重要。本地聊天机器人能够在用户本地环境中运行,确保数据的安全性和对话的实时性,同时也能根据用户的个性化需求进行定制和优化。
项目技术架构
后端模型 :利用 Ollama 平台的 Qwen 模型,该模型具备出色的自然语言处理能力,能够理解和生成自然语言文本,为聊天机器人提供核心的对话处理功能。
前端界面 :采用 Streamlit 框架搭建用户界面,Streamlit 是一个简单易用的 Python 库,能够快速创建美观、交互式的 Web 应用,使用户能够通过网页与聊天机器人进行实时对话。
对话交互 :用户可以通过 Streamlit 界面输入文本,聊天机器人基于 Qwen 模型对输入内容进行理解和处理,生成相应的回复并展示在界面上,实现流畅的对话交互。
模型调用 :后端服务负责将用户输入传递给 Qwen 模型,并获取模型生成的回复,然后将回复内容返回给前端界面进行展示,确保对话的实时性和准确性。
界面展示 :Streamlit 界面提供简洁明了的布局,包括输入框、发送按钮和对话展示区域,用户可以方便地输入问题并查看机器人的回答,提升用户体验。
项目开发环境
操作系统 :支持主流操作系统,如 Windows、macOS 和 Linux。
依赖软件 :需要安装 Python 环境以及 Ollama 平台和 Streamlit 库。
硬件要求 :推荐配置较高的处理器和足够的内存,以确保模型的高效运行和良好的用户体验。
【熟练】Ollama模块实现
学习目标
能够使用Python调用本地部署大模型API,完成聊天对话功能
Qwen模型PythonAPI实现文本扩写
需求:通过python调用API实现基于qwen2在0.5b数据集下实现对文本的续写,用户输入一个简短的故事开头,系统能够生成一段连贯、有趣的续写内容。
细节: 本地需要先安装下依赖包.
pip install ollama
pip install langchain -i Simple Index pip install langchain-community -i Simple Index pip install dashscope -i Simple Index
pip install streamlit==1.32.0
import ollama
response = ollama.chat(model='qwen2:0.5b',messages=[{'role': 'user', 'content': '从前有座山,山里有个庙,续写一下', },])
print(response.message.content)
print(response['message']['content'])
Qwen模型PythonAPI实现文本问答
需求:构建一个简单的命令行交互程序,用户可以通过输入问题与AI模型进行对话。该程序将使用qwen2:0.5b语言模型。用户可以通过命令行输入问题,程序将调用AI模型生成回答,并将结果输出到终端。
import ollama
# 3. 定义一个循环
while True:
# 4. 获取prompt提示词
prompt = input("请输入您的问题:")
response = ollama.chat(model='qwen2:0.5b',
messages=[{'role': 'user', 'content': prompt, }, ])
# 5. 调用模型,回答问题
result = response['message']['content']
# 6. 打印回答
print(result)
Qwen模型PythonAPI实现编程代码
需求:构建一个基于AI模型的代码生成工具,用户可以通过输入自然语言描述所需功能,AI模型将自动生成相应的Python代码。该工具旨在帮助开发者快速获取代码片段,减少手动编写代码的时间。
# 4. 获取prompt提示词
prompt = """
请为以下功能生成一段Python代码:
求两个数的最大公约数
"""
response = ollama.chat(model='qwen2:0.5b',
messages=[{'role': 'user', 'content': prompt}, ])
# 5. 调用模型,回答问题
result = response['message']['content']
# 6. 打印回答
print(result)
Qwen模型PythonAPI实现情感标签
需求:构建一个基于AI模型的用户反馈分类工具,用户可以通过输入具体的反馈内容,AI模型将自动将其归类到预设的类别中(如“价格过高”、“售后支持不足”、“产品使用体验不佳”、“其他”)。该工具旨在帮助企业快速分析用户反馈,识别主要问题,并采取相应的改进措施。
# 4. 获取prompt提示词
prompt = """
你需要对用户的反馈进行原因分类。
分类包括:价格过高、售后支持不足、产品使用体验不佳、其他。
回答格式为:分类结果:xx。
用户的问题是:性价比不高,我觉得不值这个价钱。
"""
response = ollama.chat(model='qwen2:0.5b',
messages=[{'role': 'user', 'content': prompt}, ])
# 5. 调用模型,回答问题
result = response['message']['content']
# 6. 打印回答
print(result)
实现基于Streamlit前端聊天页面开发
只用 Python
也能做出很漂亮的网站?Streamlit
说可以。
Streamlit
官方介绍:能在几分钟内把 Python
脚本变成可分享的网站。只需使用纯 Python
,无需前端经验。甚至,你只需要懂 markdown
,然后按照一定规则去做也能搞个网页出来。它还支持免费部署,感动到落泪。
官方网站:Streamlit • A faster way to build and share data apps
Streamlit安装
首先你的电脑需要有 python
环境。
有 python
环境后,使用下面这条命令就可以安装 streamlit
。
pip install streamlit==1.32.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装 streamlit
成功后可以使用下面这条命令看看能不能运行起来。
streamlit hello
基础语法
标题
使用 st.title()
可以设置标题内容。
st.title('Streamlit教程')
段落write
段落就是 HTML
里的
元素,在 streamlit
里使用 st.write('内容')
的方式去书写。
import streamlit as st
st.write('Hello')
使用markdown
streamlit
是支持使用 markdown
语法来写页面内容的,只需使用单引号或者双引号的方式将内容包起来,并且使用 markdown
的语法进行书写,页面就会出现对应样式的内容。
import streamlit as st
"# 1级标题"
"## 2级标题"
"### 3级标题"
"#### 4级标题"
"##### 5级标题"
"###### 6级标题"
图片
渲染图片可以使用 st.image()
方法,也可以使用 markdown
的语法。
st.image(图片地址, [图片宽度])
,其中图片宽度不是必填项。
import streamlit as st
st.image('./avatar.jpg', width=400)
表格
streamlit
有静态表格和可交互表格。表格在数据分析里属于常用组件,所以 streamlit
的表格也支持 pandas
的 DataFrame
。
静态表格 table
静态表格使用 st.table()
渲染,出来的效果就是 HTML
的 。
st.table()
支持传入字典、pandas.DataFrame
等数据。
import streamlit as st
import pandas as pd
st.write('dict字典形式的静态表格')
st.table(data={
'name': ['张三', '李四', '王五'],
'age': [18, 20, 22],
'gender': ['男', '女', '男']
})
st.write('pandas中dataframe形式的静态表格')
df = pd.DataFrame(
{
'name': ['张三', '李四', '王五'],
'age': [18, 20, 22],
'gender': ['男', '女', '男']
}
)
st.table(df)
可交互表格 dataframe
可交互表格使用 st.dataframe()
方法创建,和 st.table()
不同,st.dataframe()
创建出来的表格支持按列排序、搜索、导出等功能。
import streamlit as st
import pandas as pd
st.write('dict字典形式的可交互表格')
st.dataframe(data={
'name': ['张三', '李四', '王五'],
'age': [18, 20, 22],
'gender': ['男', '女', '男']
})
st.write('pandas中dataframe形式的可交互表格')
df = pd.DataFrame(
{
'name': ['张三', '李四', '王五'],
'age': [18, 20, 22],
'gender': ['男', '女', '男']
}
)
st.dataframe(df)
分割线
分隔线就是 HTML
里的
。在 streamlit
里使用 st.divider()
方法绘制分隔线。
import streamlit as st
st.divider()
输入框
知道怎么声明变量后,可以使用一个变量接收输入框的内容。
输入框又可以设置不同的类型,比如普通的文本输入框、密码输入框。
# 普通输入框输入框使用 st.text_input() 渲染。
name = st.text_input('请输入你的名字:')
if name:
st.write(f'你好,{name}')
☆ 密码
如果要使用密码框,可以给 st.text_input()
加多个类型 type="password"
。
import streamlit as st
pwd = st.text_input('密码是多少?', type='password')
☆ 数字输入框 number_input
数字输入框需要使用 number_input
import streamlit as st
age = st.number_input('年龄:')
st.write(f'你输入的年龄是{age}岁')
众所周知,正常表达年龄是不带小数位的,所以我们可以设置 st.number_input()
的步长为1,参数名叫 step
。
# 省略部分代码
st.number_input('年龄:', step=1)
这个步长可以根据你的需求来设置,设置完后,输入框右侧的加减号每点击一次就根据你设置的步长相应的增加或者减少。
还有一点,人年龄不可能是负数,通常也不会大于200。可以通过 min_value
和 max_value
设置最小值和最大值。同时还可以通过 value
设置默认值。
st.number_input('年龄:', value=20, min_value=0, max_value=200, step=1)
多行文本框 text_area
创建多行文本框使用的是 st.text_area()
,用法和 st.text_input()
差不多。
import streamlit as st
paragraph = st.text_area("多行内容:")
Chat Elements
# 导入 Streamlit 库,Streamlit 是一个用于快速创建数据应用的 Python 库
import streamlit as st
# 使用 st.chat_input 创建一个聊天输入框,提示用户输入问题
prompt = st.chat_input('请输入您的问题: ')
st.write(f'您的问题是: {prompt}')
# 使用 st.chat_message 创建一个用户消息容器,用于显示用户的消息
# 'user' 表示这是用户发送的消息
with st.chat_message('user'):
# 在用户消息容器中显示文本 'Hello '
st.write('Hello ')
# 使用 st.chat_message 创建一个消息容器,用于显示回复消息
message = st.chat_message('assistant')
# 在消息容器中显示文本 'Hello Human',模拟助手的回复
message.write('Hello Human')
实现基于Python调用Qwen模型API接口聊天机器人开发
需求
构建一个基于大模型的本地智能聊天机器人,利用其强大的自然语言处理和生成能力,为用户提供高效、精准、个性化的对话服务。该聊天机器人将集成先进的大规模预训练语言模型(如GPT、Qwen等),具备自然语言理解、多轮对话、情感分析、知识问答等核心功能,并可根据具体应用场景进行定制化扩展,例如客服咨询、教育辅导、娱乐互动等。
项目采用模块化设计,前端通过Streamlit等框架实现简洁易用的交互界面,后端基于Ollama等平台进行模型部署和管理,确保系统的高效性和可扩展性。项目目标是打造一个智能化、人性化的聊天机器人,提升用户体验,降低人工成本,并探索大模型技术在不同领域的创新应用。
模型调用
# 1. 导入相关包
import ollama
# 2. 定义一个函数,用于发起请求,返回结果
# def get_response(prompt):
# messages = []
# messages.append({'role': 'user', 'content': prompt, })
# response = ollama.chat(model='qwen2.5:7b', messages=messages)
# return response['message']['content']
# 3. 定义一个函数,用于发起请求,返回结果
def get_response(prompt):
# response = ollama.chat(model='qwen2:0.5b', messages=prompt[-50:])
response = ollama.chat(model='deepseek-r1:8b', messages=prompt[-50:])
return response['message']['content']
# 7. 测试,测试结束后,终止
if __name__ == '__main__':
s=input("请输入你要表达的内容")
while True:
prompt = s
result = get_response(prompt)
print(result)
前端实现
# 1. 导入相关包,如streamlit包
import streamlit as st
from langchain.memory import ConversationBufferMemory
from utils import get_response
# 3. 主界面主标题
st.title("智聊机器人")
# 5. 会话保持:用于存储会话记录
if "memory" not in st.session_state:
st.session_state['memory'] = ConversationBufferMemory()
st.session_state['messages'] = [{'role': 'assistant', 'content': '你好,我是黑马智聊机器人,有什么可以帮助你的么?'}]
# 6. 编写一个循环结构,用于打印会话记录
for message in st.session_state['messages']:
with st.chat_message(message['role']):
st.markdown(message['content'])
# 4. 创建一个聊天窗口
prompt = st.chat_input("请输入您要咨询的问题:")
# 7. 如果文本框有数据,继续向下执行
if prompt:
st.session_state['messages'].append({'role': 'user', 'content': prompt})
st.chat_message("user").markdown(prompt)
# 10. 向utils工具箱发起请求,返回响应
with st.spinner("AI小助手正在思考中..."):
content = get_response(st.session_state['messages'])
st.session_state['messages'].append({'role': 'assistant', 'content': content})
st.chat_message("assistant").markdown(content)
你可能感兴趣的:(AI,机器人,AI)
英伟达靠什么支撑起了4万亿?AI泡沫还能撑多久?
英伟达市值突破4万亿美元,既是AI算力需求爆发的直接体现,也暗含市场对未来的狂热预期。其支撑逻辑与潜在风险并存,而AI泡沫的可持续性则取决于技术、商业与地缘政治的复杂博弈。⚙️一、英伟达4万亿市值的核心支撑因素技术垄断与生态壁垒硬件优势:英伟达GPU在AI训练市场占有率超87%,H100芯片的FP16算力达1979TFLOPS,领先竞品3-5倍。CUDA生态:400万开发者构建的软件护城河,成为A
Spring进阶 - SpringMVC实现原理之DispatcherServlet处理请求的过程
倾听铃的声
后端 spring java mvc 开发语言 分布式
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析。本文是第二篇:DispatcherServlet处理请求的过程的源码解析。@pdaiSpring进阶-SpringMVC实现原理之DispatcherServlet处理请求的
【C++算法】76.优先级队列_前 K 个高频单词
流星白龙
优选算法C++ c++ 算法 开发语言
文章目录题目链接:题目描述:解法C++算法代码:题目链接:692.前K个高频单词题目描述:解法利用堆来解决TopK问题预处理一下原始的字符串数组,用一个哈希表统计一下每一个单词出现的频次。创建一个大小为k的堆频次:小根堆字典序(频次相同的时候):大根堆循环让元素依次进堆判断提取结果C++算法代码:classSolution{//定义类型别名,PSI表示对typedefpairPSI;//自定义比较
企业级区块链平台Hyperchain核心原理剖析
boyedu
区块链 区块链 企业级区块链平台 Hyperchain
Hyperchain作为国产自主可控的企业级联盟区块链平台,其核心原理围绕高性能共识、隐私保护、智能合约引擎及可扩展架构展开,通过多模块协同实现企业级区块链网络的高效部署与安全运行。以下从核心架构、关键技术、性能优化、安全机制、应用场景五个维度展开剖析:一、核心架构:分层解耦与模块化设计Hyperchain采用分层架构,将区块链功能解耦为独立模块,支持灵活组合与扩展:P2P网络层由验证节点(VP)
通义万相2.2:开启高清视频生成新纪元
Liudef06小白
特殊专栏 AIGC 人工智能 人工智能 通义万相2.2 图生视频
通义万相2.2:开启高清视频生成新纪元2025年7月28日,中国AI领域迎来里程碑时刻——通义万相团队正式开源其革命性视频生成模型Wan2.2的核心权重,这标志着开源社区首次获得支持720P高清视频生成的先进模型架构。一、架构革新:混合专家系统1.1MoE视频扩散架构通义万相2.2首次将混合专家(MoE)架构引入视频扩散模型,通过双专家系统实现计算效率与模型容量的平衡:classMoEVideoD
2025年SDK游戏盾终极解析:重新定义手游安全的“隐形护甲”
上海云盾商务经理杨杨
游戏 安全
副标题:从客户端加密到AI反外挂,拆解全链路防护如何重塑游戏攻防天平引言:当传统高防在手游战场“失效”2025年全球手游市场规模突破$2000亿,黑客单次攻击成本却降至$30——某SLG游戏因协议层CC攻击单日流失37%玩家,某开放世界游戏遭低频DDoS瘫痪6小时损失千万。传统高防IP的致命短板暴露无遗:无法识别伪造客户端流量、难防协议篡改、误杀率超15%。而集成于游戏终端的SDK游戏盾,正以“源
LVS+Keepalived实现高可用和负载均衡
2401_84412895
程序员 lvs 负载均衡 运维
2、开启网卡子接口配置VIP[root@a~]#cd/etc/sysconfig/network-scripts/[root@anetwork-scripts]#cp-aifcfg-ens32ifcfg-ens32:0[root@anetwork-scripts]#catifcfg-ens32:0BOOTPROTO=staticDEVICE=ens32:0ONBOOT=yesIPADDR=10.1
CodeFoeces-450B
ss5smi
题目原题链接:B.JzzhuandSequences题意根据公式公式计算对应fn的值。参考了其他作者的代码和思路。找循环点。负数取余需要加取余数到>0为止才可取余。代码#includeusingnamespacestd;constintmod=1e9+7;intmain(){longlongf[10],x,y,n;cin>>x>>y>>n;x=(x+mod)%mod;y=(y+mod)%mod;f
【异常】使用 LiteFlow 框架时,提示错误ChainDuplicateException: [chain name duplicate] chainName=categoryChallenge
本本本添哥
002 - 进阶开发能力 java
一、报错内容Causedby:com.yomahub.liteflow.exception.ChainDuplicateException:[chainnameduplicate]chainName=categoryChallengeatcom.yomahub.liteflow.parser.helper.ParserHelper.lambda$null$0(ParserHelper.java:1
代码随想录算法训练营第三十五天
01背包问题二维题目链接01背包问题二维题解importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intM=sc.nextInt();intN=sc.nextInt();int[]space=newint[M];int[]value=new
为了在未来的人工智能世界中取得成功,学生们必须学习人类写作的优点
睿邸管家
澳大利亚各地的学生在新学年开始使用铅笔、钢笔和键盘学习写字。在工作场所,机器也在学习写作,如此有效,几年之内,它们可能会写得比人类更好。有时它们已经做到了,就像Grammarly这样的应用程序所展示的那样。当然,人类现在的日常写作可能很快就会由具有人工智能(AI)的机器来完成。手机和电子邮件软件常用的预测文本是无数人每天都在使用的一种人工智能写作形式。据AI行业研究机构称,到2022年,人工智能及
AI模型训练中过拟合和欠拟合的区别是什么?
workflower
人工智能 算法 人工智能 数据分析
在AI模型训练中,过拟合和欠拟合是两种常见的模型性能问题,核心区别在于模型对数据的学习程度和泛化能力:欠拟合(Underfitting)-定义:模型未能充分学习到数据中的规律,对训练数据的拟合程度较差,在训练集和测试集上的表现都不好(如准确率低、损失值高)。-原因:-模型结构过于简单(如用线性模型解决非线性问题);-训练数据量不足或特征信息不充分;-训练时间太短,模型尚未学到有效模式。-表现:训练
Selenium 特殊控件操作与 ActionChains 实践详解
小馋喵知识杂货铺
selenium 测试工具
1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个
Zread.AI:一键将GitHub项目转化为结构化中文手册的AI代码维基工具
Zread.AI:一键将GitHub项目转化为结构化中文手册的AI代码维基工具文章来源:PoixeAI文章目录Zread.AI工具概述核心功能优势亮点典型应用场景上手指南注意事项官网地址Zread.AI由智谱Z.ai推出,是一款面向开发者的AI代码维基工具,可在几秒内把任何公开GitHub仓库转化为结构化中文手册,并通过独家Buzz面板聚合commits、issues与相关新闻,让项目脉搏一目了然
学C++的五大惊人好处
为什么要学c++学c++有什么用学习c++的好处有1.中考可以加分2.高考可能直接录取3.就业广且工资高4.在未来30--50年c++一定是一个很受欢迎的职业5.c++成功的例子deepsick等AI智能C++语言兼备编程效率和编译运行效率的语言C++语言是C语言功能增强版,在c语言的基础上添加了面向对象编程和泛型编程的支持既继承了C语言高效,简洁,快速和可移植的传统,又具备类似Java、Go等其
Android GreenDao介绍和Generator生成表对象代码
目录(?)[-]介绍创建工程转载请注明:http://blog.csdn.net/sinat_30276961/article/details/50052109最近无意中发现了GreenDao,然后查看了一些资料后,发现这个数据库框架很适合用,于是乎,查看了官网的api,并自己写了一个小应用总结一下它的使用方法。介绍按照国际惯例,在开篇,总要先介绍一下什么是GreenDao吧。首先需要说明的是Gr
从振动信号到精准预警:AI 如何重塑工业设备健康管理?
缘华工业智维
人工智能 计算机视觉 边缘计算 信息与通信
在智能制造浪潮席卷全球的当下,工业生产正经历着从传统模式向智能化、数字化转型的深刻变革。在这场变革中,AI驱动的振动分析技术犹如一颗璀璨新星,成为工业设备可靠运行的“健康卫士”。它通过在设备关键部位部署振动传感器,如同医生为患者听诊般实时采集设备运行时的振动信号,再借助强大的人工智能算法对这些“工业脉搏”进行深度解析,从而实现对工业设备从故障预警到寿命预测的全周期精准守护。一、AI振动分析:设备状
基于DeepSeek的下一代大型游戏开发革命:架构、核心技术与项目管理实践
Liudef06小白
特殊专栏 人工智能 AIGC 架构 人工智能 deepseek
基于DeepSeek的下一代大型游戏开发革命:架构、核心技术与项目管理实践DeepSeek大模型正重塑游戏开发范式,本文将深入解析如何利用这一革命性技术构建下一代大型游戏,涵盖从架构设计到项目管理的全流程实践。目录DeepSeek游戏引擎核心架构1.1神经符号系统融合架构1.2动态世界生成引擎智能NPC与剧情系统2.1角色人格建模技术2.2动态叙事生成算法大型项目管理体系3.1敏捷-AI混合开发流
魔搭平台实战:手把手教你训练SDXL模型,解锁AI绘画新纪元
Liudef06小白
特殊专栏 AIGC 人工智能 AI作画 人工智能 AIGC
魔搭平台实战:手把手教你训练SDXL模型,解锁AI绘画新纪元随着多模态AI技术的爆发式发展,StableDiffusionXL(SDXL)等文生图模型正在彻底重塑创意产业工作流。本文将深入解析如何在魔搭平台高效训练SDXL模型,并探讨AI绘画技术对设计行业的革命性影响。一、SDXL模型架构解析1.1双文本编码器设计SDXL采用双文本编码器架构,显著提升提示词理解能力:#SDXL文本编码器结构示意c
AI 生成虚拟宠物:24 小时陪你聊天解闷
大力出奇迹985
人工智能 宠物
本文围绕AI生成虚拟宠物展开,介绍这类依托人工智能技术诞生的虚拟伙伴,能实现24小时不间断陪伴聊天,为人们解闷。文中详细阐述其技术基础,包括自然语言处理、机器学习等;分析多样功能,如个性化互动、情绪回应等;探讨在独居人群、压力大者等不同群体中的应用场景,最后总结其为人们生活带来的积极影响及未来发展潜力,展现AI虚拟宠物在陪伴领域的独特价值。一、AI生成虚拟宠物的诞生背景与技术基石在快节奏的现代社会
基于Python的AI健康助手:开发与部署全攻略
AI算力网络与通信
AI算力网络与通信原理 AI人工智能大数据架构 python 人工智能 开发语言 ai
基于Python的AI健康助手:开发与部署全攻略关键词:Python、AI健康助手、机器学习、自然语言处理、Flask、部署、健康管理摘要:本文将详细介绍如何使用Python开发一个AI健康助手,从需求分析、技术选型到核心功能实现,再到最终部署上线的完整过程。我们将使用自然语言处理技术理解用户健康咨询,通过机器学习模型提供个性化建议,并展示如何用Flask框架构建Web应用接口。文章包含大量实际代
GPT-4 在 AIGC 中的微调技巧:让模型更懂你的需求
AIGC应用创新大全
AI人工智能与大数据应用开发 MCP&Agent 云算力网络 AIGC ai
GPT-4在AIGC中的微调技巧:让模型更懂你的需求关键词:GPT-4、AIGC、模型微调、监督学习、指令优化、过拟合预防、个性化生成摘要:AIGC(人工智能生成内容)正在重塑内容创作行业,但通用的GPT-4模型可能无法精准匹配你的垂直需求——比如写电商爆款文案时总“跑题”,或生成技术文档时专业术语不够。本文将用“教小朋友学画画”的通俗类比,从微调的底层逻辑讲到实战技巧,带你掌握让GPT-4“更懂
AIGC内容生成实战:如何用ChatGPT+DALL·E打造高转化内容
AI大模型应用工坊
AI大模型开发实战 AIGC chatgpt ai
AIGC内容生成实战:如何用ChatGPT+DALL·E打造高转化内容关键词:AIGC、ChatGPT、DALL·E、内容生成、高转化营销、多模态协同、提示词工程摘要:随着AIGC(人工智能生成内容)技术的爆发式发展,ChatGPT(文本生成)与DALL·E(图像生成)的组合已成为内容创作领域的“黄金搭档”。本文将深度解析二者的协同原理,结合实战案例演示从需求分析到内容落地的全流程,并揭示提升内容
数据分析领域中AI人工智能的发展前景展望
AI大模型应用工坊
AI大模型开发实战 数据分析 人工智能 数据挖掘 ai
数据分析领域中AI人工智能的发展前景展望关键词:数据分析、人工智能、机器学习、深度学习、数据挖掘、预测分析、自动化摘要:本文深入探讨了人工智能在数据分析领域的发展现状和未来趋势。我们将从核心技术原理出发,分析AI如何改变传统数据分析范式,详细讲解机器学习算法在数据分析中的应用,并通过实际案例展示AI驱动的数据分析解决方案。文章还将探讨行业应用场景、工具生态以及未来发展面临的挑战和机遇,为数据分析师
AI人工智能中的数据挖掘:提升智能决策能力
AI人工智能中的数据挖掘:提升智能决策能力关键词:数据挖掘、人工智能、机器学习、智能决策、数据分析、特征工程、模型优化摘要:本文深入探讨了数据挖掘在人工智能领域中的核心作用,重点分析了如何通过数据挖掘技术提升智能决策能力。文章从基础概念出发,详细介绍了数据挖掘的关键算法、数学模型和实际应用场景,并通过Python代码示例展示了数据挖掘的全流程。最后,文章展望了数据挖掘技术的未来发展趋势和面临的挑战
2018年中南大学中英翻译
某翁
参考:20180827235856533.jpg【1】机器学习理论表明,机器学习算法能从有限个训练集样本上得到较好的泛化【1】Machinelearningtheoryshowsthatmachinelearningalgorithmcangeneralizewellfromfinitetrainingsetsampleslimited有限的infinite无限的【2】这似乎违背了一些基本的逻辑准
重复文件清理工具,附免费链接
mixiumixiu
其他
链接:https://pan.baidu.com/s/1s_Zx1eHp5Y-XnbbGldIgvw?pwd=kjex提取码:kjex复制这段内容后打开百度网盘手机App,操作更方便哦
【三桥君】AI技术发展下,单智能体局限性凸显,如何通过MCP和A2A协议实现智能体团队协作转变?
你好,我是✨三桥君✨本文介绍>>一、引言在AI技术突飞猛进的今天,单智能体的局限性正日益暴露,而智能体(AIAgents)协作已然成为不可逆转的趋势。你是否曾思考过,如何通过MCP和A2A协议实现智能体从单兵作战到团队协作的革命性转变?本文三桥君将深入探讨MCP和A2A协议的核心功能与优势,帮助你全面理解智能体协作的无限可能。二、A2A与MCP协议作用MCP(ModelControlProtoco
【三桥君】MCP中台,究竟如何实现多模型、多渠道、多环境的统一管控?如何以MCP为核心设计AI应用架构?
三桥君
《三桥君 MCP落地方法论》 《三桥君 AI大模型落地方法论》 # 《三桥君 AI产品方法论》 人工智能 AI产品经理 MCP API 三桥君 系统架构 llama
你好,我是✨三桥君✨本文介绍>>一、引言随着人工智能技术的快速发展,越来越多的企业开始引入大语言模型(LLM)以提升用户体验和运营效率。然而,如何高效、稳定地将这些AI能力落地到生产环境呢?传统的系统架构往往难以应对AI应用的高并发、低延迟和灵活扩展需求,因此,从整体架构角度设计AI应用架构显得尤为重要。本文三桥君将深入探讨以MCP为核心的AI应用架构,并分析多种部署方式的优劣势,为企业在AI落地
[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
这些不会的
解释:这个错误是很常见的错误,错误的提示已经很清楚了就是java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的。示例:[java]viewplaincopypackagecom.dada;importjava.util.ArrayList;importjava.util.List;
HttpClient 4.3与4.3版本以下版本比较
spjich
java httpclient
网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。
httpclient又可分为
httpclient3.x
httpclient4.x到httpclient4.3以下
httpclient4.3
Essential Studio Enterprise Edition 2015 v1新功能体验
Axiba
.net
概述:Essential Studio已全线升级至2015 v1版本了!新版本为JavaScript和ASP.NET MVC添加了新的文件资源管理器控件,还有其他一些控件功能升级,精彩不容错过,让我们一起来看看吧!
syncfusion公司是世界领先的Windows开发组件提供商,该公司正式对外发布Essential Studio Enterprise Edition 2015 v1版本。新版本
[宇宙与天文]微波背景辐射值与地球温度
comsci
背景
宇宙这个庞大,无边无际的空间是否存在某种确定的,变化的温度呢?
如果宇宙微波背景辐射值是表示宇宙空间温度的参数之一,那么测量这些数值,并观测周围的恒星能量输出值,我们是否获得地球的长期气候变化的情况呢?
&nbs
lvs-server
男人50
server
#!/bin/bash
#
# LVS script for VS/DR
#
#./etc/rc.d/init.d/functions
#
VIP=10.10.6.252
RIP1=10.10.6.101
RIP2=10.10.6.13
PORT=80
case $1 in
start)
/sbin/ifconfig eth2:0 $VIP broadca
java的WebCollector爬虫框架
oloz
爬虫
WebCollector主页:
https://github.com/CrawlScript/WebCollector
下载:webcollector-版本号-bin.zip将解压后文件夹中的所有jar包添加到工程既可。
接下来看demo
package org.spider.myspider;
import cn.edu.hfut.dmic.webcollector.cra
jQuery append 与 after 的区别
小猪猪08
1、after函数
定义和用法:
after() 方法在被选元素后插入指定的内容。
语法:
$(selector).after(content)
实例:
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></scr
mysql知识充电
香水浓
mysql
索引
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。
根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。
大多数存储引擎有更高的限制。MYSQL中索引的存储类型有两种:BTREE和HASH,具体和表的存储引擎相关;
MYISAM和InnoDB存储引擎
我的架构经验系列文章索引
agevs
架构
下面是一些个人架构上的总结,本来想只在公司内部进行共享的,因此内容写的口语化一点,也没什么图示,所有内容没有查任何资料是脑子里面的东西吐出来的因此可能会不准确不全,希望抛砖引玉,大家互相讨论。
要注意,我这些文章是一个总体的架构经验不针对具体的语言和平台,因此也不一定是适用所有的语言和平台的。
(内容是前几天写的,现附上索引)
前端架构 http://www.
Android so lib库远程http下载和动态注册
aijuans
andorid
一、背景
在开发Android应用程序的实现,有时候需要引入第三方so lib库,但第三方so库比较大,例如开源第三方播放组件ffmpeg库, 如果直接打包的apk包里面, 整个应用程序会大很多.经过查阅资料和实验,发现通过远程下载so文件,然后再动态注册so文件时可行的。主要需要解决下载so文件存放位置以及文件读写权限问题。
二、主要
linux中svn配置出错 conf/svnserve.conf:12: Option expected 解决方法
baalwolf
option
在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected
为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如### This file controls the configuration of the svnserve daemon, if you##
MongoDB的连接池和连接管理
BigCat2013
mongodb
在关系型数据库中,我们总是需要关闭使用的数据库连接,不然大量的创建连接会导致资源的浪费甚至于数据库宕机。这篇文章主要想解释一下mongoDB的连接池以及连接管理机制,如果正对此有疑惑的朋友可以看一下。
通常我们习惯于new 一个connection并且通常在finally语句中调用connection的close()方法将其关闭。正巧,mongoDB中当我们new一个Mongo的时候,会发现它也
AngularJS使用Socket.IO
bijian1013
JavaScript AngularJS Socket.IO
目前,web应用普遍被要求是实时web应用,即服务端的数据更新之后,应用能立即更新。以前使用的技术(例如polling)存在一些局限性,而且有时我们需要在客户端打开一个socket,然后进行通信。
Socket.IO(http://socket.io/)是一个非常优秀的库,它可以帮你实
[Maven学习笔记四]Maven依赖特性
bit1129
maven
三个模块
为了说明问题,以用户登陆小web应用为例。通常一个web应用分为三个模块,模型和数据持久化层user-core, 业务逻辑层user-service以及web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和user-service
依赖作用范围
Maven的dependency定义
【Akka一】Akka入门
bit1129
akka
什么是Akka
Message-Driven Runtime is the Foundation to Reactive Applications
In Akka, your business logic is driven through message-based communication patterns that are independent of physical locatio
zabbix_api之perl语言写法
ronin47
zabbix_api之perl
zabbix_api网上比较多的写法是python或curl。上次我用java--http://bossr.iteye.com/blog/2195679,这次用perl。for example: #!/usr/bin/perl
use 5.010 ;
use strict ;
use warnings ;
use JSON :: RPC :: Client ;
use
比优衣库跟牛掰的视频流出了,兄弟连Linux运维工程师课堂实录,更加刺激,更加实在!
brotherlamp
linux运维工程师 linux运维工程师教程 linux运维工程师视频 linux运维工程师资料 linux运维工程师自学
比优衣库跟牛掰的视频流出了,兄弟连Linux运维工程师课堂实录,更加刺激,更加实在!
-----------------------------------------------------
兄弟连Linux运维工程师课堂实录-计算机基础-1-课程体系介绍1
链接:http://pan.baidu.com/s/1i3GQtGL 密码:bl65
兄弟连Lin
bitmap求哈密顿距离-给定N(1<=N<=100000)个五维的点A(x1,x2,x3,x4,x5),求两个点X(x1,x2,x3,x4,x5)和Y(
bylijinnan
java
import java.util.Random;
/**
* 题目:
* 给定N(1<=N<=100000)个五维的点A(x1,x2,x3,x4,x5),求两个点X(x1,x2,x3,x4,x5)和Y(y1,y2,y3,y4,y5),
* 使得他们的哈密顿距离(d=|x1-y1| + |x2-y2| + |x3-y3| + |x4-y4| + |x5-y5|)最大
map的三种遍历方法
chicony
map
package com.test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static v
Linux安装mysql的一些坑
chenchao051
linux
1、mysql不建议在root用户下运行
2、出现服务启动不了,111错误,注意要用chown来赋予权限, 我在root用户下装的mysql,我就把usr/share/mysql/mysql.server复制到/etc/init.d/mysqld, (同时把my-huge.cnf复制/etc/my.cnf)
chown -R cc /etc/init.d/mysql
Sublime Text 3 配置
daizj
配置 Sublime Text
Sublime Text 3 配置解释(默认){// 设置主题文件“color_scheme”: “Packages/Color Scheme – Default/Monokai.tmTheme”,// 设置字体和大小“font_face”: “Consolas”,“font_size”: 12,// 字体选项:no_bold不显示粗体字,no_italic不显示斜体字,no_antialias和
MySQL server has gone away 问题的解决方法
dcj3sjt126com
SQL Server
MySQL server has gone away 问题解决方法,需要的朋友可以参考下。
应用程序(比如PHP)长时间的执行批量的MYSQL语句。执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。都容易引起MySQL server has gone away。 今天遇到类似的情景,MySQL只是冷冷的说:MySQL server h
javascript/dom:固定居中效果
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&
使用 Spring 2.5 注释驱动的 IoC 功能
e200702084
spring bean 配置管理 IOC Office
使用 Spring 2.5 注释驱动的 IoC 功能
developerWorks
文档选项
将打印机的版面设置成横向打印模式
打印本页
将此页作为电子邮件发送
将此页作为电子邮件发送
级别: 初级
陈 雄华 (
[email protected] ), 技术总监, 宝宝淘网络科技有限公司
2008 年 2 月 28 日
&nb
MongoDB常用操作命令
geeksun
mongodb
1. 基本操作
db.AddUser(username,password) 添加用户
db.auth(usrename,password) 设置数据库连接验证
db.cloneDataBase(fromhost)
php写守护进程(Daemon)
hongtoushizi
PHP
转载自: http://blog.csdn.net/tengzhaorong/article/details/9764655
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。php也可以实现守护进程的功能。
1、基本概念
&nbs
spring整合mybatis,关于注入Dao对象出错问题
jonsvien
DAO spring bean mybatis prototype
今天在公司测试功能时发现一问题:
先进行代码说明:
1,controller配置了Scope="prototype"(表明每一次请求都是原子型)
@resource/@autowired service对象都可以(两种注解都可以)。
2,service 配置了Scope="prototype"(表明每一次请求都是原子型)
对象关系行为模式之标识映射
home198979
PHP 架构 企业应用 对象关系 标识映射
HELLO!架构
一、概念
identity Map:通过在映射中保存每个已经加载的对象,确保每个对象只加载一次,当要访问对象的时候,通过映射来查找它们。其实在数据源架构模式之数据映射器代码中有提及到标识映射,Mapper类的getFromMap方法就是实现标识映射的实现。
二、为什么要使用标识映射?
在数据源架构模式之数据映射器中
//c
Linux下hosts文件详解
pda158
linux
1、主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。 公网:IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。 局域网:每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机
nginx配置文件粗解
spjich
java nginx
#运行用户#user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 2;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log inf
数学函数
w54653520
java
public
class
S {
// 传入两个整数,进行比较,返回两个数中的最大值的方法。
public
int
get(
int
num1,
int
nu