AIGC

LlamaIndex

2023-05-29. Category & Tags: AIGC, GPT, ChatGPT, LLAMA, LLM, LlamaIndex

public: 2025-04-19 See also the main item: /LLM-. 类似/相关: haystack ref: LlamaIndex 原理与应用简介(不同场景下的架构逻辑) by bilibili 字节字节 LlamaIndex 的核心功能 # 知识库问答示例 总体流程: 载入数据,切分 构建 index ·持久化 index ·查询与生成 Data connectors:APIs,pdf,ppt,docx,markdown,image,audio,video,tables… Index:list,vector store,tree,keyword table,Pandas,SQL 存储,与各类向量数据库的对接。0.6 版本之后更加复杂,分成 doc,indexi 和 vector3 三块存储 Query:.各种对应 index 的查询与结果生成,主要分成 retrieve(召回)和 synthesize(整合生成)两部分 Query 结果中的 extra_info,支持引用展示 Post process:召回的“后处理”,例如关键词过滤,重排序等 定制化,包括 LLM,prompt,embedding,存储等 Optimizers,优化调用,节省 token 与 Query 相关的特性与场景 # Vector Index - 常用于 QA # Tree Index - 多个知识库的场景(自底向上用 Prompt & synthesis 的方法递归生成 parent nodes) # Keyword Table Index - 常用于问题比较短,有很多专有词的场景(Keywords 也是通过 prompt 生成) # DEFAULT_KEYWORD_EXTRACT_TEMPLATE_TMPL = ( "Some text is provided below. ...

OLLAMA

2023-05-29. Category & Tags: AIGC, GPT, ChatGPT, LLAMA, LLM, OLLAMA, ChatBotOLLAMA

public: 2025-04-19 See also the main item: /LLM-. Windows, Linux, MacOS 可执行程序直接运行,自动下载模型权重,且不需要网络代理。 腾讯开发者, (bak). 注意:ollama run llama2之后,在 npm run dev (chatbot)前,需要ollama run mistral,否则提示'model 'mistral:latest' not found, try pulling it first。 想要运行什么模型,就在文件夹内直接用ollama run <MODEL>,例如:ollama run llama2:latest 或 ollama run qwen ollama run gemma。 模型有了之后,再npm run dev,根据提示进入网页 localhost:3000 就可以选择模型了。 to allow listening on all network interfaces: # One time (nix): export OLLAMA_HOST=0.0.0.0:11434 && ollama run ... (Mac: launchctl setenv OLLAMA_HOST 0.0.0.0:11434) Always (nix): vim /etc/systemd/system/ollama. ...

Notes on Prompt Engineering

2023-05-16. Category & Tags: AIGC, GPT, ChatGPT

Notes on Prompt Engineering 1.两个基本原则 指令清晰具体 具体方法: 1.[输入]:清晰分隔输入的语义不同的各部分 例如可以用:```,"",<>,,<\tag>等。注:不同模型对于某些符号的反应可能有特殊情况,例如转义符 \ 。 2.[处理]:要求 if-else 条件 3.[处理]:提供问答示例 针对想要达到的目标,例如格式、风格等,直接提供示例给模型作参考。 4.[输出]:要求输出结构化。例如 json 等。可以详细地描述给模型想要的具体结构。 5.迭代:一遍一遍试,而不是企图一步到位。刚开始的生成结果可能不合适,可以提示模型在哪些方面改进,例如理解输入材料时的关注重点(数据 vs. 情感 etc.?)、输出对应听众的习惯(美学 vs. 功能;热情 vs. 冷静 etc.)、输出长度、输出格式的细节(json 层次、key 名、 value 类型)等。 6.注意“提取(Extract)” vs. “概括(Summarize)” 的区别;“整合(synthesize)多个文本” vs. “概括(summarize)单一文本”的区别。 要求模型思考 具体方法: 1.[输入]:把指令拆分为带有序号的小步骤。 2.[处理]:指定判断步骤,避免被判断指令询问的输入内容的可能错误部分带歪。 2.其他 纯文本 Prompt 一般格式 1.声明扮演角色 2.简洁的任务描述(例如命令/要求/步骤等)(按照时间顺序) 3.对于任务的详细说明 4.对于输入的内容的格式的详细说明 5.对于输出的内容的格式的详细说明 6.输入的内容 调用 API 可以使用非纯文本,要结合 API 允许的情况。例如 OpenAI 的 ChatGPT 接口 openai.ChatCompletion.create() 可以接受 messages 作为历史记录,其中除了 AI 本身 assistant,还可以有 system 告诉 assistant 是扮演什么角色,然后 user 再提问。 ...