文章目录
- 运行LLMS
- LLM APIS
- 开源的大语言模型
- Prompt engineering
- 1. 明确目标
- 2. 理解模型能力
- 3. 使用示例
- 4. 精确和具体的指令
- 5. 考虑上下文
- 6. 避免偏见和不准确的信息
- 7. 测试和迭代
- 8. 使用模板
- 9. 考虑多语言能力
- 10. 注意伦理和合规性
- 结构化输出
- 1. 使用明确的提示(Prompts)
- 2. 采用模板(Templates)
- 3. 利用零样本或少样本学习(Zero-shot or Few-shot Learning)
- 4. 指导性问题(Guided Questions)
- 5. 分步提示(Step-by-step Prompting)
- 6. 使用特定的格式指示词
- 7. 后处理(Post-processing)
- 8. 交互式提示(Interactive Prompting)
- 9. 训练定制化模型(Training Customized Models)
- 10. 反馈循环(Feedback Loops)
- 构建向量存储
- 摄取文档
- 1. 文档准备
- 2. 元数据提取
- 3. 文本清洗和标准化
- 4. 文档解析
- 5. 数据存储
- 6. 与模型集成
- 7. 安全性和隐私
- 8. 可扩展性
- 9. 监控和维护
- 10. 用户界面
- 分割文档
- 1. 按长度分割
- 2. 按内容结构分割
- 3. 按主题分割
- 4. 按功能分割
- 5. 保留上下文信息
- 6. 考虑分割的一致性
- 7. 使用自动化工具
- 8. 后处理和验证
- 9. 考虑性能和资源
- 10. 用户交互
- 嵌入模型
- 1. 词嵌入(Word Embeddings)
- 2. 句子和段落嵌入(Sentence and Paragraph Embeddings)
- 3. 嵌入在推荐系统中的应用
- 4. 嵌入在处理长文本中的应用
- 5. 嵌入模型的评估
- 6. 嵌入模型的生成和存储
- 向量数据库
- 1. 文本嵌入(Text Embeddings)
- 2. 向量数据库的作用
- 3. 结合使用LLM和向量数据库
- 4. 应用场景
- 5. 推荐的向量数据库
- 6. 存储和查询流程
- 检索增强生成(Retrieval Augmented Generation)
- Orchestrators
- Retrievers
- Memory
- Evaluation
- 高级RAG
- 查询构建
- 代理和工具
- 后处理
- 推理优化
- Flash Attention
- Key-value cache
- 推测性解码
- LLMs安全
- 部署LLMS
- 本地部署
- 演示部署
- 服务器部署
- 边缘部署
运行LLMS
LLM APIS
由于硬件要求高,运行大型语言模型(LLMs)可能会很困难。根据您的用例,您可能只想通过API(如GPT-4)使用模型,或者在本地运行它。
OpenAI的ChatGPT API - 提供基于GPT-3模型的文本生成和对话能力。
Bard API - 可能是指由Google开发的一个LLM API,用于生成文本和对话。
GooseAI - 搜索结果中没有提供详细信息,但GooseAI可能是一个提供自然语言处理服务的API。
Cohere API - 提供文本生成、摘要、翻译等功能。
Gorilla - 一个开源的、最先进的LLM,能够从自然语言提示生成准确可靠的API调用。
RestGPT - 一个将大型语言模型与现实世界中的RESTful APIs连接起来的框架。
国内的模型:
百度的文心一言API - 具备跨模态、跨语言的深度语义理解与生成能力。
阿里云的通义千问API - 能够在用户自然语言输入的基础上,提供服务和帮助。
腾讯的混元大模型API - 在自然语言处理、文本生成、机器翻译等领域具有广泛的应用。
科大讯飞的星火认知大模型API - 在多个方面如文本生成、语言理解等提升了性能。
字节跳动的云雀大模型API - 具备多种功能和应用场景,通过自然语言交互,能够高效地完成互动对话、信息获取等任务。
智谱华章的智普清言API - 具有强大的自然语言处理和多模态理解能力。
中科院的紫东太初API - 在自然语言处理、文本生成、机器翻译等领域具有广泛的应用
开源的大语言模型
Grok-1:由马斯克旗下的人工智能初创公司xAI训练,参数量高达3140亿,是迄今为止参数量最大的开源大模型。
Llama:由Meta公司发布,参数量为700亿。
LLaMA 2 - 由Meta AI(原Facebook AI)发布的开源大型语言模型,具有不同规模的版本,从7亿到700亿参数。
BLOOM - 由BigScience和Hugging Face合作开发的自回归LLM,拥有176亿参数,支持多种语言。
BERT - 由Google开发的开源双向编码器表示模型,是Transformer架构的早期实现之一,广泛应用于各种NLP任务。
Falcon 180B - 由阿拉伯技术创新研究所发布的模型,具有1800亿参数,旨在缩小专有和开源LLM之间的性能差距。
OPT-175B - Meta AI发布的一系列预训练Transformer模型,参数范围从125M到175B,其中175B版本性能与GPT-3相似。
XGen-7B - Salesforce推出的模型,专注于支持更长上下文窗口的工具,具有7亿参数。
GPT-NeoX 和 GPT-J - 由EleutherAI开发的开源替代品,参数量分别为20亿和6亿,训练自22个高质量数据集。
Vicuna 13-B - 一个开源对话模型,通过使用从ShareGPT收集的用户共享对话对LLaMa 13B模型进行微调而训练而来。
此外,还有一些针对特定语言或领域的开源LLM,例如:
ChatGLM-6B - 支持中英双语的对话语言模型,针对中文进行了优化。
MOSS - 支持中英双语的对话大语言模型,具有160亿参数。
CPM-Bee - 完全开源、允许商用的百亿参数中英文基座模型。
LaWGPT - 基于中文法律知识的大语言模型。
本草 (BenTsao) - 基于中文医学知识的LLaMA微调模型。
这些开源LLM为研究人员和开发者提供了丰富的资源,可以用于各种自然语言处理任务,如文本生成、问答系统、机器翻译等。开源LLM的可用性和灵活性促进了NLP领域的创新和发展
Prompt engineering
Prompt engineering 是指设计和优化输入文本(称为prompt)以引导大型语言模型(LLM)生成特定输出的过程。在自然语言处理(NLP)中,特别是在使用基于Transformer的模型(如GPT-3、BERT等)时,prompt engineering 是一个关键的技能,因为它可以显著影响模型的输出质量和相关性。
以下是一些prompt engineering的关键方面和技巧:
1. 明确目标
在设计prompt之前,你需要明确你希望模型执行的任务。是生成文本、回答问题、翻译语言、还是其他任务?明确的目标将帮助你构建更有效的prompt。
2. 理解模型能力
不同的模型可能在不同的任务上表现更好。了解你的模型擅长什么,以及它的训练数据包含哪些内容,可以帮助你设计更合适的prompt。
3. 使用示例
提供一个或多个相关示例可以指导模型理解你期望的输出格式。这种方法被称为“零样本”或“少样本”学习。
4. 精确和具体的指令
尽量使prompt精确和具体,避免模糊不清的语言。这有助于模型生成更准确和相关的输出。