大模型应用开发-LangChain入门教程

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 大模型应用开发-LangChain入门教程

大模型应用开发-LangChain入门教程


简介:本文讲解如何使用LangChain来构造大模型应用。


LangChain简介


LangChain是一个编程框架,主要用于在应用程序中集成大型语言模型(LLM)。LangChain提供了记忆组件,用于解决大语言模型无状态的问题,使得模型能够保存上次交互的内容,从而能够更好地进行连续的对话或任务处理。


此外,LangChain还提供了多种类型的Chain类,用于处理不同的任务。其中,通用Chain类用于控制Chain的调用顺序和是否调用,它们可以用来合并构造其他的Chain。具体Chain类则承担了具体的某项任务,例如LLMChain专门用于针对语言模型LLM的查询,可以格式化prompt以及调用语言模型。


入门案例


openAI版本


  • 获取接口
  • 首先需要进入openAI官网,查看自己的接口。

  • 创建接口


  • 创建成功之后就有密钥了

  • 编写代码

在最新版的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)
  • 运行结果

可以看出已经运行成功了,这样我们就可以训练一个属于自己的大模型应用了,或者把接口整合到自己的网站中。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
673 2
|
3月前
LangChain-11 Code Writing FunctionCalling 大模型通过编写代码完成需求 大模型计算加法
LangChain-11 Code Writing FunctionCalling 大模型通过编写代码完成需求 大模型计算加法
41 4
|
3月前
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
109 3
LangChain-26 Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
|
3月前
|
机器学习/深度学习 人工智能 开发框架
解锁AI新纪元:LangChain保姆级RAG实战,助你抢占大模型发展趋势红利,共赴智能未来之旅!
【10月更文挑战第4天】本文详细介绍检索增强生成(RAG)技术的发展趋势及其在大型语言模型(LLM)中的应用优势,如知识丰富性、上下文理解和可解释性。通过LangChain框架进行实战演练,演示从知识库加载、文档分割、向量化到构建检索器的全过程,并提供示例代码。掌握RAG技术有助于企业在问答系统、文本生成等领域把握大模型的红利期,应对检索效率和模型融合等挑战。
222 14
|
3月前
|
人工智能 前端开发 JavaScript
前端大模型入门(二):掌握langchain的核心Runnable接口
Langchain.js 是 Langchain 框架的 JavaScript 版本,专为前端和后端 JavaScript 环境设计。最新 v0.3 版本引入了强大的 Runnable 接口,支持灵活的执行方式和异步操作,方便与不同模型和逻辑集成。本文将详细介绍 Runnable 接口,并通过实现自定义 Runnable 来帮助前端人员快速上手。
|
3月前
|
存储 人工智能 搜索推荐
揭秘LangChain+RAG如何重塑行业未来?保姆级实战演练,解锁大模型在各领域应用场景的神秘面纱!
【10月更文挑战第4天】随着AI技术的发展,大型语言模型在各行各业的应用愈发广泛,检索增强生成(RAG)技术成为推动企业智能化转型的关键。本文通过实战演练,展示了如何在LangChain框架内实施RAG技术,涵盖金融(智能风控与投资决策)、医疗(辅助诊断与病历分析)及教育(个性化学习推荐与智能答疑)三大领域。通过具体示例和部署方案,如整合金融数据、医疗信息以及学生学习资料,并利用RAG技术生成精准报告、诊断建议及个性化学习计划,为企业提供了切实可行的智能化解决方案。
105 5
|
3月前
|
JSON 计算机视觉 数据格式
LangChain-17 FunctionCalling 利用大模型对函数进行回调 扩展大模型的额外的能力 比如实现加减乘除等功能
LangChain-17 FunctionCalling 利用大模型对函数进行回调 扩展大模型的额外的能力 比如实现加减乘除等功能
67 4
|
3月前
|
前端开发 API
LangChain-25 ReAct 让大模型自己思考和决策下一步 AutoGPT实现途径、AGI重要里程碑
LangChain-25 ReAct 让大模型自己思考和决策下一步 AutoGPT实现途径、AGI重要里程碑
115 0
|
3月前
|
机器学习/深度学习 存储 自然语言处理
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
LangChain-22 Text Embedding 续接21节 文本切分后 对文本进行embedding向量化处理 后续可保存到向量数据库后进行检索 从而扩展大模型的能力
64 0
|
3月前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了一种结合知识图谱与大型语言模型(LLM)的GraphRAG系统,利用PolarDB、通义千问及LangChain实现。知识图谱通过结构化信息、语义理解和推理等功能,增强了信息检索与自然语言处理效果。PolarDB具备图引擎与向量检索能力,适配知识图谱存储与查询。通义千问处理自然语言,LangChain则整合模型与应用。实战步骤包括环境准备、数据库配置与数据导入,并通过实例展示了图谱与向量联合检索的优越性,提升了问答系统的准确性和实用性。

热门文章

最新文章