赞
踩
- 作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。
- 座右铭:未来是不可确定的,慢慢来是最快的。
- 个人主页:极客李华-CSDN博客
- 合作方式:私聊+
- 这个专栏内容:用最低价格鼓励和博主一起在寒假打卡高频大厂算法题,连续一个月,提升自己的算法实力,为了算法比赛或者春招。
- 我的CSDN社区:https://bbs.csdn.net/forums/99eb3042821a4432868bb5bfc4d513a8
- 微信公众号,抖音,b站等平台统一叫做:极客李华,加入微信公众号领取各种编程资料,加入抖音,b站学习面试技巧,职业规划
简介:本文讲解如何使用LangChain来构造大模型应用。
LangChain是一个编程框架,主要用于在应用程序中集成大型语言模型(LLM)。LangChain提供了记忆组件,用于解决大语言模型无状态的问题,使得模型能够保存上次交互的内容,从而能够更好地进行连续的对话或任务处理。
此外,LangChain还提供了多种类型的Chain类,用于处理不同的任务。其中,通用Chain类用于控制Chain的调用顺序和是否调用,它们可以用来合并构造其他的Chain。具体Chain类则承担了具体的某项任务,例如LLMChain专门用于针对语言模型LLM的查询,可以格式化prompt以及调用语言模型。
在最新版的LangChain教程中,取消了直接使用key的方式,要把key先配置成环境变量,然后调用,自己的电脑的环境变量才能够运行,提高了安全性。
import os import openai # 假设 open_api_key 是一个环境变量名,而不是API密钥本身 open_api_key_env_var = "openAI-key" # 最好使用有意义的环境变量名 openai_api_key = os.environ.get(open_api_key_env_var) # 确保API密钥已设置 if not openai_api_key: raise ValueError(f"Environment variable {open_api_key_env_var} is not set.") # 初始化OpenAI客户端 client = openai.Client(api_key=openai_api_key) def get_completion(prompt, model="gpt-3.5-turbo"): # 使用传入的prompt构建消息列表 messages = [{"role": "user", "content": prompt}] try: # 调用API并传入参数 response = client.chat.completions.create( model=model, messages=messages, ) # 从响应中提取聊天完成的内容 return response.get("choices", [{}])[0].get("message", {}).get("content", "") except Exception as e: # 异常处理 print(f"An error occurred: {e}") return None # 使用函数示例 prompt_text = "Hello, how are you?" result = get_completion(prompt_text) print(result)
运行这个代码想要成功,必须要自己的openai账户有钱,才可以,但是正常情况下,大家也充值不了,所以只能够采取代理的方法了。
通过下面的链接:https://referer.shadowai.xyz/r/1005029
就可以进入代理版本,注册代理接口。
from openai import OpenAI client = OpenAI( base_url='https://api.openai-proxy.org/v1', api_key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', ) chat_completion = client.chat.completions.create( messages=[ { "role": "user", "content": "Say hi", # 我要问的问题 } ], model="gpt-3.5-turbo", ) # 获取choices列表中的第一个元素(通常只有一个choice) choice = chat_completion.choices[0] # 从choice中获取message对象 message = choice.message # 获取message的内容 content = message.content # 打印内容 print(content)
可以看出已经运行成功了,这样我们就可以训练一个属于自己的大模型应用了,或者把接口整合到自己的网站中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。