吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 614|回复: 12
上一主题 下一主题
收起左侧

[Python 原创] 用python实现基于火山引擎API接口批量生产AIGC内容

[复制链接]
跳转到指定楼层
楼主
矢岛舞美 发表于 2024-11-13 13:53 回帖奖励
事情的起因就是我是个网站发文章的,这不这年头都兴AIGC嘛,之前都是模拟点击,还得提取数据,整理数据,效率太低,于是便有了这玩意,那生产效率,嘎嘎的。
主要通过官方api文档使用说明再结合网上的一些碎片化代码实现。
使用方法简单暴力,在excel表格第一列输入你的关键词,保存,运行此代码选择该文档即可生成word文档。
如果要保存到txt,excel这些理论上也可自己更改代码实现。
还可以对代码进行一些优化,比如对已生辰内容的关键词增加标记,后续不再重复读取等。

需要用到的火山引起依赖库:https://www.123865.com/s/TKR5Vv-vGu5v
[Python] 纯文本查看 复制代码
import os
import pandas as pd
from tkinter import Tk, filedialog
from docx import Document
from concurrent.futures import ThreadPoolExecutor, as_completed
from volcenginesdkarkruntime import Ark

def test_chat(client, model, keyword):
    try:
        completion = client.chat.completions.create(
            model=model,
            messages=[
                {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
                {"role": "user", "content": keyword},
            ],
        )
        content = completion.choices[0].message.content
        return content
    except Exception as e:
        print(f"Error during chat: {e}")
        return None

def generate_docx(title, content, output_dir):
    doc = Document()
    doc.add_heading(f"{title}", level=1)
    doc.add_paragraph("")
    doc.add_heading("", level=2)
    doc.add_paragraph(content)
    doc.save(os.path.join(output_dir, f"{title}.docx"))

def process_keyword(client, model, keyword, output_dir):
    content = test_chat(client, model, keyword)
    if content:
        # 将 content 中的 * 替换为空
        content = content.replace('*', '')
        generate_docx(keyword, content, output_dir)

def main():
    # 使用Tkinter选择Excel文件和输出文件夹
    root = Tk()
    root.withdraw()  # 隐藏主窗口

    excel_file = filedialog.askopenfilename(title="选择Excel文件", filetypes=[("Excel files", "*.xlsx *.xls")])
    output_dir = filedialog.askdirectory(title="选择输出文件夹")

    if not excel_file or not output_dir:
        print("未选择文件或文件夹")
        return

    # 读取Excel文件
    df = pd.read_excel(excel_file, sheet_name='Sheet1')

    # 设置 API Key 作为环境变量
    os.environ["ARK_API_KEY"] = "此处填入你的key"

    # 初始化 Ark 客户端
    client = Ark(
        base_url="https://ark.cn-beijing.volces.com/api/v3",
    )

    model = "此处填入需要调用的model名称"

    # 使用 ThreadPoolExecutor 进行多线程处理
    with ThreadPoolExecutor(max_workers=5) as executor:
        futures = [executor.submit(process_keyword, client, model, row[0], output_dir) for index, row in df.iterrows()]

        for future in as_completed(futures):
            try:
                future.result()
            except Exception as e:
                print(f"Error processing keyword: {e}")

if __name__ == '__main__':
    main()

免费评分

参与人数 2吾爱币 +5 热心值 +2 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
bai1276 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
kanggege0914 发表于 2024-11-13 13:58
阿里嘎多!!!
3#
SEELE0921 发表于 2024-11-13 14:06
4#
y197 发表于 2024-11-13 14:13
5#
aahong 发表于 2024-11-13 14:56
好东西,先收藏,感谢分享!!
6#
dylanmao 发表于 2024-11-13 15:04
秀啊,get到了呀
7#
Mocun 发表于 2024-11-13 15:04
好东西哦,先收藏了
8#
Wobbly0253 发表于 2024-11-13 16:29
厉害啊先收藏了
9#
linglingsan 发表于 2024-11-13 16:40
好东西有大用了,谢谢啊
10#
xiaoheizi520 发表于 2024-11-13 17:46
这个是干什么的,没看懂有没有人解答一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表