大模型生成,Open API调用

大模型是怎么生成结果的

通俗原理

其实,它只是根据上文,猜下一个词(的概率)……

OpenAI 的接口名就叫【completion】,也证明了其只会【生成】的本质。

下面用程序演示【生成下一个字】。你可以自己修改 prompt 试试。还可以用相同的 prompt 运行多次。

from openai import OpenAI
import osfrom dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())client = OpenAI()prompt = "今天我很"    # 改我试试
response = client.completions.create(model="gpt-3.5-turbo-instruct",prompt=prompt,max_tokens=20,stream=True
)for chunk in response:print(chunk.choices[0].text, end='')

典型业务架构

AI Embedded 模式:某个环节用到AI

AI  Copilot 模式:很多环节用到AI

AI Agent 模式:AI被大量的应用,人做的事几乎微乎其微,只需提要求

技术架构

1、纯Prompt

就像和一个人对话,你说一句,ta回一句,你再说一句,ta再回一句……

2、RAG = Agent + Function Calling

Agent:AI主动提要求

Function Calling:AI要求执行某个函数

场景举例:你问过年去哪玩,ta先反问你有几天假

3、RAG = Embeddings + 向量数据库

向量搜索:根据输入向量,找到最相似的向量

场景举例:考试时,看到一道题,到书上找相关内容,再结合题目组成答案。然后就都忘了(打小抄) 

 4、Fine-tuning

(不打小抄,把知识记住了,回答效果更好)

编程调用 Open API

官方文档:https://platform.openai.com/docs/api-reference 

 1、安装OpenAI Python库

在命令行执行:

pip install --upgrade openai

2、发一条消息

import openai
import os# 加载 .env 文件到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())# 初始化 OpenAI 服务。会自动从环境变量加载 OPENAI_API_KEY 和 OPENAI_BASE_URL
client = OpenAI()# 消息格式
messages = [{"role": "system","content": "你是AI助手小瓜,是 AGI 课程的助教。这门课每周二、四上课"},{"role": "user","content": "哪天有课?"},
}#调用GPT-3.5
chat_completion = client.chat.completion.create(model="gpt-3.5-turbo",message=message
)#输出回复
print(chat_completion.choices[0].message.content)

这门课每周二、四有课。因此,下一堂课将在本周二举行,再次在本周四上课。

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

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

相关文章

前端按钮动画

效果示例 代码示例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevic…

SpringBoot整合MySQL和Druid

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot整合MySQL和Druid 📚个人知识库: Leo知识库,欢迎大家访问 目录 …

2042193-77-9,BDP FL methyltetrazine,具有较低的细胞毒性

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;BDP FL methyltetrazine&#xff0c;氟化硼二吡咯甲基四嗪&#xff0c;BDP FL甲基四嗪&#xff0c;2042193-77-9 一、基本信息 【产品简介】&#xff1a;BDP FL hydrogetrazine has water solubility and photostab…

[剪藏] - 尊湃通讯公司窃密曝光,发现绕不过华为

在科技领域风起云涌的今天&#xff0c;一场惊心动魄的窃密事件悄然发生&#xff0c;涉及华为WIFI6芯片技术的商业秘密被窃取&#xff0c;案中主谋竟然是一位曾在华为海思拥有重量级地位的技术大佬。本文将深入挖掘这起事件的来龙去脉&#xff0c;探讨窃密者的背叛和华为的技术守…

微信小程序项目上码云gitee传到 git 仓库

1、新建仓库 码云网址&#xff1a;新建仓库 - Gitee.com 2、复制地址 3、初始化 git 仓库 4、添加远程仓库 5、上传推送代码 6、成功后&#xff0c;刷新可得

ETH网络中的区块链

回顾BTC网络的区块链系统 什么是区块链&#xff1f;BTC网络是如何运行的&#xff1f;BTC交易模式 - UXTO ETH网络中的区块链 ETH网络的基石依旧是 区块链。上面 什么是区块链&#xff1f; 的文章依旧适用。 相比BTC网络&#xff0c;ETH网络的账户系统就相对复杂&#xff0c;所…

力扣SQL50 无效的推文 查询

Problem: 1683. 无效的推文 思路 &#x1f468;‍&#x1f3eb; 参考 char_length(str)&#xff1a;计算 str 的字符长度length(str)&#xff1a;计算 str 的字节长度 Code select tweet_id from Tweets where char_length(content) > 15;

kotlin单例模式,4年小Android的心路历程

一、Java基础 我知道大家一定有很久都没有注意到这个点了&#xff0c;平时的工作应该也很少涉及到这些底层知识吧&#xff0c;但是这些东西很重要。如果是想要跳槽加薪或者是应对即将到来的面试&#xff0c;这些都是不可忽视的知识。 在这一点里&#xff0c;需要重视的点有&am…

云原生团队如何实现加量不加价

随着云原生技术的快速发展&#xff0c;越来越多的业务实现了上云&#xff0c;云原生团队在工作量增大的同时也随之变成了所有问题对接的入口&#xff0c;如何承担这个保姆的角色成为了一道难题&#xff0c;故障的定界和问题证据的交接更是让人头疼的问题。在这种情况下需要有工…

【Python笔记-设计模式】迭代器模式

一、说明 迭代器模式是一种行为设计模式&#xff0c;让你能在不暴露集合底层表现形式&#xff08;列表、栈和树等&#xff09;的情况下遍历集合中所有的元素。 (一) 解决问题 遍历聚合对象中的元素&#xff0c;而不需要暴露该对象的内部表示 (二) 使用场景 需要对聚合对象…

网络攻防之CVE-2020-15778漏洞的复现及修复详细过程

目录 漏洞描述 实验环境 漏洞复现 漏洞修复 漏洞扩展 漏洞描述 (1)漏洞编号:CVE-2020-15778 (2)CVE官网对该漏洞的解释 (3)漏洞简介:2020年6月9日,研究人员Chinmay Pandya在Openssh中发现了一个漏洞,于7月18日公开。OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命…

软考-系统集成项目管理中级-信息系统建设与设计

本章重点考点 1.信息系统的生命周期 信息系统建设的内容主要包括设备采购、系统集成、软件开发和运维服务等。信息系统的生命周期可以分为四个阶段:立项、开发、运维和消亡。 2.信息系统开发方法 信息系统常用的开发方法有结构化方法、原型法、面向对象方法等 1)结构化方法 …