尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

软件工程学习日志2025.12.18

软件工程学习日志2025.12.18
📅 发布时间:2026/6/19 17:44:36

🎯 今日目标:掌握文心一言和文心一格API的获取与调用方法

一、核心概念澄清 ✅

今天首先澄清了一个重要概念区别:

  1. AI模型 vs 数据模型

• AI模型:百度已训练好的大模型(如文心一言),我们直接调用API使用

• 数据模型:自己项目中定义的数据库结构(Django Models),需要自己设计创建

重要结论:我们不需要在百度官网创建模型,只需要在自己的Django项目中创建数据模型,然后调用现成的AI模型API。

二、API获取流程 📋

  1. 文心一言API(文本生成)

获取步骤:

  1. 访问百度AI开放平台:https://ai.baidu.com/

  2. 注册/登录并完成实名认证

  3. 进入控制台 → 文心大模型 → 文心一言

  4. 创建应用,获取API Key、Secret Key、App ID

  5. 注意查看免费调用额度

  6. 文心一格API(图像生成)

获取步骤:

  1. 同样在百度AI开放平台控制台
  2. 选择文心一格服务并开通
  3. 获取API凭证
  4. 了解图片生成的参数配置

三、技术实现代码 💻

  1. 安装依赖

pip install requests baidu-aip

  1. 核心函数封装

获取access_token

def get_access_token(api_key, secret_key):
url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={api_key}&client_secret={secret_key}"
response = requests.post(url)
return response.json().get("access_token")

文心一言:生成故事文本

def generate_story(keywords, api_key, secret_key):
access_token = get_access_token(api_key, secret_key)
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={access_token}"

prompt = f"请根据以下关键词创作一个适合儿童的短篇故事(300-500字):{keywords}"
payload = {"messages": [{"role": "user", "content": prompt}]
}response = requests.post(url, headers={'Content-Type': 'application/json'}, data=json.dumps(payload))
return response.json().get("result", "生成失败")

文心一格:生成故事插图

def generate_image(prompt, api_key, secret_key, save_path="story_image.png"):
access_token = get_access_token(api_key, secret_key)
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/sd_xl?access_token={access_token}"

payload = {"prompt": prompt,"size": "1024x1024","style": "卡通","n": 1
}response = requests.post(url, headers={'Content-Type': 'application/json'}, data=json.dumps(payload))if "data" in response.json():image_url = response.json()["data"][0]["image"]img_response = requests.get(image_url)with open(save_path, 'wb') as f:f.write(img_response.content)return save_path
return None

四、Django项目集成方案 🔄

  1. 数据模型设计

models.py

class Story(models.Model):
title = models.CharField(max_length=200) # 实验一
keywords = models.CharField(max_length=300)
content = models.TextField()
image_url = models.URLField(blank=True) # 实验二
audio_url = models.URLField(blank=True) # 实验三
created_at = models.DateTimeField(auto_now_add=True)

  1. 视图函数示例

views.py

def create_story_view(request):
if request.method == 'POST':
keywords = request.POST.get('keywords', '')

    # 1. 生成故事文本story_text = generate_story(keywords, API_KEY, SECRET_KEY)# 2. 生成插图image_prompt = f"儿童故事插图:{keywords}"image_path = generate_image(image_prompt, API_KEY, SECRET_KEY)# 3. 保存到数据库story = Story.objects.create(title=f"关于{keywords}的故事",keywords=keywords,content=story_text,image_url=f"/media/{image_path}" if image_path else "")return JsonResponse({'success': True, 'story': story.id})

五、学习收获与思考 💡

✅ 已掌握的知识点:

  1. API获取流程:清晰了解百度AI平台API申请步骤
  2. 接口调用方法:掌握access_token机制和API调用方式
  3. 错误处理意识:API调用需要添加try-catch和降级方案
  4. 项目集成思路:如何将AI能力嵌入到Django项目中

⚠️ 注意事项:

  1. 费用控制:API调用可能有费用,需关注免费额度和计费方式
  2. 速率限制:免费版本有QPS限制,需合理设计调用频率
  3. 内容安全:生成内容需符合平台规范,特别是儿童内容
  4. 数据存储:生成的图片建议使用云存储,避免服务器压力

六、下一步行动计划 🎯

短期任务(明天):

  1. ✅ 完成百度API账号注册和认证
  2. ✅ 获取实际的API Key和Secret Key
  3. ✅ 编写完整的Django模型和视图
  4. ✅ 测试端到端流程(关键词→故事→图片)

中期计划:

  1. 🔄 添加语音合成功能(实验三)
  2. 🔄 设计前端界面(表单提交+结果显示)
  3. 🔄 添加用户认证和故事收藏功能
  4. 🔄 优化生成提示词(prompt engineering)

备选方案:

如果百度API遇到问题,可考虑:
• 文本生成:智谱AI、阿里通义千问

• 图像生成:Stable Diffusion API、Leonardo AI

七、遇到问题与解决方案 ❓

问题1:API调用返回权限错误

可能原因:access_token过期或无效
解决方案:每次调用前检查token有效期,过期时重新获取

问题2:生成内容不符合预期

解决方案:优化提示词(prompt),加入更详细的约束条件

改进后的prompt

prompt = f"""
请根据以下关键词创作一个适合6-8岁儿童的短篇故事:
关键词:{keywords}

要求:

  1. 故事长度300-500字
  2. 包含正能量和教育意义
  3. 语言简单生动
  4. 有明确的开始、发展、结尾
    """

问题3:图片生成风格不一致

解决方案:在prompt中明确指定风格参数
payload = {
"prompt": f"卡通风格,色彩鲜艳,适合儿童:{prompt}",
"size": "1024x1024",
"style": "卡通",
"negative_prompt": "恐怖、暴力、成人内容" # 负面提示词
}

八、技术思考延伸 💭

  1. 性能优化方向

• 异步处理:使用Celery异步队列处理生成任务

• 缓存机制:对常见关键词的结果进行缓存

• 批量生成:一次生成多个版本供用户选择

  1. 功能扩展可能

• 多语言支持:生成不同语言版本的故事

• 互动故事:让用户选择故事发展方向

• 个性化定制:根据用户年龄调整故事难度

  1. 用户体验优化

• 生成进度提示

• 多版本选择

• 一键分享功能

📊 今日学习总结

学习模块 掌握程度 实践状态

概念理解 ✅ 优秀 已清晰区分AI模型与数据模型

API获取 ✅ 良好 了解流程,待实际操作

代码实现 ✅ 优秀 完成核心函数编写

Django集成 ✅ 良好 设计好数据模型和视图结构

错误处理 🔄 进行中 了解基本思路,需实际测试

相关新闻

  • 与网络商家的谈话,如何缓解大三学生的焦虑
  • 【LangChain4J】聊天记忆-高阶Api
  • ArchLinux 开机自动打开 NumLock

最新新闻

  • 2026青岛钻石回收盘点|透明估价+上门变现优质机构全测评 - 薛定谔的梨花猫
  • 2026 常州黄金回收店铺排行榜,靠谱渠道推荐,收的顶稳居榜单榜首 - 奢侈品回收测评
  • 告别抢票焦虑:双端智能抢票系统让你轻松锁定心仪演出
  • Hide Mock Location:终极Android位置隐私保护解决方案
  • 重庆2026闲置奢包回收测评:迪奥古驰Prada变现定价商家优选指南 - 名奢变现站
  • 机器学习模型上线实战:从Notebook到生产环境的系统工程

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号