Go 语言调用 SiliconFlow 的 Deepseek AI Janus-Pro-7B 模型进行图像生成

embedded/2025/2/22 6:56:09/

使用 Go 调用 SiliconFlow 图像生成 API

概述

本文档介绍如何使用 Go 语言调用 SiliconFlow 的 Deepseek AI Janus-Pro-7B 模型进行图像生成。

环境准备

  • Go 1.20 或更高版本
  • 网络连接
  • SiliconFlow API 令牌

依赖管理

在项目根目录创建 go.mod 文件:

go mod init image-generator
go get github.com/go-resty/resty/v2

代码实现

main.go

package mainimport ("fmt""log""github.com/go-resty/resty/v2"
)type ImageGenerationRequest struct {Model  string `json:"model"`Prompt string `json:"prompt"`Seed   int64  `json:"seed"`
}func generateImage(apiToken string, prompt string) error {client := resty.New()req := &ImageGenerationRequest{Model:  "deepseek-ai/Janus-Pro-7B",Prompt: prompt,Seed:   4999999999,}resp, err := client.R().SetHeader("Authorization", "Bearer "+apiToken).SetHeader("Content-Type", "application/json").SetBody(req).Post("https://api.siliconflow.cn/v1/images/generations")if err != nil {return fmt.Errorf("请求发送失败: %v", err)}if resp.IsError() {return fmt.Errorf("API错误: %s", resp.String())}fmt.Println("图像生成响应:", resp.String())return nil
}func main() {apiToken := "<你的SiliconFlow令牌>"prompt := "海边的岛屿,海鸥,月光洒在海面上,灯塔,背景有船只,海面上有飞鱼"err := generateImage(apiToken, prompt)if err != nil {log.Fatalf("图像生成失败: %v", err)}
}

运行项目

go mod tidy
go run main.go

注意事项

  • 替换 <你的SiliconFlow令牌> 为实际的 API 令牌
  • 建议使用环境变量或配置文件管理敏感信息
  • 处理 API 响应和错误

错误处理

  • 检查网络连接
  • 验证 API 令牌
  • 处理 API 返回的错误消息

最佳实践

  • 使用错误处理和日志记录
  • 考虑实现重试机制
  • 保护 API 令牌安全

扩展功能建议

  • 支持更多图像生成参数
  • 实现图像保存功能
  • 添加更复杂的错误处理逻辑

参考资源

  • SiliconFlow API 文档
  • Go Resty 库:https://github.com/go-resty/resty

快来体验 siliconflow 图像生成服务:https://cloud.siliconflow.cn/i/vnCCfVaQ


http://www.ppmy.cn/embedded/162278.html

相关文章

Docker compose 以及镜像使用

Docker compose 以及镜像使用 高级配置 使用 Docker Compose Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。以下是一个 docker-compose.yml 示例&#xff1a; version: 3 services:web:image: my-appbuild: .ports:- "8000:8000"volumes:- …

docker pull 报错Get “https://registry-1.docker.io/v2/“: net/http: request canceled while waiting for c

报错 &#xff1a;Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 解决方法 配置加速地址 vim /etc/docker/daemon.json 添加以下内容 {"registry-…

CSS实现中心放大动画

所有的动画代码可在css动画网站直接复制代码&#xff1b; 以下为上述演示动画代码&#xff1a; .scale-up-center {animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;}keyframes scale-up-center {0% {transform: scale(0.5);}100% {transform:…

Android ndk兼容 64bit so报错

1、报错logcat如下 2025-01-13 11:34:41.963 4687-4687 DEBUG pid-4687 A #01 pc 00000000000063b8 /system/lib64/liblog.so (__android_log_default_aborter16) (BuildId: 467c2038cdfa767245f9280e657fdb85) 2025…

13.8 聚焦应用场景的Prompt设计实战:从通用到领域专用的翻译质量跃升

聚焦应用场景的Prompt设计实战:从通用到领域专用的翻译质量跃升 关键词:领域特定Prompt设计、翻译质量优化、动态术语控制、多阶段推理链、Prompt版本管理 1. 翻译Prompt设计核心原则 1.1 领域知识深度渗透 def build_medical_prompt(): return ChatPromptTemplate.from_…

ubuntu部署postgresql+timescaladb时序数据库

ubuntu部署postgresqltimescaladb时序数据库 中间件版本 postgresql-1414.15-0ubuntu0.22.04.1timescaledb-2-postgresql-142.17.2~ubuntu22.04 pg数据库安装 sudo apt install -y postgresql-1414.15-0ubuntu0.22.04.1 sudo systemctl start postgresql sudo systemctl en…

使用vllm docker容器部署大语言模型

说明 最近deepseek比较火&#xff0c;我在一台4卡4090的服务器上尝试部署了一下&#xff0c;记录下部署步骤。 安装过程 安卓docker和nvidia-container-toolkit 安装19.03版本以上的docker-ce即可。安装步骤参考清华docker源上的安装步骤&#xff1a;Docker CE 软件仓库 为…

【第1章:深度学习概览——1.1 深度学习的历史背景与发展轨迹】

你可能不知道,现在能自动给照片上色、帮医生看CT片、甚至写诗作曲的AI技术,其实早在二战时期就埋下了种子。这段故事里充满了天才的灵光乍现、整个行业的集体打脸、以及无数个"山穷水尽疑无路,柳暗花明又一村"的神转折。系好安全带,我们要从1943年的脑科学实验室…