大模型应用开发-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)
  • 运行结果

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

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
19天前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
445 1
|
18天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
682 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
29天前
|
监控 数据可视化 Linux
LangSmith:大模型应用开发的得力助手
LangSmith 是大模型应用开发的高效助手,提供从调试、追踪到评估的全流程支持。通过可视化追踪树,清晰展现 LLM 应用每一步执行逻辑,提升可观察性;支持提示词优化、实时监控与自动化评估,助力开发者快速定位问题、迭代优化,构建稳定可靠的智能应用。
142 0
LangSmith:大模型应用开发的得力助手
|
1月前
|
人工智能 云栖大会
2025云栖大会大模型应用开发与部署|门票申领
2025云栖大会大模型应用开发与部署门票申领
120 1
|
4月前
|
数据采集 存储 人工智能
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答
智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答
|
4月前
|
人工智能 自然语言处理 数据挖掘
智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化
智能体(AI Agent)开发实战之【LangChain】(三)结合大模型基于RAG实现本地知识库问答优化
|
4月前
|
人工智能 Java API
Java 生态大模型应用开发全流程实战案例与技术路径终极对决
在Java生态中开发大模型应用,Spring AI、LangChain4j和JBoltAI是三大主流框架。本文从架构设计、核心功能、开发体验、性能扩展性、生态社区等维度对比三者特点,并结合实例分析选型建议。Spring AI适合已有Spring技术栈团队,LangChain4j灵活性强适用于学术研究,JBoltAI提供开箱即用的企业级解决方案,助力传统系统快速AI化改造。开发者可根据业务场景和技术背景选择最适合的框架。
612 2

热门文章

最新文章

下一篇
oss教程