【AI写小说】使用AI写小说的一些体会

大家好,我是代码龟仙人,我前两天在使用Dify构建写小说的AI应用,一个演示版本我已经公开了。地址是    

体验版地址

因为使用的是自己的主机,不是云服务器,偶尔的情况可能会出现网络不稳定的情况,耐心等下就行了。

感兴趣的可以自己尝试下,如果想在自己的dify平台上运行、修改,在文末有DSL配置,导入即可。

点进去的界面栈这样:

我还是先说下,这玩意怎么用吧,小说类型可以填写多个,比如玄幻、悬疑、爱情,故事元素你可以随便写,比如爱情、高智商、犯罪、德玛西亚等;小说主题,你也可以写一个简单的故事概要。

章节数量和每章字数,因为是演示版,所以都做了限制,最多有3个章节,每章最多800个字。

风格特点字段是设定小说写作的风格,比如:故事节奏紧密、很多的人物对话、通过对话推进故事进展、人物心理描写细腻、环境描写细致等等。

感兴趣的可以自己尝试下,因为这个工作流中有很多的节点,所有运行时间比较长。

这个小说应用使用到的大模型是gemma2:9b,通过ollama在本地主机上运行的,更大参数的模型效果会更好,可惜,我电脑电脑跑不起来~~

整个工作流中包含12个节点,还有迭代中的写其他章节的节点。

 感受

第一个感觉就是,还是比较依赖大模型的,我试过豆包的128K的模型和32K的模型,感觉还是128K的会更好点。也试过使用本地的qwen2:7b和gemm2:9b的模型,gemm2的效果要比前者好点。

第二个问题是,在第一次让大模型给小说根据建议完善的时候,出来的是完整的修改后的小说,但是第二次让它根据建议完善小说的时候,模型返回的有时候就不是修改后的小说了。这个可能是模型的理解能力还是不太够造成的,如果换成更大的模型可能会好点。我试过使用豆包的32k的模型,也是这样。

第三个问题是,但小说的整体字数很多时,因为模型没法一次性给出完整的小说,所以需要分章节输出,但是分章节输出给出的效果就是,每个章节之间的衔接不好,显得比较突兀。这个原因可能是自己的提示词或者工作流设置的还是不够完善造成的。我是把每个章节的大纲都给到模型,然后让它输出第几个章节的内容。这样,它只记得前面章节的大纲,没法知道具体的章节内容,所以才会出现这种情况。可能的优化方法是让大模型把之前的章节内容进行总结,然后再拿着当前的章节大纲一起给到模型,这样可能会好点,但是我没有试过,你有兴趣可以自己测试下~~

DSL配置

app:
  description: 无论多长的小说都可以搞定
  icon: 🤖
  icon_background: '#FFEAD5'
  mode: workflow
  name: 小说创作-本地演示版
kind: app
version: 0.1.1
workflow:
  conversation_variables: []
  environment_variables: []
  features:
    file_upload:
      image:
        enabled: false
        number_limits: 3
        transfer_methods:
        - local_file
        - remote_url
    opening_statement: ''
    retriever_resource:
      enabled: false
    sensitive_word_avoidance:
      enabled: false
    speech_to_text:
      enabled: false
    suggested_questions: []
    suggested_questions_after_answer:
      enabled: false
    text_to_speech:
      enabled: false
      language: ''
      voice: ''
  graph:
    edges:
    - data:
        isInIteration: false
        sourceType: iteration
        targetType: template-transform
      id: 1724160609005-source-1724169251517-target
      selected: false
      source: '1724160609005'
      sourceHandle: source
      target: '1724169251517'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: llm
        targetType: llm
      id: 1724222200431-source-1724222941382-target
      selected: false
      source: '1724222200431'
      sourceHandle: source
      target: '1724222941382'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: llm
        targetType: llm
      id: 1724222941382-source-1724159722707-target
      selected: false
      source: '1724222941382'
      sourceHandle: source
      target: '1724159722707'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: llm
        targetType: llm
      id: 1724159722707-source-1724224003000-target
      selected: false
      source: '1724159722707'
      sourceHandle: source
      target: '1724224003000'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: llm
        targetType: parameter-extractor
      id: 1724225313253-source-1724229051754-target
      selected: false
      source: '1724225313253'
      sourceHandle: source
      target: '1724229051754'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: parameter-extractor
        targetType: iteration
      id: 1724229051754-source-1724160609005-target
      selected: false
      source: '1724229051754'
      sourceHandle: source
      target: '1724160609005'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: false
        sourceType: llm
        targetType: llm
      id: 1724224003000-source-1724225313253-target
      selected: false
      source: '1724224003000'
      sourceHandle: source
      target: '1724225313253'
      targetHandle: target
      type: custom
      zIndex: 0
    - data:
        isInIteration: true
        iteration_id: '1724160609005'
        sourceType: if-else
        targetType: llm
      id: 1724234539814-true-
### 回答1: 以下是一些优质的以创作AI内容为主题的公众号,供您参考: 1. AI研习社:分享各种与人工智能相关的知识和技术,包括深度学习、自然语言处理、计算机视觉等方向。 2. AI科技评论:介绍最新的人工智能技术和应用,探讨AI对于未来的影响,同时也会分享一些AI创意和作品。 3. AI大讲堂:提供一系列与AI相关的视频课程和讲座,涵盖了机器学习、神经网络、数据挖掘等多个方向。 4. AI小智:通过可视化的方式介绍人工智能的相关知识,同时也会分享一些有趣的AI创意和应用案例。 5. 智能之光:介绍最新的人工智能技术和研究进展,同时也会分享一些与AI相关的创意和作品。 希望这些公众号能够帮助您更深入地了解和学习人工智能。 ### 回答2: 以下是几个优质的以创作AI内容为主题的公众号,供您参考: 1. 「AI前沿」:该公众号致力于分享人工智能领域的前沿技术、创新应用和行业动态。其内容包括AI算法、机器学习、深度学习等方面的文章和研究成果,深入浅出地解读AI技术的发展与应用。 2. 「AI创作」:主要关注人工智能在文学、音乐、艺术等创作领域的应用。该公众号分享创意AI作品、艺术家使用AI创作的心得体会,不仅让读者了解到最新的AI创作技术,也能欣赏到独特而富有创意的作品。 3. 「造物AI」:该公众号介绍以AI技术为基础的创新产品和创意项目。推荐一些由AI生成的新奇产品、智能设计、智能制造等应用案例,激发读者的创新思维,并关注AI技术对未来工业和生活的影响。 4. 「AI科技」:该公众号涵盖更广泛的AI技术应用,包括机器人、自动驾驶、智能医疗等领域的报道和解读。通过分享行业发展趋势、创新案例和专家观点,帮助读者了解AI在不同领域的应用现状和未来发展方向。 5. 「AI+创业」:该公众号专注于AI技术创业和创新创业相关内容。发布创业心得、创新项目介绍、创业投资等文章,为对AI创业感兴趣的读者提供有益的指导和启发。 这些公众号都提供有关AI创作方面的内容,不仅能够帮助读者了解最新的AI技术进展,还能够激发读者的创新思维和创意灵感。 ### 回答3: 目前市面上存在许多优质的以创作AI内容为主题的公众号。以下是我为您推荐的几个公众号: 1. AI之声:这是一个专注于人工智能创作的公众号,提供关于AI创作的最新动态、技术分享和案例研究。其内容涵盖了自然语言生成、图像生成等多个领域,对于关注AI创作的人来说是一个很好的选择。 2. 创意AI:这个公众号着重介绍创作型AI技术在广告、文案、设计等领域的应用。您可以在这里找到许多有关创意生成的有趣文章和案例,了解创作AI如何在不同行业中发挥作用。 3. AI文学:如果您对于AI生成的文学作品感兴趣,这个公众号是个不错的选择。它分享了大量通过AI创作的小说、诗歌等文学作品,帮助读者了解AI在文学领域中的应用与挑战。 4. AI设计:对于关注AI与设计结合的人来说,这个公众号是必关注的。它提供了各种设计工具和创作资源,帮助设计师们更好地利用AI技术进行创作,探索新的设计可能性。 这些公众号都致力于向读者传递关于创作AI的最新信息和技术应用,能够帮助读者了解创作AI的发展趋势、学习相关技术和发掘创作AI的潜力。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

szhuima

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值