Fairseq-Dense-13B-Janeway实操手册:批量生成100个科幻标题并用TF-IDF筛选高潜力候选词
Fairseq-Dense-13B-Janeway实操手册批量生成100个科幻标题并用TF-IDF筛选高潜力候选词1. 模型简介与准备工作Fairseq-Dense-13B-Janeway是KoboldAI发布的130亿参数创意写作大模型专门针对科幻和奇幻题材进行优化训练。该模型使用了2210本科幻与奇幻题材的电子书作为训练数据特别擅长生成具有经典叙事风格的英文科幻场景描述和角色对话。1.1 技术特点高效部署通过8-bit BitsAndBytes量化技术将24GB的模型权重量化至约12GB显存占用可在RTX 4090D单卡上流畅运行快速生成平均生成速度达到9-10 tokens/秒100 tokens的文本约需5-10秒双题材支持同时支持科幻和奇幻两种题材的文本生成1.2 环境准备部署镜像在平台镜像市场选择insbase-cuda124-pt250-dual-v7底座镜像启动命令运行bash /root/start.sh启动服务访问端口通过7860端口访问Web界面2. 批量生成科幻标题2.1 准备批量生成脚本我们将使用Python脚本与模型API交互批量生成100个科幻标题。以下是完整的脚本示例import requests import json import time # 模型API地址 API_URL http://localhost:7860/api/generate # 科幻标题生成提示词模板 PROMPT_TEMPLATE Generate a compelling science fiction title about {theme}. The title should be 3-7 words long and capture the essence of {theme}. Examples of good titles: - The Last Starship - Quantum Shadows - Children of the Void Now generate a new title: # 科幻主题列表 THEMES [ space exploration, time travel, alien invasion, cyberpunk future, genetic engineering, parallel universes, AI uprising, dystopian society, first contact, interstellar war ] def generate_titles(num_titles100): titles [] for i in range(num_titles): # 随机选择主题 theme THEMES[i % len(THEMES)] prompt PROMPT_TEMPLATE.format(themetheme) # 设置生成参数 payload { prompt: prompt, temperature: 0.85, # 适度创造性 max_tokens: 30, # 限制生成长度 top_p: 0.9, # 核采样 stop: [\n] # 遇到换行符停止 } # 发送请求 response requests.post(API_URL, jsonpayload) result json.loads(response.text) # 提取生成的标题 generated_text result[text].strip() title generated_text.split(\n)[-1].strip(\) titles.append(title) # 避免请求过快 time.sleep(0.5) # 进度显示 if (i1) % 10 0: print(f已生成 {i1}/{num_titles} 个标题) return titles # 生成100个标题 scifi_titles generate_titles(100) # 保存到文件 with open(scifi_titles.txt, w) as f: for title in scifi_titles: f.write(title \n)2.2 执行批量生成将上述脚本保存为generate_titles.py确保模型服务已启动并监听7860端口运行脚本python generate_titles.py生成的标题将保存在scifi_titles.txt中2.3 生成结果示例脚本运行后您将获得类似以下的科幻标题The Quantum Paradox Echoes of the Void Children of the Machine The Last Starlight Neon Gods of Mars The Silicon Rebellion Beyond the Event Horizon Dawn of the Synthetics The Forgotten Colony Singularitys Edge3. 使用TF-IDF筛选高潜力标题3.1 TF-IDF原理简介TF-IDF词频-逆文档频率是一种常用的文本分析技术用于评估词语在文档集合中的重要性。我们将使用它来计算每个标题中词语的TF-IDF值识别最具区分度和独特性的词语组合筛选出在科幻领域中既独特又相关的标题3.2 实现TF-IDF分析以下是完整的TF-IDF分析脚本from sklearn.feature_extraction.text import TfidfVectorizer import numpy as np # 读取生成的标题 with open(scifi_titles.txt, r) as f: titles [line.strip() for line in f.readlines()] # 初始化TF-IDF向量化器 vectorizer TfidfVectorizer( stop_wordsenglish, # 过滤英文停用词 ngram_range(1, 2), # 考虑单个词和双词组合 min_df2 # 词语至少在2个标题中出现 ) # 计算TF-IDF矩阵 tfidf_matrix vectorizer.fit_transform(titles) # 获取特征词列表 feature_names vectorizer.get_feature_names_out() # 计算每个标题的TF-IDF总分 title_scores np.array(tfidf_matrix.sum(axis1)).flatten() # 将标题与得分配对 scored_titles list(zip(titles, title_scores)) # 按得分排序 sorted_titles sorted(scored_titles, keylambda x: x[1], reverseTrue) # 输出前20个高潜力标题 print(Top 20高潜力科幻标题:) for i, (title, score) in enumerate(sorted_titles[:20], 1): print(f{i}. {title} (得分: {score:.2f})) # 保存筛选结果 with open(filtered_titles.txt, w) as f: for title, score in sorted_titles[:20]: f.write(f{title}\t{score:.2f}\n)3.3 筛选结果分析运行上述脚本后您将获得按TF-IDF得分排序的标题列表。高得分标题通常具有以下特点独特词汇组合包含在科幻领域具有区分度的词语组合适度重复某些关键词在多个标题中出现但不过度重复新颖性避免常见陈词滥调同时保持科幻主题相关性示例筛选结果1. Quantum Shadows of Epsilon (得分: 2.34) 2. The Neon Singularity Protocol (得分: 2.21) 3. Voidborn: Legacy of the Ancients (得分: 2.15) 4. Chrono Displacement Paradox (得分: 2.08) 5. The Last Starlight Archive (得分: 1.97)4. 高级技巧与优化建议4.1 提升标题质量的提示词工程为了获得更高质量的科幻标题可以优化提示词模板IMPROVED_PROMPT Generate a unique and compelling science fiction title that combines {theme} with {element}. The title should be 3-5 words long, memorable, and evoke a sense of wonder or mystery. Avoid clichés like Star Wars or Galaxy Quest. Examples of excellent titles: - The Quantum Thief - Blindsight - Ancillary Justice Now generate a new title that stands out:4.2 生成参数调优通过调整生成参数可以获得不同风格的标题参数推荐值效果说明Temperature0.7-0.9平衡创造性与连贯性Top-p0.85-0.95控制词汇多样性Repetition Penalty1.1-1.3减少重复词语4.3 后处理技巧对生成的标题进行后处理可以进一步提升质量长度过滤保留3-7个单词的标题主题一致性检查确保标题与指定主题相关人工筛选结合算法评分与人工判断选择最佳标题5. 总结本教程详细介绍了如何使用Fairseq-Dense-13B-Janeway模型批量生成科幻标题并应用TF-IDF技术筛选最具潜力的候选词。关键步骤包括批量生成通过API调用自动生成100个科幻标题TF-IDF分析量化评估标题的独特性和相关性结果筛选结合算法评分和人工判断选择最佳标题这种方法不仅适用于科幻标题生成也可应用于其他创意写作场景如奇幻故事构思、角色名称创作等。通过调整提示词模板和生成参数您可以探索更多创意可能性。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。