依赖包安装 pip install python-dotenv #读取文件中的环境变量 pip install openai 环境变量配置与加载:默认加载 .env 文件中的环境变量 from dotenv import load_dotenv # 加载".env"文件 load_dotenv() # 现在你可以通过os.getenv来获取环境变量了 import os my_secret_key = os.getenv("MY_SECRET_KEY") print(my_secret_key) 确保你的 .env 文件位于你的项目根目录或你指定的目录中, 并且包含了你需要的环境变量,如 MY_SECRET_KEY=some_secret_value。 加载指定的文件 from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv(filename="env.txt")) |
from openai import OpenAI # 初始化 OpenAI 客户端 client = OpenAI() # 默认使用环境变量中的 OPENAI_API_KEY 和 OPENAI_BASE_URL # 基于 prompt 生成文本 # 默认使用 gpt-3.5-turbo 模型 def get_completion(prompt, response_format="text", model="gpt-3.5-turbo"): messages = [{"role": "user", "content": prompt}] # 将 prompt 作为用户输入 response = client.chat.completions.create( model=model, messages=messages, temperature=0, # 模型输出的随机性,0 表示随机性最小 # 返回消息的格式,text 或 json_object response_format={"type": response_format}, ) return response.choices[0].message.content # 返回模型生成的文本 print(get_completion("常用的数据结构与算法有哪些")) 常用的数据结构包括: 1. 数组(Array) 2. 链表(Linked List) 3. 栈(Stack) 4. 队列(Queue) 5. 树(Tree) 6. 图(Graph) 7. 哈希表(Hash Table) 8. 堆(Heap) 常用的算法包括: 1. 排序算法(如快速排序、归并排序、插入排序、冒泡排序等) 2. 搜索算法(如二分查找、深度优先搜索、广度优先搜索等) 3. 动态规划(Dynamic Programming) 4. 贪心算法(Greedy Algorithm) 5. 回溯算法(Backtracking) 6. 分治算法(Divide and Conquer) 7. 图算法(如最短路径算法、最小生成树算法等) 8. 字符串匹配算法(如KMP算法、Boyer-Moore算法等) gpt-4o-mini from openai import OpenAI client = OpenAI() stream = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": "请使用C语言实现一个数组的数据结构"}], stream=True, ) for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="") 当然可以!下面是一个简单的数组数据结构的实现示例,包括基本的功能,如初始化、插入元素、删除元素和打印数组内容。 ```c #include |
流式调用 from openai import OpenAI client = OpenAI() stream = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": "请使用C语言实现一个数组的数据结构"}], stream=True, ) for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="") |
from openai import OpenAI def get_completion(prompt, model="gpt-3.5-turbo-1106"): '''封装 openai 接口''' messages = [{"role": "user", "content": prompt}] client = OpenAI() response = client.chat.completions.create( model=model, messages=messages, temperature=0.9, # 模型输出的随机性,0 表示随机性最小 ) return response.choices[0].message.content prompt = """ 我是七三学徒,热爱新技术,对AI有浓厚的兴趣, 请问七三学徒是谁? """ get_completion(prompt) '七三学徒通常指受过严格训练的学徒,以“七分师傅,三分学徒”来形容。这个成语源自中国古代,形容学徒在师傅的指导下学习技艺。' ```temperature=0 '七三学徒通常指的是中国著名科学家、工程师和教育家钱学森。他被称为“七三学徒”是因为他在1937年以73岁高龄获得了加拿大麦吉尔大学的博士学位。钱学森是中国现代航空航天事业的奠基人之一,也是中国的科学家和教育家。' ``` prompt = """ 七三学徒是一个热爱新技术,对AI有浓厚的兴趣的人 请问七三学徒是谁? """ get_completion(prompt) '七三学徒是一个虚构的人物,通常用来形容对新技术和人工智能有浓厚兴趣的人。' |
system role from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) client = OpenAI( ) # 消息 messages = [ { "role": "system", "content": "我是七三学徒,热爱新技术,对AI有浓厚的兴趣" # 注入新知识 }, { "role": "user", "content": "请问七三学徒是谁?" # 问问题。可以改改试试 }, ] # 调用 GPT-3.5 chat_completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=messages ) # 输出回复 print(chat_completion.choices[0].message.content) 七三学徒是一个虚拟角色,代表一个热爱学习、积极探索新知识的学习者。 在这里,我作为七三学徒角色与您交流,分享知识,解答问题。 欢迎提出您感兴趣的问题,让我们一起探讨学习、科技和其他话题! 结合前面的例子,可以充分体会 system role这个角色 这个是指定系统是个什么角色, 这里呢,在体系里说的是“我”,LLM折中处理了这个过程... 这么难回答的一个问题,使用user role,结果就会大不相同 from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) client = OpenAI( ) # 消息 messages = [ { "role": "user", "content": "我是七三学徒,热爱新技术,对AI有浓厚的兴趣" # 注入新知识 }, { "role": "user", "content": "请问七三学徒是谁?" # 问问题。可以改改试试 }, ] # 调用 GPT-3.5 chat_completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=messages ) # 输出回复 print(chat_completion.choices[0].message.content) “七三学徒”是一个由网络上的一个匿名程序员所使用的ID或网名,通常在技术相关的讨论或社交平台上被使用。他(或她)可能以此来表达对自己在技术领域中仍需学习和成长的态度。在网上,大家可能更熟悉他使用的这个ID,而不是他的真名。
from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) client = OpenAI( ) # 消息 messages = [ { "role": "system", "content": "七三笔记网站是一个介绍AI相关知识的网站" # 注入新知识 }, { "role": "user", "content": "七三笔记网站是做什么?" # 问问题。可以改改试试 }, ] # 调用 GPT-3.5 chat_completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=messages ) # 输出回复 print(chat_completion.choices[0].message.content) 七三笔记网站是一个介绍人工智能(AI)相关知识的网站,提供关于人工智能技术、应用、发展等方面的文章、教程和资讯。用户可以在网站上学习人工智能的基础知识,了解最新的人工智能技术趋势,以及探讨人工智能在各个领域的应用和发展。 |
|
|
from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) from langchain_openai import OpenAI llm = OpenAI() prompt = """ 我是七三学徒,热爱新技术,对AI有浓厚的兴趣, 请问七三学徒是谁? """ response = llm.invoke(prompt) print(response) 执行的结果是有一定随机性的,尤其是这样LLM无法准确理解的问题 七三学徒不是一个具体的人,而是一个身份。一般指在某个领域或技术上只有初步了解的学习者,处于初级阶段的学习者。这个称呼源自中国古代的经典《论语》中的一句话:“七十而从心所欲,不逾矩”,意思是说人到70岁时,应该能够按照自己的意愿去做事,但也不要超过规矩。后来民间就用“七十从心所欲”来形容初学者,后来又简称为“七三学徒”。 七三学徒是一个网络用戶名,代表一个人的匿名身份,无法确定具体是哪个人 七三学徒是一个网络上的虚拟角色,代表着一个热爱新技术、对人工智能有浓厚兴趣的普通人。他/她并没有具体的身份和真实的存在,只是一种社交媒体上的身份标识。 |
|
|
|
|
from langchain_community.callbacks import get_openai_callback from langchain_openai import OpenAI # 初始化 from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) llm = OpenAI() with中可以是llm直接调用,也可以是chain调用 with get_openai_callback() as cb: res = llm.invoke("如何培养持久学习的习惯?") print(res) 1. 设定明确的学习目标:首先,要明确自己想要学习什么内容,设定明确的学习目标,这样可以让学习更有针对性和方向性。 2. 制定学习计划:制定一个学习计划,将学习内容分解成小目标,每天或每周规划学习的时间和内容,这样可以让学习变得更有条理,避免拖延和浪费时间。 3. 坚持每天学习:持久学习的关键是每天都要保持学习的习惯,可以设定固定的学习时间,保证每天都有一定的学习时间。 4. 找到适合自己的学习方式:每个人的学习方式都不同,有的人喜欢看书,有的人喜欢听课, print(cb) Tokens Used: 274 Prompt Tokens: 18 Completion Tokens: 256 Successful Requests: 1 Total Cost (USD): $0.000539 |
|
|
|
|