ChatGpt大模型入门

环境配置

创建虚拟环境

建议创建一个新的虚拟环境,避免安装依赖冲突,

conda下载:
https://docs.conda.io/en/latest/miniconda.html
conda安装:
https://zhuanlan.zhihu.com/p/591091259

或者使用venv

使用参考:https://vra.github.io/2021/01/03/venv-intro/

其他后续可能需要的依赖:

pip install langchain
pip install tqdm
pip install openai
pip install javascript
pip install chromadb
pip install guardrails-ai
pip insatll jupyter

pytorch

pip install torch torchvision torchaudio

编辑器

编辑器可以随意,不过最好装下jupyter插件,或者直接下载jupyter,jupyter notebook方便调试。

ChatGpt

账户注册网上可以找到,这里就不说了。不过要使用api的话就需要充值,充值需要国外xy卡,可以参考以下链接:

https://savokiss.com/tech/chatgpt-api-open.html
https://savokiss.com/tech/gpt-plus-onekey.html

pay后就可以生成api key:

https://platform.openai.com/account/api-keys

如果注册和充值麻烦,可以直接从银河录像局买现成的:

https://nf.video/

chatgpt

https://chat.openai.com/?model=text-davinci-002-render-sha

openai文档:

https://platform.openai.com/docs/guides/gpt/completions-api中文文档:

https://openai.xiniushu.com/

例子:

import openaiopenai.api_key = "sk-xxx" # 替换为你自己的keycompletion = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Who won the world series in 2020?"},{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},{"role": "user", "content": "Where was it played?"}]
)
print(completion.choices[0].message)
import openaiopenai.api_key = "sk-xxx" # 替换为你自己的keyresponse = openai.Completion.create(model="text-davinci-003",prompt="Write a tagline for an ice cream shop."
)
print(response)

prompt

https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/#instruction-prompting
https://lslfd0slxc.feishu.cn/docx/Nqm9dX81hotVYUxFQuxcVR82n2g
https://www.promptingguide.ai/zh
https://mp.weixin.qq.com/s/MCsFoisMd6pB9wdhlQtd6Q

  1. 最好先看一遍langchain,学习langchain的一些思路。
  2. 指定格式输出时,要说明空和非空情况下两种输出格式,不然llm会强行设置一些无用的信息。
    例如:{“状态条件”: []},这种格式,会让llm以为必须有内容,即使说明了可以空,也会出问题,替换为{“状态条件”: ""或者[]}会更好。
  3. 如果指定了格式,llm还是输出一些无关的描述,在规则中添加"不要总结、解释和注释",能够减少无用输出。
  4. 通过history提醒输出错误,可以让他回顾规则第几点或者参考例子进行修正。作用不大。
  5. 任务做不好,再拆分可能会有奇效。
  6. 让llm对prompt进行标准转化,再提问,输出结果和原来提问的进行对比,让llm选择更好的结果,对提问进行标准化转换可能会有奇效。
  7. 可以将相关文档缓存到向量数据库,可以用提问在数据库里找到相关的内容,一起发送给llm。
  8. 尽量避免复杂的逻辑。
  9. 也可以参考guardrails from_rail的格式:
 Given below is XML that describes the information to extract from this document and the tags to extract it      │
│ into.                                                                                                           │
│                                                                                                                 │
│ <output>                                                                                                        │
│     <list name="tasks">                                                                                         │
│         <object name="task">                                                                                    │
│             <string name="type" description="任务类型"/>                                                        │
│             <string name="content" description="任务内容"/>                                                     │
│         </object>                                                                                               │
│     </list>                                                                                                     │
│     <integer name="logic" description="1:与  2:或" format="valid-choices: choices=[1, 2]"/>                   │
│ </output>                                                                                                       │
│                                                                                                                 │
│                                                                                                                 │
│ ONLY return a valid JSON object (no other text is necessary), where the key of the field in JSON is the `name`  │
│ attribute of the corresponding XML, and the value is of the type specified by the corresponding XML's tag. The  │
│ JSON MUST conform to the XML format, including any types and format requests e.g. requests for lists, objects   │
│ and specific types. Be correct and concise.                                                                     │
│                                                                                                                 │
│ Here are examples of simple (XML, JSON) pairs that show the expected behavior:                                  │
│ - `<string name='foo' format='two-words lower-case' />` => `{'foo': 'example one'}`                             │
│ - `<list name='bar'><string format='upper-case' /></list>` => `{"bar": ['STRING ONE', 'STRING TWO', etc.]}`     │
│ - `<object name='baz'><string name="foo" format="capitalize two-words" /><integer name="index"                  │
│ format="1-indexed" /></object>` => `{'baz': {'foo': 'Some String', 'index': 1}}`                                │
│                                                                                                                 │
│                                                                                                                 │
│                                                                                                                 │
│ Json Output:

LangChain,api使用进阶

lainchain地址:

https://github.com/langchain-ai/langchain

langchain文档:

https://python.langchain.com/docs/modules/agents/

中文文档:

https://www.langchain.com.cn/modules/chains/generic/sequential_chains

其他文档:

https://juejin.cn/post/7217759646881742903

agent

https://lilianweng.github.io/posts/2023-06-23-agent/

工具

rail

https://shreyar.github.io/guardrails/rail/

chroma(embedding database)

https://docs.trychroma.com/

大模型应用项目

Voyager,应用在我的世界

https://github.com/MineDojo/Voyager/
https://voyager.minedojo.org/

本地部署大模型

开源的大模型有很多,这里只介绍chatglm6b,链接:

https://github.com/THUDM/ChatGLM2-6B
https://github.com/THUDM/ChatGLM-6B
https://huggingface.co/THUDM/chatglm-6b
https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/?p=%2F&mode=grid

部署教程:

https://zhuanlan.zhihu.com/p/617644321?utm_id=0

微调:

https://github.com/lich99/ChatGLM-finetune-LoRA
https://blog.csdn.net/bmfire/article/details/131064677
https://github.com/THUDM/ChatGLM-6B/tree/main/ptuning

LangChain-ChatGLM

本地部署glm加上langchain

https://github.com/chatchat-space/langchain-ChatGLM

深度学习

https://courses.d2l.ai/zh-v2/
https://space.bilibili.com/1567748478/channel/seriesdetail?sid=358497
https://learn.deeplearning.ai/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能_CPU微调ChatGLM大模型_使用P-Tuning v2进行大模型微调_007_微调_002---人工智能工作笔记0102

这里我们先试着训练一下,我们用官方提供的训练数据进行训练. 也没有说使用CPU可以进行微调,但是我们先执行一下试试: https://www.heywhale.com/mw/project/6436d82948f7da1fee2be59e 可以看到说INT4量化级别最低需要7GB显存可以启动微调,但是 并没有说CPU可以进行微调.我们…

docker 安装minio 一脚shell脚本

要创建一个用于安装Minio的Docker的Shell脚本&#xff0c;你可以按照以下步骤进行。这个脚本会执行以下操作&#xff1a; 拉取Minio的Docker镜像。创建一个Docker容器并映射端口。设置Minio的访问密钥和秘密密钥。持久化存储数据到本地目录。 以下是一个简单的Shell脚本示例&…

【b站咸虾米】chapter5_uniapp-API_新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握

课程地址&#xff1a;【新课uniapp零基础入门到项目打包&#xff08;微信小程序/H5/vue/安卓apk&#xff09;全掌握】 https://www.bilibili.com/video/BV1mT411K7nW/?p12&share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 5 API 5.1 页面和路…

el-input限制输入正整数

el-input框是Element UI库中的一个输入框组件&#xff0c;用于接收用户的输入。如果你想限制el-input框只能输入数字&#xff0c;可以通过以下两种方式实现&#xff1a; 一,使用type属性&#xff1a;将el-input的type属性设置为"number"&#xff0c;这将强制输入框只…

Linux 文件操作

目录 C语言下的文件操作 Linux下的文件操作 文件描述符的前因后果 文件描述符的概念 文件描述符的分配规则 理解C语言的FILE结构体 Linux重定向 文件缓冲区 文件系统 文件系统的概念 ext2文件系统 对ext2的补充 虚拟文件系统的概念 软硬链接 C语言下的文件操作 …

备战蓝桥杯---基础算法刷题2

题目有一点水&#xff0c;不过还是有几个好题的&#xff0c;我在这分享一下&#xff1a; 很容易想到先往最高处跳再往最低处跳&#xff0c;依次类推&#xff0c;那怎么保证其正确性呢&#xff1f; 证法1. 在此&#xff0c;我们从0开始&#xff0c;假设可以跳到a,b,c(a<b<…

UE学习笔记-- bUseUnity 加速编译 及 踩坑记录

前言 在写 UE 项目时&#xff0c;使用 VS 2022 进行编译&#xff0c;发现编译不过。 原因是少了头文件&#xff0c;导致某些了类型缺失。 问题发现 但是很奇怪的是&#xff0c;以前编译没问题&#xff0c;在原本应该出问题的 cpp 文件里面加了一行注释之后&#xff0c;编译就…

嵌入式学习day25 Linux

进程基本概念: 1.进程: 程序&#xff1a;存放在外存中的一段数据组成的文件 进程&#xff1a;是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2.进程相关命令: 1.top 动态查看当前系统中的所有进程信息&#xff08;根据CPU占用率排序&a…

查看仓库版本记录

打开命令行窗口 输入git log即可。 若发现分支不对&#xff0c;方法如下 查看项目目录&#xff0c;命令行输入dir可以查看 多个moudel&#xff0c;进入到需要查版本记录的moudel下 命令行输入cd .\文件名如wowo-win-server\ 切换到wowo-win-server文件夹下后&#xff0c;再输入…

C语言内存管理-C进程内存布局

C进程内存布局 任何一个程序&#xff0c;正常运行都需要内存资源&#xff0c;用来存放诸如变量、常量、函数代码等等。这些不同的内容&#xff0c;所存储的内存区域是不同的&#xff0c;且不同的区域有不同的特性。因此我们需要研究C语言进程的内存布局&#xff0c;逐个了解不…

sonar-java 手写一个规则-单元测试分析

前言 最近做项目&#xff0c;定制sonar规则&#xff0c;提高Java代码质量&#xff0c;在编写的sonar规则&#xff0c;做验证时&#xff0c;使用单元测试有一些简单的心得感悟&#xff0c;分享出来。 自定义规则模式 sonar的自定义规则很简单&#xff0c;一般而言有2种模式可…

MySQL多实例与Mycat分布式读写分离的架构实践

文章目录 1.Mycat读写分离分布式架构规划2.在两台服务器中搭建八个MySQL实例2.1.安装MySQL软件2.2.创建每个MySQL实例的数据目录并初始化2.3.准备每个实例的配置文件2.4.准备每个实例的启动脚本2.6启动每台机器的MySQL多实例2.7.为每个MySQL实例设置密码2.8.查看每个MySQL实例的…

使用GPT生成python图表

首先&#xff0c;生成一脚本&#xff0c;读取到所需的excel表格 import xlrddata xlrd.open_workbook(xxxx.xls) # 打开xls文件 table data.sheet_by_index(0) # 通过索引获取表格# 初始化奖项字典 awards_dict {"一等奖": 0,"二等奖": 0,"三等…

three中界面交互gui.js库的使用

gui.js库(可视化改变三维场景) dat.gui.js说白了就是一个前端js库&#xff0c;对HTML、CSS和JavaScript进行了封装&#xff0c;学习开发的时候&#xff0c;借助dat.gui.js可以快速创建控制三维场景的UI交互界面&#xff0c;你打开课件中案例源码体验一下就能感受到。 学习dat…

一元函数微分学——刷题(22

目录 1.题目&#xff1a;2.解题思路和步骤&#xff1a;3.总结&#xff1a;小结&#xff1a; 1.题目&#xff1a; 2.解题思路和步骤&#xff1a; 由于是极坐标方程&#xff0c;所以这个式子一定成立&#xff1a; 然后代入r即可变为参数方程的求导&#xff1a; 3.总结&#xff…

提升应用性能:Go中的同步与异步处理

同步处理 在同步处理方式中&#xff0c;任务按顺序一个接一个地执行。每个任务必须在下一个任务开始之前完成。这意味着如果某个任务需要花费大量时间来完成&#xff0c;它可能会阻塞后续任务的执行&#xff0c;导致潜在的性能瓶颈。 一个简单的现实生活中的例子是两个人在喝啤…

CCAA服务认证基础考试大纲

服务认证基础考试大纲&#xff08;第1版&#xff09; 1.总则 本大纲依据 CCAA《服务认证审查员注册准则》制定&#xff0c;适用于拟向CCAA申请注册服务认证审查员级别的人员。 2.考试要求 2.1考试科目 申请注册服务认证审查员级别的人员&#xff0c;需通过“服务认证基础”…

【uni-app】初始化相关配置

&#xff08;1&#xff09;工程目录结构 ┌─components uni-app组件目录 │ └─comp-a.vue 可复用的a组件 ├─hybrid 存放本地网页的目录&#xff08;自建&#xff09; ├─platforms 存放各平台专用页面的目录&#xff08;…

【Linux运维系列】vim操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

linux系统消息中间件rabbitmq普通集群的部署

rabbitmq普通集群的部署 普通集群准备环境查询版本对应安装rabbitmq软件启动创建登录用户开启用户远程登录查看端口 部署集群创建数据存放目录和日志存放目录:拷⻉erlang.cookie将其他两台服务器作为节点加⼊节点集群中查看集群状态创建新的队列 普通集群准备环境 配置hosts⽂件…