搭建文生图AI系统

简介: 随着人工智能的发展,**文本生成图像(文生图)**技术在广告创意、视觉设计、内容营销等领域应用广泛。阿里云通义千问作为先进的大语言模型,不仅具备强大的文本理解能力,还能与图像生成技术结合,实现根据文本描述自动生成高质量图像。本博客将展示如何使用通义千问与阿里云的其他产品(如函数计算、API 网关、对象存储 OSS)搭建一个简单的文生图系统,实现用户输入文本并生成相应图像的功能。

一、项目背景与产品介绍

随着人工智能的发展,文本生成图像(文生图)技术在广告创意、视觉设计、内容营销等领域应用广泛。阿里云通义千问作为先进的大语言模型,不仅具备强大的文本理解能力,还能与图像生成技术结合,实现根据文本描述自动生成高质量图像。

本博客将展示如何使用通义千问与阿里云的其他产品(如函数计算、API 网关、对象存储 OSS)搭建一个简单的文生图系统,实现用户输入文本并生成相应图像的功能。

二、系统架构设计
文生图系统架构如下:

通义千问 API:处理用户文本输入,生成图像描述。
图像生成 API:将文本描述转换为图像。
函数计算(FC):承载逻辑处理,将用户请求分发到相关 API。
对象存储(OSS):存储生成的图像并提供外部访问。
API 网关:作为统一入口,提供 HTTP 接口。
前端界面:提供用户输入文本并展示生成图像的页面。

三、阿里云相关产品的使用流程

  1. 通义千问 API 接入

登录阿里云,进入通义千问控制台。
开通 API 服务,获取AppKey和AppSecret。
确认通义千问可正常生成图像描述。
示例调用(Python代码)
import requests
import json

API_URL = "https://qianwen-api.aliyun.com/v1/completions"
APP_KEY = "your_app_key"
APP_SECRET = "your_app_secret"

headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {APP_SECRET}"
}

data = {
"model": "qianwen-chat",
"prompt": "请描述一幅夕阳下的山川图景。",
"max_tokens": 100,
"temperature": 0.7
}

response = requests.post(API_URL, headers=headers, data=json.dumps(data))
print(response.json())

输出事例:
{
"choices": [
{
"text": "一幅夕阳西下,群山连绵起伏,天空染上橙红色的图景。"
}
]
}

  1. 图像生成 API 接入(可选 Midjourney 或 DALL·E 替代)

将通义千问生成的描述发送到图像生成 API。以下是调用示例:

IMAGE_API_URL = "https://api.image-generator.com/v1/generate"

image_data = {
"prompt": response.json()["choices"][0]["text"],
"size": "1024x1024"
}

image_response = requests.post(IMAGE_API_URL, headers={"Authorization": "Bearer image_api_key"}, data=json.dumps(image_data))
image_url = image_response.json().get("url")
print(f"生成的图像链接:{image_url}")

  1. 函数计算(FC)处理逻辑

登录阿里云控制台,进入函数计算。
创建新的函数,选择 HTTP 触发器。
部署完整代码,将用户文本生成图像并返回结果。

函数代码示例:

import json
import requests
import os

def handler(environ, start_response):
try:
request_body = environ['wsgi.input'].read().decode('utf-8')
user_prompt = json.loads(request_body)['prompt']

    # 通义千问生成图像描述
    api_url = "https://qianwen-api.aliyun.com/v1/completions"
    app_secret = os.getenv("APP_SECRET")
    headers = {"Content-Type": "application/json", "Authorization": f"Bearer {app_secret}"}
    payload = {"model": "qianwen-chat", "prompt": user_prompt, "max_tokens": 100, "temperature": 0.7}

    response = requests.post(api_url, headers=headers, json=payload)
    description = response.json().get("choices", [{}])[0].get("text")

    # 调用图像生成 API
    image_api_url = "https://api.image-generator.com/v1/generate"
    image_data = {"prompt": description, "size": "1024x1024"}
    image_response = requests.post(image_api_url, headers=headers, json=image_data)
    image_url = image_response.json().get("url")

    start_response('200 OK', [('Content-Type', 'application/json')])
    return [json.dumps({"image_url": image_url}).encode('utf-8')]
except Exception as e:
    start_response('500 Internal Server Error', [('Content-Type', 'text/plain')])
    return [str(e).encode('utf-8')]
  1. 配置 API 网关

登录阿里云,进入API 网关。
创建 API 服务并绑定函数计算,设置路径为/generate-image。
配置 API 安全策略。

  1. 存储图像到 OSS

登录阿里云,进入OSS 控制台。
创建一个存储桶并设置公共读取权限。
上传图像并获取访问链接。
示例 OSS 上传代码

import oss2

def upload_image_to_oss(image_url, file_name):
auth = oss2.Auth('your_access_key_id', 'your_access_key_secret')
bucket = oss2.Bucket(auth, 'oss-cn-your-region.aliyuncs.com', 'your_bucket_name')

image_data = requests.get(image_url).content
bucket.put_object(file_name, image_data)
return f"https://{bucket.bucket_name}.oss-cn-your-region.aliyuncs.com/{file_name}"

四、前端展示示例

<!DOCTYPE html>

<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>文生图系统</title>
</head>
<body>
    <h1>文生图系统</h1>
    <textarea id="prompt" placeholder="请输入生成图像的描述"></textarea><br>
    <button onclick="generateImage()">生成图像</button>
    <img id="result" style="display:none;" />

    <script>
        async function generateImage() {
   
            const prompt = document.getElementById('prompt').value;
            const response = await fetch('https://your_api_gateway_url/generate-image', {
   
                method: 'POST',
                headers: {
   'Content-Type': 'application/json'},
                body: JSON.stringify({
    prompt })
            });
            const result = await response.json();
            const img = document.getElementById('result');
            img.src = result.image_url;
            img.style.display = 'block';
        }
    </script>
</body>
</html>

五、总结与优化建议
提高图像生成速度:可通过缓存和并行调用优化响应时间。
多样化生成:通过调整temperature参数或提供多个模型选项增加生成多样性。
监控与日志:使用阿里云日志服务(SLS)监控系统性能,定位问题。
通过本文的示例,您可以轻松构建基于阿里云通义千问的文生图系统,为您的业务或项目提供自动化图像生成能力。希望这篇博客为您的开发提供有效的指导!

目录
相关文章
|
4月前
|
人工智能 监控 安全
提效40%?揭秘AI驱动的支付方式“一键接入”系统
本项目构建AI驱动的研发提效系统,通过Qwen Coder与MCP工具链协同,实现跨境支付渠道接入的自动化闭环。采用多智能体协作模式,结合结构化Prompt、任务拆解、流程管控与安全约束,显著提升研发效率与交付质量,探索大模型在复杂业务场景下的高采纳率编码实践。
599 26
提效40%?揭秘AI驱动的支付方式“一键接入”系统
|
4月前
|
人工智能 自然语言处理 前端开发
最佳实践2:用通义灵码以自然语言交互实现 AI 高考志愿填报系统
本项目旨在通过自然语言交互,结合通义千问AI模型,构建一个智能高考志愿填报系统。利用Vue3与Python,实现信息采集、AI推荐、专业详情展示及数据存储功能,支持响应式设计与Supabase数据库集成,助力考生精准择校选专业。(239字)
491 12
|
4月前
|
存储 人工智能 搜索推荐
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
本文介绍基于LangGraph构建的双层记忆系统,通过短期与长期记忆协同,实现AI代理的持续学习。短期记忆管理会话内上下文,长期记忆跨会话存储用户偏好与决策,结合人机协作反馈循环,动态更新提示词,使代理具备个性化响应与行为进化能力。
832 10
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
|
4月前
|
机器学习/深度学习 人工智能 JSON
PHP从0到1实现 AI 智能体系统并且训练知识库资料
本文详解如何用PHP从0到1构建AI智能体,涵盖提示词设计、记忆管理、知识库集成与反馈优化四大核心训练维度,结合实战案例与系统架构,助你打造懂业务、会进化的专属AI助手。
500 6
|
4月前
|
人工智能 JSON 安全
Claude Code插件系统:重塑AI辅助编程的工作流
Anthropic为Claude Code推出插件系统与市场,支持斜杠命令、子代理、MCP服务器等功能模块,实现工作流自动化与团队协作标准化。开发者可封装常用工具或知识为插件,一键共享复用,构建个性化AI编程环境,推动AI助手从工具迈向生态化平台。
855 1
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
拔俗当AI成为你的“心灵哨兵”:多模态心理风险预警系统如何工作?
AI多模态心理预警系统通过融合表情、语调、文字、绘画等多维度数据,结合深度学习与多模态分析,实时评估心理状态。它像“心灵哨兵”,7×24小时动态监测情绪变化,发现抑郁、焦虑等风险及时预警,兼顾隐私保护,助力早期干预,用科技守护心理健康。(238字)
224 1
|
4月前
|
存储 人工智能 自然语言处理
拔俗AI产投公司档案管理系统:让数据资产 “活” 起来的智能助手
AI产投档案管理系统通过NLP、知识图谱与加密技术,实现档案智能分类、秒级检索与数据关联分析,破解传统人工管理效率低、数据孤岛难题,助力投资决策提效与数据资产化,推动AI产投数字化转型。
241 0
|
4月前
|
人工智能 算法 数据安全/隐私保护
拔俗AI多模态心理风险预警系统:用科技守护心理健康的第一道防线
AI多模态心理风险预警系统通过语音、文本、表情与行为数据,智能识别抑郁、焦虑等心理风险,实现早期干预。融合多源信息,提升准确率,广泛应用于校园、企业,助力心理健康服务从“被动响应”转向“主动预防”,为心灵筑起智能防线。(238字)
527 0
|
4月前
|
人工智能 搜索推荐 Cloud Native
拔俗AI助教系统:教师的"超级教学秘书",让每堂课都精准高效
备课到深夜、批改作业如山?阿里云原生AI助教系统,化身“超级教学秘书”,智能备课、实时学情分析、自动批改、精准辅导,为教师减负增效。让课堂从经验驱动转向数据驱动,每位学生都被看见,教育更有温度。
610 0
|
4月前
|
机器学习/深度学习 人工智能 监控
拔俗AI智能营运分析助手软件系统:企业决策的"数据军师",让经营从"拍脑袋"变"精准导航"
AI智能营运分析助手打破数据孤岛,实时整合ERP、CRM等系统数据,自动生成报表、智能预警与可视化决策建议,助力企业从“经验驱动”迈向“数据驱动”,提升决策效率,降低运营成本,精准把握市场先机。(238字)
174 0

热门文章

最新文章