首页 > 其他分享 >GPT之路(七) LangChain AI编成框架入门的第一个demo

GPT之路(七) LangChain AI编成框架入门的第一个demo

时间:2023-09-16 16:44:07浏览次数:38  
标签:AI demo langchain Langchain ## API OpenAI LangChain openai

环境:Python 3.11.4, LangChain 0.0.270

1.Langchain 简介

1.1 Python Langchain官方文档

大型语言模型(LLM)正在成为一种具有变革性的技术,使开发人员能够构建以前无法实现的应用程序。然而,仅仅依靠LLM还不足以创建一个真正强大的应用程序。它还需要其他计算资源或知识来源。
Langchain 旨在帮助开发这些类型应用程序,比如:基于文档数据的问答,聊天机器人,代理

2. OpenAI 简介

OpenAI 是LLM生态的模型层最大的玩家之一。大家目前熟知的 GPT-3.5,GPT-4 等模型都是OpenAI的产品。它的API允许开发人员通过简单的API调用来访问这些模型。

3. Langchain与OpenAI

Langchain 作为一个开源框架,提供与OpenAI等语言模型的接口,简化了在应用程序中集成和利用语言模型能力的过程。
4. 开发环境准备

4.1 Jupyter 或者 Colab

https://colab.research.google.com/

https://jupyter.org/

4.2 OpenAI API Key

在Langchain应用中使用OpenAI的模型,我们需要一个API Key。点击https://platform.openai.com/account/api-keys创建你的API Key。

5.第一个 Langchain 应用

代码: 01_langchain_base.ipynb

 
## 安装langchain和openai
%pip install langchain==0.0.270 openai

 

## 引入langchain相关的依赖
## load_dotenv 加载环境变量 即当前文件夹下的.env
## 可以添加配置OPENAI_API_KEY="sk-xxx"
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from dotenv import load_dotenv
import os

os.environ.clear()
## 加载环境变量
load_dotenv()

llm = ChatOpenAI(temperature=0,openai_api_key=os.environ.get('OPENAI_API_KEY'), model_name="gpt-3.5-turbo")

## verbose=True会答应类似debug信息
conversation = ConversationChain(
    llm=llm, verbose=True, memory=ConversationBufferMemory()
)

 

## 定义一个方法通过langchian的get_openai_callback 在问答的时候打印token的消耗清空
from langchain.callbacks import get_openai_callback
def track_tokens_usage(chain, query):
    with get_openai_callback() as cb:
        result = chain.run(query)
        print(f"prompt token {cb.prompt_tokens}, res token {cb.completion_tokens}, total token {cb.total_tokens}")
        print(f"successful requests {cb.successful_requests}, total cost {cb.total_cost}USD")
    return result
##我们的第一个问答
track_tokens_usage(conversation, "帮我做下langchain和Semantic Kernel的竞品分析")

ChatGPT的回答:

标签:AI,demo,langchain,Langchain,##,API,OpenAI,LangChain,openai
From: https://www.cnblogs.com/hlkawa/p/17670828.html

相关文章

  • 安装百度AI的环境
    condaremove-npaddlex--all#创建名为my_paddlex的环境,指定Python版本为3.7condacreate-npaddlexpython=3.7#进入my_paddlex环境condaactivatepaddlex#安装gitcondainstallgit#安装pycocotoolspipinstallcythonpipinstallgit+https://gitee.com/jiangjiajun/ph......
  • rust_trait个人理解
    0概述什么是traitrust中有许许多多的类型(枚举、结构体...),如果这些不同类型,都有类似的行为,我们把这个行为抽象出来,把他定义为一个特征(trait)一个trait中可以包含,一个或者一组行为,表现形式就是方法or函数1特征约束1.1特征约束1.2特征做函数参数的语法糖真特么nb,看下......
  • 长达 1.7 万字的 explain 关键字指南!
    当你的数据里只有几千几万,那么SQL优化并不会发挥太大价值,但当你的数据里去到了几百上千万,SQL优化的价值就体现出来了!因此稍微有些经验的同学都知道,怎么让MySQL查询语句又快又好是一件很重要的事情。要让SQL又快又好的前提是,我们知道它「病」在哪里,而explain关键字就是MyS......
  • PcellEvalFailed
    前言这个系列指得是在我日常工作中遇到的一些问题,最后我成功解决了。顺便在这里进行总结,后面不会再赘述。一、问题描述这个问题是鄙人新安装好一个库,在Cadence上画好原理图,打算layoutXL看看效果。但是有个别器件调用无法显示,在layout单独再调器件也是报这个问题。二......
  • CF1542E1 Abnormal Permutation Pairs (easy version) 题解
    CF1542E1AbnormalPermutationPairs(easyversion)题解不会Hardversion对于第一个限制字典序,我们可以考虑枚举前\(i\)位相同,然后考虑后\(n-i\)位。我们只需要保证\(p_{i+1}<q_{i+1}\)即可。我们设\(len=n-i\)。由于前\(i\)位完全相同,所以前\(i\)位内部......
  • debia12报错 perl: warning: Setting locale failed
    目录前奏情景复现官方解释解决以防走丢前奏该文档是在Debian12上遇到的问题,特别做个记录情景复现perl:warning:Settinglocalefailed.perl:warning:Pleasecheckthatyourlocalesettings:LANGUAGE="en_US:en",LC_ALL=(unset),LC_CTYPE="zh_CN.UTF-8",LANG......
  • halcon AI读取onnx模型并推理
    *程序功能:读取onnx模型并推理dev_update_off()dev_close_window()read_dl_model('squeezenet.onnx',DLModelHandle)set_dl_model_param(DLModelHandle,'type','classification')get_dl_model_param(DLModelHandle,'image_dimensions',......
  • 如何选择最适合您的AI编程工具
    ChatGPT的广泛应用引发了人工智能应用场景的重大变革和实践的探索。大规模专业模型在垂直领域得到了不断深化和实施。其中,基于大模型的编码AI工具的问世大大降低了开发复杂度,提高了开发人员的工作效率,对初级开发人员尤其有帮助。所以说,面对目前市场上涌现出的众多优秀的AI编程辅......
  • 人工智能AI界的龙头企业,炸裂的“英伟达”时代能走多远
    原创|文BFT机器人1、AI芯片的竞争格局已趋白热化尽管各类具有不同功能和定位的AI芯片在一定程度上可实现互补,但同时也在机遇与挑战并存中持续调整定位。在AI训练端,英伟达的GPU凭着高算力的门槛,一直都是训练端的首选。只有少数芯片能与他匹敌,如谷歌的TPU(从2017年开始已具备训练......
  • 浅析安防监控/AI视频智能分析算法:河道水位超标算法应用
    传统的水位水尺刻度尺位监测中,所采用的人工读数方式,效率较为低下且人工成本较高,不利于作业流程的数字化。尽管感应器检测会自动对水位的模拟输入进行筛选,但是由于成本、使用场景要求高、后续日常维护复杂等多种因素,在一些场景下没法合理应用。TSINGSEE青犀智能分析AI算法中台——......