����λ�ã���ҳ > �����̳� > �̳� > EdgeOne��ȫ������밲ȫ����
��ƪ����Դ�����˴��������������˼������Ͷ���˴���ʱ���뾫����������EdgeOne��HAI֮���Ðͬ���ԣ��˷����ڶ༼���������⡣ͨ����и��Ŭ�����ɹ��ؽ�������ǿ���ƽ̨������һ�𣬴����һ���������IJο����������̽��Ҳ���Ҹ����״������Ե����ʽ��Ʒ��ʵ��֮�á���ϣ��ͨ��������εľ����ͳɹ����ܹ���
�ڵ�����ٷ�չ������ʱ������ȫ���ٶ��ѳ�Ϊ�������Ļ�ʯ��EdgeOne����Ϊ��Ѷ���ṩ�ı�Ե��ȫ����ƽ̨������ȫ����Ľڵ��ǿ��İ�ȫ�������ܣ�Ϊ�û��ṩ���ȶ�����Ч���������顣��HAI��HyperApplicationInventor������Ѷ���Ƴ��ĸ�����Ӧ�÷���ͨ�������õ�ͼ�λ�����ͷḻ��ģ�Ϳ⣬ʹ��AIӦ�ÿ�����ô��ֿɼ������Ľ�̽��EdgeOne��HAI�Ľ�����Ϊ�û��ṩһ���Ȱ�ȫ�ָ�Ч��AIӦ�ÿ���������
����˵�ˣ�ʣ�µ����ݶ��Ѿ��ڹٷ��ĵ�������ϸ�����������Ǹ��˶��ԣ�EdgeOne����������Ҫ�ŵ㣬������Ҳ��������Ҫ�Ĺؼ��ĵ���ַ��
HAI�ṩ�˿��ӻ��������棬֧��JupyterLab��WebUI�ȶ����������ӷ�ʽ��ʹ���û���ʹû�����ı�̱���Ҳ�����ɿ���AIӦ�á����֡����־��ܿ�����������������ؽ�����AI������Ӧ���ż���֧��ѧ�����٣�ͨ����·�Զ����ţ��ܹ������������ѧ����Դƽ̨�ķ��ʡ������ٶȡ�ͬʱ��HAIԤװ��StableDiffusion��ChatGLM������ģ�ͣ��û��������������ڹ����Լ��Ĵ�����ģ�͡�AI������Ӧ�û�����
������ⲻ��Ҫ��ϸ�����ˣ����Ѿ������˿�������Ҫ�˽����Ҫ�ŵ������ĵ����Ա����ܹ��������ֿ�����
������������̽��һ��Ϊ�ο��Բ������������ķ�ʽ�����ǵ�Ŀ��������Ϊ����ʵ�ݵļ۸������ǵ�AI�æ»Ó¦ï¿½Ã¡ï¿½
���ǽ������������ǻ��õ���Щ������HTML��Javascript��CSS��Nginx��Python����Ե�����еĸ���API��Linux�������
���ڴ����������IJ��裬�ҾͲ��ٽ�����ʾ�ˣ���ֱ�Ӳ鿴�ٷ��̳̣���ص�ַҲ�Ѿ��ṩ�����ǽ��ص���ʾ�������ݣ�����/�ϴ�ģ�͡�ͨ��WEB UI��ʾAI�æ»ï¿½ï¿½ï¿½Ü¡ï¿½ï¿½ï¿½ï¿½Ø²ï¿½ï¿½ï¿½ï¿½ï¿½Nginx�Լ���80�˿ڡ�����API�ӿڷ���
��һ���ҵ�ʱʹ�ù���ιٷ�Ĭ�ϵ�JupyterLabҳ���ϴ����ٶ�����ĺܿɹ�~��ֱ�ӷ����ˡ�ѡ����COS����洢��������ȥ���غÿ���ģ�͡�������https://civitai.com/ Ϊ����
ģ�����ص�����֮��ȥ����COS����洢����
��δ�����ô�òµ¥µÄ½Ì³Ì£ï¿½ï¿½Ò¾Í²ï¿½ï¿½ï¿½Ê¾ï¿½Ë£ï¿½ï¿½ï¿½ï¿½ï¿½Ö±ï¿½Ó¿ï¿½ï¿½Ï´ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ø¡ï¿½ï¿½ï¿½ï¿½ï´´ï¿½ï¿½ï¿½æ´¢Í°ï¿½ï¿½Ê±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ò»ï¿½ï¿½Òªï¿½ï¿½ï¿½ï¿½HAI�æ»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ò»ï¿½ð¡£·ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ü¶ï¿½ï¿½ï¿½ï¿½Ä»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½~
����洢Ͱ֮��ֱ�ӵ��ҳ����ϴ��ļ����ɣ���ѡ��ղ����ص�ģ���ļ����ϴ��Ĺ����в�Ҫ���������һ��ˢ�º͹ر�������ͻ�ǰ��������
�Ե�Ƭ�̣�Ȼ����ģ���ļ������飬���������Ϣҳ�档�������ȷ����Ȩ������Ϊ���ж�ȡ������HAI���������޷����ص�ģ���ļ���Ȼ�󣬸�����ʱ���ӡ�
���ǽ����Ѿ������õ�HAI��������
�����նˣ�ʹ��һ�¼����������ģ���ļ���ģ���ļ��С�
cd stable-diffusion-webui/models/Stable-diffusion
wget ��ʱ����ճ�����˴�
�ȴ�������ϡ�
������ǰ��WEB UIҳ�棬����һ�¿����Ƿ�ɹ���װ�ˡ�
��WEB UIҳ���ϣ�ѡ�����Լ���ģ���ļ�����ʹ��һ���������ʾ�ʡ���Ȼ����ʾ��Խ�ã����ɵĽ��Ҳ��Խ�á�������κβ�����ĵط��������Բο������ص�ģ�͸����Ľ̡̳����������Ͼ�û�������ˡ����������������������������HAI�ṩվ�����
��Ȼ��ͬ���IJ��裬��JupyterLab�е��ն���ֱ��ʹ���������������
apt install nginx
���а�װ��
service nginx start
��������
����ֱ��ʹ��IP��ַ��������з��ʺ������ʾ���½��棬�Ǿͱ�ʾ��װ�ɹ��ˡ�
�����������Ǽ����޸�Nginx�������ļ���
ʹ����������à¼ï¿½ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½ï¿½ï¿½
vim /etc/nginx/sites-available/default
Ȼ�����ļ��������������ã�
# ����/images·���ķ��ʹ���
location /images/ {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Expose-Headers' 'strict-origin-when-cross-origin';
alias /root/stable-diffusion-webui/outputs/star/images/; # ��ľ�̬ҳ��
expires 1d;
}
location /sdapi/ {
# Add CORS headers
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
proxy_pass http://127.0.0.1:7862/sdapi/;
if ($request_method = "OPTIONS"){
return 200;
}
}
����������/images·���ķ��ʹ����Լ�API����Ĵ�����ΪʲôҪ���ô����أ�����Ȼ����Ϊ�æ»ï¿½ï¿½API����֧�ֿ�����ʣ���������������һ������������������ǵ�������POST�Ǽ����������������ᷢ��һ��OPTIONS��Ԥ��������Ҳ������Ӧ�Ĵ�����������ò±¨´ï¿½ï¿½ï¿½
�޸���ɺ�ʹ������
service nginx reload
�����¼���Nginx�����á������Կ����������õ�/images·����Ӧ���ļ������·���������������ã�ֻҪȷ�����а������Լ���ͼƬ���ɡ�������ѡ���Լ�ά����ЩͼƬ��Ҳ����ͨ���������ɡ�Ϊ����ʾ����ֻ�òµ¥¸ï¿½ï¿½ï¿½ï¿½Ë¼ï¿½ï¿½ï¿½ï¿½ï¿½Ê¹ï¿½ï¿½AI�æ»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Í¼Æ¬ï¿½ï¿½
������ͨ��Nginx������һ��ͼƬ����ȷ�������������ʡ�
����������������µ�ַ���з��ʣ�
http://���IP/images/1.png
�����������Ǽ�������API����������HAI�æ»Ó¦ï¿½Ãµï¿½API����ʹ���������
python launch.py --nowebui --xformers --opt-split-attention --listen --port 7862
Ȼ���������������IP��ַ�Ͷ˿ںţ��������/docs·��������������·���ˡ�
������ͨ������������һ�£������ܷ�ͨ��Nginx�������ʽӿڡ����������ѡ��һ���ӿ�·�����в��ԡ���ѡ����һ���򵥵������������GET������Ϊʾ����ͨ������£�����������ж˿ںš�
ʹ�õ��Թ���������һ��Nginx���õ�·����ȷ��һ��������
���������ȷ���Ļ�������ͨ���鿴Ĭ�ϵ�Nginx����·����ȷ�ϡ�������ʹ������������ʵʱ�鿴��־��
tail -f /var/log/nginx/access.log
�������Ϳ���ȷ��API�Ƿ��ܹ�����ȷ���С�
Ϊ�˽��Nginxÿ�ιػ����޷��������������⣬���Dz�ȡ��һ������Ľ������������������ֱ��д��API��������ӿ��У��Ӷ�ȷ�������ܹ���ÿ������ʱ��ȷ����Nginx������������£����ȣ�������Ҫ�ҵ���Ŀ�е�launch.py�ļ���һ���ҵ��˸��ļ�������ֻ�����������Ӽ�������ɡ���Щ���ȷ��Nginx�ڷ���������ʱ�õ���ȷ�����ã����ܹ�˳�����������ַ����򵥶���Ч���ܹ���Ч���Nginx�������⣬��֤������ȶ��ԺͿɿ��ԡ�
�������£�
import subprocess
# �˴�ʡ�Ժܶ����~~
def main():
# ʹ��subprocess.run()ִ������
result = subprocess.run(['service', 'nginx', 'start'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# ��������Ƿ�ִ�гɹ�
if result.returncode == 0:
print("Nginx �ѳɹ�����")
else:
print("���� Nginx ʱ����")
print("������Ϣ:", result.stderr)
# �˴�ʡ�Ժܶ����~~
Ϊ����֤���ǵĽ����������Ч�ԣ��������ٴ���������API���񣬹۲��Ƿ��ܹ��ɹ�����Nginx��
ͨ�����ϲ��裬���ǵ�HAI�����ܷ������Ѿ�����˻������á����۽��ж��ٴιػ����������ǵ�Nginx��������API�ӿ�һ��������ȷ����ϵͳ���ȶ��ԺͿɿ��ԡ����ڣ������Ǽ�������̽��EdgeOne�����ù��̡�
������EdgeOneʱ��������Ҫȷ�����������վ������ã������ֱ�Ӳο��ٷ��ĵ����в��������ţ�������Ҫ������Ե������ʵ����Ӧ�Ļ��洦�������ǵ���û����ҵ��Ȩ�ޣ�����޷�ʹ���IJ���٣�������ͨ����Ե�������ﵽ���Ƶ�Ч�������ڱ�Ե�����д���ľ���ʹ�����⣬�ҽ�������ϸ�Ķ��ٷ��ĵ������а�������ϸ�IJ���ָ�Ϻ�ʾ�����룬���԰�����������֡�����Ե���������Ӳ鿴�ٷ��ĵ��� EdgeOne �ٷ��ĵ�
�����ñ�Ե����ʱ�������ѡ��Hello Worldģ����Ϊ��㣬Ȼ�����ε����һ���������á���Ȼѡ����Hello Worldģ�壬����ֻ��һ����㣬���ǽ��ڴ˻����Ͻ�������Ķ��ƣ���ʵ����������Ҫ�Ĺ��ܡ�
����������ú�ϵͳ��Ϊ������һ��Ĭ�ϵ���������������������Ҫ��д������ʵ�ֹ��ܡ�ͨ������£��һ�����дһ��test������ר�����ڲ��ԡ���Ȼ���������ò���Ҫ��Ҳ���Ժ��ԡ�����������У����Ǵ�����������Ե��������Щ�����Ѿ������ҷ�װ��ͨ����С�ı䶯��Ӧ��HAI����������IP�ı仯��ȷ����ϵͳ���ȶ��ԺͿɿ��ԡ�
һ���æ»Ó¦ï¿½ÃµÄ¹Ø¼ï¿½Ö®Ò»ï¿½ï¿½ï¿½ï¿½ï¿½Ü¹ï¿½ï¿½á¹©ï¿½ï¿½ï¿½Êµï¿½Í¼Æ¬Õ¹Ê¾ï¿½ï¿½ï¿½Ü¡ï¿½ï¿½Ï¾ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ó¾ï¿½Ð§ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ã»ï¿½ï¿½Ä¹Ø¼ï¿½Ö®Ò»ï¿½ï¿½È±ï¿½ï¿½ï¿½ï¿½Í¼Æ¬Õ¹Ê¾ï¿½ï¿½ï¿½Ü£ï¿½ï¿½ï¿½ï¿½Ó¦ï¿½Ã¾ÍºÃ±ï¿½ï¿½ï¿½Ò»ï¿½ï¿½Ã»ï¿½Ð²ï¿½Í¼ï¿½Ä»ï¿½ï¿½á£¬È±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ã»ï¿½ï¿½ï¿½ï¿½ï¿½È¤ï¿½ï¿½
async function fetchJquery(event, request) {
const cache = caches.default;
// ����û�����У���Դ������
let response = await fetch(request);
// ����Ӧͷ���� Cahe-Control�����û���ʱ�� 10s
response.headers.append('Cache-Control', 's-maxage=600');
event.waitUntil(cache.put(request, response.clone()));
// δ���л��棬������Ӧͷ��ʶ
response.headers.append('x-edgefunctions-cache', 'miss');
return response;
}
async function handleEvent(event) {
const urlInfo = new URL(event.request.url);
var url = new URL(event.request.url);
var ip = url.searchParams.get('ip');
// �����ͼƬ��Դ
if (!/\.(jpe?g|png)$/.test(urlInfo.pathname)) {
return event.respondWith(new Response('Error thrown û����ͼƬURL' + urlInfo.pathname));
}
// ��Դ��ַ��Ҳ��Ϊ�����
const request = new Request(ip + urlInfo.pathname);
// ����Ĭ��ʵ��
const cache = caches.default;
try {
// ��ȡ�����Ļ������ݣ���������ӿڵײ㲻������Դ���׳� 504 ����
let response = await cache.match(request);
// ���治���ڣ����»�ȡԶ����Դ
if (!response) {
return fetchJquery(event, request);
}
// ���л��棬������Ӧͷ��ʶ
response.headers.append('x-edgefunctions-cache', 'hit');
return response;
} catch (e) {
await cache.delete(request);
// ������ڻ������쳣�����»�ȡԶ����Դ
return fetchJquery(event, request);
}
}
addEventListener('fetch', (event) => {
event.respondWith(handleEvent(event));
});
��δ������Ҫ���������ڴ����������󲢹�����Դ�Ļ�����ԣ�ȷ��������Ӧ�û������ͬʱ�����ٲ���Ҫ������������
fetchJquery
������
fetch
���������������󣬻�ȡ��Դ��������Ӧ��
Cache-Control
��������Դ�ڷ���˻����е����Чʱ��Ϊ600�롣
cache.put
��������ȡ����Ӧ��¡һ�ݲ����뻺���У��Ա�����������ֱ�Ӵӻ����л�ȡ��
x-edgefunctions-cache
Ϊ
miss
����ʾ����һ��δ���л��������
handleEvent
������
x-edgefunctions-cache
Ϊ
hit
����ʾ����һ�����л�������󣬲����ػ����е���Դ��
fetchJquery
������ȡ��Դ��
�ڷ���ͼƬ��Դʱ����Ҫ�ر�ע����ǣ��Ҳ�����·������� IP �������з��ʡ�������Ϊ HAI ÿ������������ IP ���ᷢ���仯�����ÿ�ζ�Ҫ�޸�ÿ����Ե�����Ļ������൱������Ϊ�˱��������������ѡ��ͨ���������ݵķ�ʽ����ȡͼƬ��Դ������һ������ȡͼƬ��Դ�ı�Ե�����Ͳ���Ҫ�ٽ����κ��޸��ˡ����⣬�㻹��Ҫ��ƥ�䴥������������ã����������õĹ����ǰ��� "/images" ��·���Żᴥ����Ӧ�IJ�����
�������������Ĭ������������������ "/images/*.png" ���ɷ�����ӦͼƬ��ǰ���Ǹ�ͼƬ�洢�����ǵķ������ϡ��������������۲�һ��Ч����ֵ��ע����ǣ����ַ�ʽ�������ʲ����Ǻܸߣ������ڸղ������Ե��������Ҫ��ˢ�¼��β��ܿ���Ч����
�����Ե����ר�����ڴ����û�������
const html = `
AI��ͼ
��ͼ���
�ı�����
`;
async function handleRequest(request) {
return new Response(html, {
headers: {
'content-type': 'text/html; charset=UTF-8',
'x-edgefunctions-test': 'Welcome to use Edge Functions.',
},
});
}
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
��δ��붨����һ��HTMLҳ�棬����չʾһ��AI��ͼӦ�õ��û����棬����������֮������JavaScript���롣��Ҫ���ܺ���ɲ������£�
container
�����ڲ���������Ҫ���֣���ͼ���չʾ���ı��������롣
image-container
������չʾAI���ɵ�ͼ��
text-description
��
text-description2
�����û��������������ͷ�������������ָ��AI��ͼ��
generate-button
�����ڴ���AI��ͼ���̡�
createImageList
��������̬����һ��ͼƬ�б���չʾ��ҳ���ϡ�
generate-button
��ť�ĵ���¼����ռ��û������������ѡ��IJ���������һ��AI��ͼ���󣬲����͵���������
XMLHttpRequest
������POST����ָ���ķ�������ַ��������Ӧ����̬����ҳ���ϵ�ͼ��������չʾ���ɵ�ͼ��
���ǿ�һ������Ч����
���Ѿ��� IP ��ַ���������������ȷ����С���䶯���������Ҫ������ֻ����� IP ��ַ��Ȼ�����²��𼴿����·��ʡ�
�������ٴι۲�һ������ͼƬ��Ч�����������ʱ����̨�ӿڵ���ӦҲ���������ġ�
����ȷʵ���������ռ䣬����ϸ�����һ�£�����������ܳ���ģ�͵������ϡ����磬���ڿ��߱Ȳ����������ε�ͼ�񣬿�����΢��һ����һ�㡣�������ɵ�ͼ�����߹����ԡ�����Щ���ⶼ�ǿ���ͨ�����Խ���ġ��ܵ���˵�����ǵ�EdgeOne��HAI���λ������Ѿ�ȡ���˽׶��Եijɹ������Ǹ�һ�����ˡ�
��ƪ����Դ�����˴��������������˼������Ͷ���˴���ʱ���뾫����������EdgeOne��HAI֮���Ðͬ���ԣ��˷����ڶ༼���������⡣ͨ����и��Ŭ�����ɹ��ؽ�������ǿ���ƽ̨������һ�𣬴����һ���������IJο����������̽��Ҳ���Ҹ����״������Ե����ʽ��Ʒ��ʵ��֮�á���ϣ��ͨ��������εľ����ͳɹ����ܹ����������˶���Щǰ�ؼ�������Ȥ��̽�����������ҵ���Ŀ����Ȥ�����ߴ��л����������������������֧�֣�Ҳ��Ó��ע�ң�һ����ѧϰ����ͬ������
ʹ��Blender���ɳ���ģ��
�Ķ�ȫ����������ERA5�����ط���
�Ķ�Xpath���������﷨
�Ķ�����ѧϰ�������繹�����£�
�Ķ���ΪMateƷ��ʢ�䣺HarmonyOS NEXT�ӳ�����Ϸ���ܵõ�����ͷ�
�Ķ�ʵ�ֶ��󼯺���DataTable���໥ת��
�Ķ�Ӳ�̵Ļ���֪ʶ��ѡ��ָ��
�Ķ�������й��ƶ��ı�ͼ��ײ�
�Ķ�����NEXTԪ�����������ѿ����ϼ���Ʒ
�Ķ��ᳲ���С������������Ƽ��رշ���
�Ķ������ArcMap�����н���դ��ͼ���ز�������
�Ķ��㷨�����ݽṹ 1 - ģ��
�Ķ���Ѷ�����߿ͷ���Ӫ��ϵͳ����
�Ķ���Ѷ��Ƶҹ��ģʽ���ý̳�
�Ķ����ں���NEXT��Ѫ���Ŵ���������������
�Ķ�5. Spring Cloud OpenFeign ����ʽ WebService �ͻ��˵ij���ϸʹ��
�Ķ�Java����ģʽ����̬�����Ͷ�̬�����ĶԱȷ���
�Ķ�Win11�ʼDZ����Զ�����Ӧ�õ���ɫ����ʾ����
�Ķ�˼�� V1.5.6 ��׿��
��ս�귨 V7.5.0 ��׿��
У��������������׵������� V1.0 ��׿��
��˸֮�� V1.9.7 ��׿��
������Ե����� v1.0.4 ��׿��
������֮ŠV5.2.3 ��׿��
��������������Դ V1.0 ��׿��
���֮Ϣ V1.0 ��׿��
��ħ������������䣩 V1.0 ��׿��
���ں�������ϵ�����������������վ�����������������Ƽ�����
Ƶ�� ����Ƶ��������ר������������׿�������app����
�Ƽ� ��Ô���������°��������ܿ������ز���
���� ����ɫ������������ ���������ս������������
ɨ��ά�����������ֻ��汾��
ɨ��ά����������΢�Ź��ںţ�
��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]
��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������