
在腾讯EdgeOne Pages模版详情页面点击“Deploy”按钮,填写必要的API密钥,点击“开始部署”——短短几分钟内,一个完整的AI图片生成应用就这样上线了。
随着人工智能技术的快速发展,AI图片生成功能已成为现代应用中不可或缺的一部分。无论是内容创作、产品设计还是营销素材制作,AI图片生成技术都能提供高效、创新的解决方案。
对于开发者而言,如何将这项能力快速、安全地集成到自己的应用中,成为了一个值得深入探讨的课题。
原生API调用和AI SDK封装调用是当前将AI图片生成能力集成到应用中的两种主要技术路径,每种路径都有其独特的优势和应用场景。
原生API调用提供了精细控制和高度灵活性,开发者可以直接与底层API交互,定制化程度高。AI SDK则通过统一接口简化了开发流程,实现了多厂商模型的轻松切换。
以EdgeOne Pages为例,这两种集成方式都有对应的模版:ai-image-generator-starter用于原生接口调用,而ai-sdk-image-generator-starter则适用于AI SDK封装调用。
在开始集成之前,开发者需要根据自身需求选择合适的技术路径。对于追求控制和定制化的项目,原生API调用是更好的选择;而对于希望快速上线并支持多种模型的项目,AI SDK封装调用则更为合适。
要实现AI图片生成功能,首先需要申请API Key。主流AI图片生成提供商的API Key获取地址包括:
部署过程简单直观。以ai-sdk-image-generator-starter模版为例,在模版详情页面点击“Deploy”按钮,系统将跳转到EdgeOne Pages控制台。
在部署界面,开发者需要配置环境变量,这些配置项对应不同AI图片生成服务的API Key。不同模版会呈现不同的配置项列表,但必须确保至少有一个API Key配置正确且可用。
完成配置后点击“start deployment”按钮,项目就会开始自动部署。部署成功后,GitHub帐户下会生成一个与模版相同的项目,开发者可以通过git clone命令将其下载到本地进行进一步的开发和定制。
原生API调用方式让开发者能够精细控制每一个请求细节。在这一模式下,图片生成的基本流程是:前端发送生图参数到边缘函数,边缘函数调用AI模型API,最后将生成的图片返回给前端显示。
在前端部分,用户需要配置可用的AI模型列表。以src/pages/index.tsx文件中的核心代码为例:
const res = await fetch("/v1/generate", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
image: `${prompt} (${modelInfo.name} style)`,
platform: platform.id,
model: modelInfo.value || selectedModel,
}),
});
边缘函数的处理逻辑位于functions/v1/generate/index.js文件中。函数首先接收前端传递的参数,然后检查对应平台的环境变量是否配置正确。
const validateToken = (platform) => {
const tokens = {
nebius: env.NEBIUS_TOKEN,
huggingface: env.HF_TOKEN,
replicate: env.REPLICATE_TOKEN,
openai: env.OPENAI_API_KEY,
fal: env.FAL_KEY,
};
if (!tokens[platform]) {
throw new Error(
`${platform} API token is not configured. Please check your environment variables.`
);
}
};
这种通过env访问环境变量的方式,有效防止了API密钥在代码中明文暴露,提高了应用的安全性。敏感信息存储在环境变量中,而非硬编码在源代码里。
环境变量检查完成后,函数会直接请求对应平台的图片生成模型API。以HuggingFace为例,其标准API请求核心代码如下:
const response = await PROVIDERS.fetch(url, {
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
method: "POST",
body: JSON.stringify(data),
});
EdgeOne Pages的AI图片生成模版已经支持了多种主流模型,包括HuggingFace、OpenAI、Replicate、Fal、Nebius等。生成图片后,函数将结果返回给前端,模版项目内已经内置了图片显示的完整逻辑。
与原生API调用方式相比,AI SDK封装调用通过统一接口简化了开发流程。它允许开发者使用相同的代码结构调用不同厂商的AI图片模型,显著提高了开发效率和多模型切换的便利性。
在AI SDK方式下,前端通过/api/generate接口发送请求:
const response = await fetch(apiUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt,
model,
size,
}),
});
这里需要注意的是,size参数需要提前设置,因为不同的模型支持的尺寸列表可能不一致。
例如,DALL-E 3支持“1024x1024”、“1024x1792”、“1792x1024”等尺寸,而Stable Diffusion可能支持“512x512”、“768x768”等不同规格。
EdgeOne Pages的AI SDK图片生成模版已经梳理了AI SDK支持模型对应的尺寸列表,相关配置位于components/modelSizeMapping.ts文件中。开发者可以直接使用这些预配置的尺寸映射,无需手动处理不同模型的尺寸兼容性问题。
AI SDK同样避免了密钥泄漏风险。函数在调用AI图片模型时,使用AI SDK暴露的experimental_generateImage对象来统一生成图片内容,密钥的获取由experimental_generateImage在内部自动处理。
const imageResult = await experimental_generateImage({
model: imageModel,
prompt: prompt,
size: size, // Use frontend-provided size
});
调用experimental_generateImage后,只需要读取函数返回的标准格式内容即可:
const imageUrl = `data:image/png;base64,${imageResult.image.base64}`;
return new Response(
JSON.stringify({
images: [
{
url: imageUrl,
base64: imageResult.image.base64,
},
],
})
);
开发者在下载项目到本地后,可能需要进行本地开发、调试或预览。为了简化本地环境配置,EdgeOne提供了专门的CLI工具。
使用EdgeOne CLI需要先安装并登录,具体步骤可以参考EdgeOne CLI的文档介绍。在安装和登录后,开发者可以在本地项目下执行edgeone pages link命令,将项目与EdgeOne Pages控制台的项目进行关联。
执行该命令后,系统会提示输入EdgeOne Pages的项目名,即上文部署的模版项目的项目名称。输入项目名后,EdgeOne Pages控制台的环境变量会自动同步到本地。
关联成功后,本地项目根目录下会生成.env文件,包含所有已配置的环境变量列表。关联后,可以执行edgeone pages dev命令来进行本地部署,部署后可以在localhost:8088进行访问。
对于代码的自定义修改,开发者可以直接通过git提交项目到GitHub。EdgeOne Pages会检测GitHub的提交记录并自动进行重新部署,实现真正的持续集成与持续部署。
部署完成后,控制台会显示部署状态和预览界面,开发者可以立即验证功能是否正常工作。
AI图片生成集成后的应用界面,简洁直观。模板提供了开箱即用的用户界面,用户可以直接输入提示词、选择模型和调整参数,生成结果会即时显示在右侧区域。
在本地测试过程中,如果对生成效果或性能有特定要求,开发者可以灵活切换不同的AI模型提供商。不同的模型在风格表现、细节处理等方面各有特色,有些专注于写实风格,有些擅长艺术创作,实际测试是找到最适合项目的关键一步。
( 文章来源:Tencent Cloud )

1 个月前
AI图片生成集成指南:从API到SDK的完整实现路径 在腾讯EdgeOne Pages模版详情页面点击“Deploy”按钮,填写必要的API密钥,点击“开始部署”——短短几分钟内,一个完整的AI图片生成应用就这样上线了。 随着人工智能技术的快速发展,AI图片生成功能已成为现代应用中不可或缺的一部分。无论是内容创作、产品设计还是营销素材制作,AI图片生成技术都能提供高效、创新的解决方案。 对于开发者而言,如何将这项能力快速、安全地集成到自己的应用中,成为了一个值得深入探讨的课题。 01 理解两种集成路径 原生API调用和AI SDK封装调用是当前将AI图片生成能力集成到应用中的两种主要技术路径,每种路径都有其独特的优势和应用场景。 原生API调用提供了精细控制和高度灵活性,开发者可以直接与底层API交互,定制化程度高。AI SDK则通过统一接口简化了开发流程,实现了多厂商模型的轻松切换。 以EdgeOne Pages为例,这两种集成方式都有对应的模版:ai-image-generator-starter用于原生接口调用,而ai-sdk-image-generator-starter则适用于AI SDK封装调用。 在开始集成之前,开发者需要根据自身需求选择合适的技术路径。对于追求控制和定制化的项目,原生API调用是更好的选择;而对于希望快速上线并支持多种模型的项目,AI SDK封装调用则更为合适。 02 快速入门:环境准备与部署 要实现AI图片生成功能,首先需要申请API Key。主流AI图片生成提供商的API Key获取地址包括: Hugging Face:huggingface.co/settings/tokens OpenAI:platform.openai.com/api-keys Replicate:replicate.com/account/api-tokens Fal:fal.ai/dashboard/keys Nebius:nebius.com/console 部署过程简单直观。以ai-sdk-image-generator-starter模版为例,在模版详情页面点击“Deploy”按钮,系统将跳转到EdgeOne Pages控制台。 在部署界面,开发者需要配置环境变量,这些配置项对应不同AI图片生成服务的API Key。不同模版会呈现不同的配置项列表,但必须确保至少有一个API Key配置正确且可用。 完成配置后点击“start deployment”按钮,项目就会开始自动部署。部署成功后,GitHub帐户下会生成一个与模版相同的项目,开发者可以通过git clone命令将其下载到本地进行进一步的开发和定制。 03 原生API调用详解 原生API调用方式让开发者能够精细控制每一个请求细节。在这一模式下,图片生成的基本流程是:前端发送生图参数到边缘函数,边缘函数调用AI模型API,最后将生成的图片返回给前端显示。 在前端部分,用户需要配置可用的AI模型列表。以src/pages/index.tsx文件中的核心代码为例: const res = await fetch("/v1/generate", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ image: `${prompt} (${modelInfo.name} style)`, platform: platform.id, model: modelInfo.value || selectedModel, }), }); 边缘函数的处理逻辑位于functions/v1/generate/index.js文件中。函数首先接收前端传递的参数,然后检查对应平台的环境变量是否配置正确。 const validateToken = (platform) => { const tokens = { nebius: env.NEBIUS_TOKEN, huggingface: env.HF_TOKEN, replicate: env.REPLICATE_TOKEN, openai: env.OPENAI_API_KEY, fal: env.FAL_KEY, }; if (!tokens[platform]) { throw new Error( `${platform} API token is not configured. Please check your environment variables.` ); } }; 这种通过env访问环境变量的方式,有效防止了API密钥在代码中明文暴露,提高了应用的安全性。敏感信息存储在环境变量中,而非硬编码在源代码里。 环境变量检查完成后,函数会直接请求对应平台的图片生成模型API。以HuggingFace为例,其标准API请求核心代码如下: const response = await PROVIDERS.fetch(url, { headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json", }, method: "POST", body: JSON.stringify(data), }); EdgeOne Pages的AI图片生成模版已经支持了多种主流模型,包括HuggingFace、OpenAI、Replicate、Fal、Nebius等。生成图片后,函数将结果返回给前端,模版项目内已经内置了图片显示的完整逻辑。 04 AI SDK封装调用解析 与原生API调用方式相比,AI SDK封装调用通过统一接口简化了开发流程。它允许开发者使用相同的代码结构调用不同厂商的AI图片模型,显著提高了开发效率和多模型切换的便利性。 在AI SDK方式下,前端通过/api/generate接口发送请求: const response = await fetch(apiUrl, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ prompt, model, size, }), }); 这里需要注意的是,size参数需要提前设置,因为不同的模型支持的尺寸列表可能不一致。 例如,DALL-E 3支持“1024x1024”、“1024x1792”、“1792x1024”等尺寸,而Stable Diffusion可能支持“512x512”、“768x768”等不同规格。 EdgeOne Pages的AI SDK图片生成模版已经梳理了AI SDK支持模型对应的尺寸列表,相关配置位于components/modelSizeMapping.ts文件中。开发者可以直接使用这些预配置的尺寸映射,无需手动处理不同模型的尺寸兼容性问题。 AI SDK同样避免了密钥泄漏风险。函数在调用AI图片模型时,使用AI SDK暴露的experimental_generateImage对象来统一生成图片内容,密钥的获取由experimental_generateImage在内部自动处理。 const imageResult = await experimental_generateImage({ model: imageModel, prompt: prompt, size: size, // Use frontend-provided size }); 调用experimental_generateImage后,只需要读取函数返回的标准格式内容即可: const imageUrl = `data:image/png;base64,${imageResult.image.base64}`; return new Response( JSON.stringify({ images: [ { url: imageUrl, base64: imageResult.image.base64, }, ], }) ); 05 本地调试与持续集成 开发者在下载项目到本地后,可能需要进行本地开发、调试或预览。为了简化本地环境配置,EdgeOne提供了专门的CLI工具。 使用EdgeOne CLI需要先安装并登录,具体步骤可以参考EdgeOne CLI的文档介绍。在安装和登录后,开发者可以在本地项目下执行edgeone pages link命令,将项目与EdgeOne Pages控制台的项目进行关联。 执行该命令后,系统会提示输入EdgeOne Pages的项目名,即上文部署的模版项目的项目名称。输入项目名后,EdgeOne Pages控制台的环境变量会自动同步到本地。 关联成功后,本地项目根目录下会生成.env文件,包含所有已配置的环境变量列表。关联后,可以执行edgeone pages dev命令来进行本地部署,部署后可以在localhost:8088进行访问。 对于代码的自定义修改,开发者可以直接通过git提交项目到GitHub。EdgeOne Pages会检测GitHub的提交记录并自动进行重新部署,实现真正的持续集成与持续部署。 部署完成后,控制台会显示部署状态和预览界面,开发者可以立即验证功能是否正常工作。 AI图片生成集成后的应用界面,简洁直观。模板提供了开箱即用的用户界面,用户可以直接输入提示词、选择模型和调整参数,生成结果会即时显示在右侧区域。 在本地测试过程中,如果对生成效果或性能有特定要求,开发者可以灵活切换不同的AI模型提供商。不同的模型在风格表现、细节处理等方面各有特色,有些专注于写实风格,有些擅长艺术创作,实际测试是找到最适合项目的关键一步。 ( 文章来源:Tencent Cloud )

7 个月前
2024年8月,德国黑森林AI实验室(Black Forest Labs)正式从隐身模式走向公众视野,发布了备受瞩目的FLUX.1模型套件。这套模型在各个方面都达到了新的行业标准,迅速在AI图像生成领域掀起波澜。FLUX.1模型在用户评价中超越了Midjourney和OpenAI的DALL-E,在Hugging Face平台上的下载量占据榜首。 黑森林AI实验室在今年五月份推出的名为“Kontext”的AI模型系列,不仅能生成图像,还能在图像生成之后进行复杂的编辑。这种双重能力让Kontext在拥挤的AI视觉模型市场中脱颖而出,与市面上的DALL·E或Stable Diffusion不同,Kontext在统一架构中同时训练图像生成和编辑任务,实现更准确的图像理解与上下文编辑能力。 .

11 个月前
我们在开发网站的时候,往往有想克隆别人网站的想法。那么在技术上怎么才能实现呢? ⚠️ 重要提示 确认目标网站的版权和合法性:如果你没有目标网站的授权,直接克隆并使用可能会侵犯版权或违反法律。 如果只是想模仿其功能或界面,建议自行开发类似的网站,而不是直接复制。 如果你拥有授权,可以使用以下方法进行克隆。 🔹 方法 1:使用 HTTrack 下载整个网站 HTTrack 是一个网站克隆工具,可用于离线浏览: 下载安装 HTTrack(Windows/macOS/Linux 都支持)。 创建新项目 并输入目标网站 URL地址。 启动克隆,HTTrack 会下载 HTML、CSS、JS、图片等资源。 本地查看和编辑,然后上传到自己的服务器。 缺点: 只能克隆静态页面(HTML、CSS、JS),无法克隆后端功能(如 API、数据库、登录系统等)。 如果目标网站有反爬虫策略,可能无法完整下载。 🔹 方法 2:手动分析 & 重新开发 如果你想复制网站的功能,而不仅仅是外观,建议进行以下操作: 1. 分析网站前端 使用 Chrome 开发者工具(F12) 查看 HTML 结构、CSS 样式和 JavaScript 逻辑。 使用 Postman 或浏览器 Network 面板 分析 API 接口调用方式(如果适用)。 复制或编写类似的 HTML/CSS/JS 代码,实现前端界面。 2. 分析网站后端 如果网站有 API 接口、数据库等后端功能,需要: 观察 API 调用(GET/POST 请求)以了解数据交互方式。 搭建类似的后端(Node.js、Python、PHP、Go 等),并使用数据库(MySQL、MongoDB 等)。 如果网站使用的是 OpenAI API,你可以在 [OpenAI 官方网站] 申请 API Key,然后在你的项目中集成 ChatGPT 或 DALL·E 相关功能。 3. 部署你的网站 本地开发:使用 HTML + CSS + JavaScript + 后端框架(如 Flask、Express、Django)。 云端部署:选择服务器(AWS、阿里云、Vultr、腾讯云等)并部署网站。 🔹 方法 3:使用 Web Scraping(仅用于数据获取) 如果你只想获取网页上的文本数据,可以使用 Python + BeautifulSoup / Selenium 进行爬取: import requests from bs4 import BeautifulSoup url = "http://openai.cha-tai.cn/" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 提取页面文本 text = soup.get_text() print(text) 注意: 如果网站有反爬虫机制,可能需要使用 Selenium 或 Scrapy 进行爬取。 只能获取静态数据,无法克隆网站的功能。 🔹 结论 如果你只是想获取网站的内容,HTTrack 或 Web Scraping 可能够用。 但如果你想克隆网站的功能,建议分析前端和后端结构,并自行开发。

11 个月前
高盛报告:阿里巴巴领衔AI基建,腾讯主导AI应用领域 2月14日,高盛发布最新研究报告,揭示了中国互联网行业在人工智能(AI)技术快速发展背景下的新格局。报告指出,行业正逐渐分化为两大阵营:AI基础设施建设和AI应用开发。阿里巴巴凭借其强大的云服务基础设施,成为AI基建领域的关键力量;而腾讯则依托其在消费者端(C端)应用的广泛生态和卓越用户体验,成为AI应用领域的核心推动者。 报告详细分析了两家公司的优势:阿里巴巴作为中国最大的云服务提供商,其规模优势在AI基础设施建设中占据重要地位,预计在2026财年将实现14倍的预期市盈率。腾讯则凭借其微信超级应用的潜在AI代理功能和闭环交易能力,在2025财年预期市盈率达到16倍,同时腾讯云在中国公共云市场中也稳居前三。 报告进一步预测,随着中国AI模型的灵活性和计算成本效率的显著提升,超级应用如微信和抖音将继续深化在电子商务和本地服务等交易领域的应用。此外,随着开源模型的兴起和计算成本的降低,AI的采用率将进一步提高,特别是在支持多年云和数据中心需求增长的企业端(B端)场景中。 高盛特别强调,腾讯通过其强大的C端生态和用户体验,将AI技术深度融入日常生活。报告以元宝为例,指出其快速崛起是腾讯在AI应用领域实力的体现。元宝集成了DeepSeek-R1模型的强大推理能力和腾讯云的AI推理基础设施,不仅提供了更智能的交互体验,还通过微信生态的独特内容支持,实现了更精准的信息推送和更高效的任务执行。 报告最后指出,集成R1后的元宝在用户体验上实现了质的飞跃,用户可以通过多轮对话和深度思考模式,快速获取微信公众号、视频号等生态内的丰富内容,进一步巩固了腾讯在AI应用领域的领先地位。

1 年前
腾讯混元大模型的数学原理主要基于深度学习和自然语言处理领域的相关技术,以下是其核心要点: 神经网络与Transformer架构 多层神经网络:混元大模型采用多层神经网络结构,通过模拟人脑神经元之间的连接来处理和学习数据。每个神经元接收来自上一层神经元的输入,并通过激活函数进行处理后输出到下一层神经元,从而实现对数据的特征提取和模型的训练。 Transformer核心机制:混元大模型基于Transformer架构,其核心是自注意力机制。自注意力机制能够计算文本中每个位置与其他位置之间的关联程度,从而捕捉长距离依赖关系,更好地理解句子中的上下文信息。在计算自注意力时,对于输入序列中的每个位置,会计算其与其他位置的注意力得分,然后根据这些得分对相应位置的特征进行加权求和,得到该位置的新特征表示。除了自注意力机制外,Transformer还包括前馈神经网络,用于对经过自注意力机制处理后的特征进行进一步的非线性变换。 预训练与微调 预训练:在大规模语料库上预先训练模型,使其学习语言的一般规律和知识,如语法、语义、常见的语言模式等。预训练过程通常采用无监督学习的方式,例如使用大量的文本数据进行自监督学习,让模型自动预测文本中的下一个单词或句子中的空缺部分等。通过预训练,模型能够获得丰富的语言知识和语义理解能力,为后续的微调任务奠定基础。 微调:在预训练完成后,根据具体的任务需求,对模型进行微调。微调是在特定的有标注数据集上进行的有监督学习过程,通过调整模型的参数,使其在特定任务上达到更好的性能。例如,在文本分类任务中,使用标注好的文本分类数据集对预训练模型进行微调,让模型学习到如何根据输入文本的特征进行分类。 优化算法与正则化技术 优化算法:在训练过程中,使用优化算法来调整模型的参数,以最小化预测误差。常见的优化算法如随机梯度下降(SGD)及其变种Adagrad、Adadelta、RMSProp、Adam等。这些算法通过计算损失函数对模型参数的梯度,并根据梯度的方向和大小来更新参数,使得模型在训练过程中逐渐收敛到最优解。 正则化技术:为了减少过拟合,提高模型的泛化能力,混元大模型采用了正则化技术,如Dropout和Batch Normalization。Dropout在训练过程中随机丢弃一部分神经元,使得模型在每次训练时都使用不同的子网络结构,从而增加模型的鲁棒性和泛化能力。Batch Normalization则是对每个批次的输入数据进行归一化处理,使得模型在训练过程中输入数据的分布更加稳定,加快训练速度并提高模型的性能。 混合专家模型结构 混元大模型采用混合专家模型结构,每一层包含多个并行的同构专家,一次token的前向计算只会激活部分专家,推理成本远低于同等参数的稠密模型。同时,在路由策略上进行创新,在传统Top-K路由的基础上进一步提出了随机补偿的路由方式,将因为专家满负载原本会扔掉的token,随机路由到其他仍有负载冗余的专家,保障训练稳定性。还设置一个共享专家来捕获所有token所需的共同知识,并通过多个需要路由的专家动态学习特定领域的知识。 处理长文与提升推理效率 长文处理:对于长文领域,通过引入多阶段预训练和退火机制,使得模型仅使用少量长文合成语料,即可获得较好的长文效果,显著提升模型长文外推能力。 推理效率提升:使用Grouped-Query Attention和Cross-Layer Attention两种KV Cache压缩策略,从head/layer两个维度联合压缩KV cache,并引入量化技术,进一步提升压缩比,最终将模型的KV Cache压缩为MHA的5%,大幅提升推理性能。

1 年前
腾讯两大智能体平台:腾讯元器和 AppAgent。

1 年前
Shadcn/ui 是一个功能强大的 UI 组件库,结合文本提示和图像生成来创建 UI 可以为用户带来独特的设计体验。

1 年前
广州金域医学检验集团股份有限公司与腾讯医疗健康(深圳)有限公司联合主办了2024“域见杯”医检人工智能开发者大赛,旨在加速医检AI创新成果的转化落地。
Minimax(海螺AI)已由大模型名Minimax替换原海螺AI。现海螺AI为Minimax视频生成产品名。
海螺AI