进军AI大模型-环境配置

news2025/1/1 9:08:50

语言环境配置

合法上网工具:

这个T子试试,一直稳定。走我链接免费用5天:
https://wibnm.com/s/ywtc01/pvijpzy

python版本: python3.12

Langchain: Introduction | 🦜️🔗 LangChain  v0.3 9月16日升级的版本

pip3 设置成阿里云的源镜像(能够快速下载依赖包) 

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

langchain安装

pip install langchain

pip install langchain-openai

检查是否安装成功

使用langchain调用大语言模型

注册API KEY

注册地址

代码

将中文翻译成日语

import os

from langchain_core.messages import SystemMessage, HumanMessage
from langchain_openai import ChatOpenAI

os.environ['OPENAI_API_BASE'] = "https://api.mctools.online/v1"

model = ChatOpenAI(model="gpt-4-turbo")

msg = [SystemMessage(content='请将以下的内容翻译成日语'), HumanMessage(content='你好,初次见面请多关照')]

result = model.invoke(msg)
print(result)

代码解释

  • 导入语句引入了必要的模块和类:
    • os:用于设置环境变量。
    • SystemMessage 和 HumanMessage:来自langchain_core.messages模块,用于构造对话中的消息对象,其中SystemMessage通常用来给模型提供指令或上下文信息,而HumanMessage则表示用户输入的内容。
    • ChatOpenAI:来自langchain_openai库,是用于创建一个可以与OpenAI API交互的对象的类。
  • 设置了一个环境变量OPENAI_API_BASE,指定了自定义的API基础URL。这意味着所有的API请求都将发送到这个特定的域名,而不是默认的OpenAI API地址。这在您需要访问非官方API端点时很有用,比如企业内部部署的服务或是代理服务。
  •  这个地址在https://falm.shop/buy/36 购买 ,因为在国内使用实在是有点不方便
  • 创建了一个ChatOpenAI实例,并指定了要使用的模型名称为gpt-4-turbo。如果你没有apikey执行就会报错
  • 构造了一组消息列表msg,其中包括两个元素:
    • 一个SystemMessage对象,其内容是“请将以下的内容翻译成日语”,这相当于给模型的一个指示,告诉它接下来的任务是要进行中文到日语的翻译。
    • 一个HumanMessage对象,其内容是“你好,初次见面请多关照”,这是实际要被翻译的文本。
  • 使用invoke方法向模型传递消息列表msg,并获取模型生成的响应。invoke方法会返回一个包含模型生成的消息的对象,您可以从中提取出想要的信息,如生成的文本。
  • 最后,print(result)会打印出模型的响应结果,即翻译后的文本。

执行结果

content='こんにちは、初めまして、よろしくお願いします。' 
additional_kwargs={'refusal': None} 
response_metadata={'token_usage': {'completion_tokens': 18, 'prompt_tokens': 36, 'total_tokens': 54, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4-turbo-2024-04-09', 'system_fingerprint': 'fp_1a5512f3de', 'finish_reason': 'stop', 'logprobs': None} id='run-63ca957d-44ad-432e-bace-72e2b3f7a58e-0' usage_metadata={'input_tokens': 36, 'output_tokens': 18, 'total_tokens': 54, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}

 注意

这里记得把api key添加进来

代码改造

开发流程

1、定义大模型, 参考https://platform.openai.com/docs/models

2、创建提示器prompt

3、解析模型数据,支持文本、JSON、XML...

4、创建链,通过提供一系列逻辑上相连的问题或步骤作为提示,可以引导模型进行更深入、更复杂的思考,从而产生更准确的答案

import os

from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI

os.environ['OPENAI_API_BASE'] = "https://api.mctools.online/v1"
#1. 定义模型
model = ChatOpenAI(model="gpt-4-turbo")

#2. prompt
msg = [SystemMessage(content='请将以下的内容翻译成日语'), HumanMessage(content='你好,初次见面请多关照')]
# result = model.invoke(msg)
# print(result)

# 3.解析数据
parser = StrOutputParser()

# print(parser.invoke(result))

# 4.创建链
chain = model | parser
# 链调用
print(chain.invoke(msg))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

影刀进阶指令 | Kimi (对标ChatGPT)

文章目录 影刀进阶指令 | Kimi (对标ChatGPT)一. 需求二. 流程三. 实现3.1 流程概览3.2 流程步骤讲解1\. 确定问题2\. 填写问题并发送3\. 检测答案是否出完 四. 运维 影刀进阶指令 | Kimi (对标ChatGPT) 简单讲讲RPA调用kimi实现…

python学opencv|读取图像(二十二)使用cv2.polylines()绘制多边形

【1】引言 前序学习进程中,已经掌握了使用pythonopencv绘制线段、矩形和圆形的基本操作,相关链接包括且不限于: python学opencv|读取图像(十八)使用cv2.line创造线段-CSDN博客 python学opencv|读取图像(…

OCR实践-Table-Transformer

前言 书接上文 OCR实践—PaddleOCR Table-Transformer 与 PubTables-1M table-transformer,来自微软,基于Detr,在PubTables1M 数据集上进行训练,模型是在提出数据集同时的工作, paper PubTables-1M: Towards comp…

计算机毕业设计hadoop+spark+hive民宿推荐系统 酒店推荐系统 民宿价格预测 酒店价格 预测 机器学习 深度学习 Python爬虫 HDFS集群

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging (Apache Commons Logging ) JCL 集成logbackPOM依赖配置文件 logback.xml使用 源码分析jcl-over-slf4j 的工作原理1. LogFactory 的实现2. SLF4JLogFactory 和 Log 的实例化过程3. SLF4JLog 和 …

多模态论文笔记——LLaVA

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍多模态模型:LLaVA。处理包含图像和文本的多模态数据,并生成合理准确的回答。 文章目录 论文模型架构视觉编码器语言模型多模态融…

汽车的hmi设计还能有哪些创新?要从哪些方面下手

随着科技的不断发展,汽车的人机交互界面(HMI)设计也在不断演进。目前,汽车 HMI 已经从传统的物理按钮和仪表盘发展到了数字化、智能化的交互系统。然而,仍有许多创新的空间等待探索。那么,汽车的 HMI 设计还…

基于深度学习(HyperLPR3框架)的中文车牌识别系统-前言

参考链接: GitHub - szad670401/HyperLPR: 基于深度学习高性能中文车牌识别 High Performance Chinese License Plate Recognition Framework.基于深度学习高性能中文车牌识别 High Performance Chinese License Plate Recognition Framework. - szad670401/HyperL…

Python库中各种插值函数的使用

文章目录 Python库中各种插值函数的使用数据1: 随机的数据数据2: 从 cos轨迹中取值B样条三次样条Akmia画图显示数据1 的比较结果位置比较示意图速度比较示意图加速度比较示意图 数据2 的比较结果位置比较示意图速度比较示意图加速度比较示意图 全部代码如…

ip归属地怎么判定?如何查看自己ip属地

在当今数字化时代,IP地址作为互联网通信的基础,扮演着至关重要的角色。而IP归属地的判定与查看,不仅关乎网络安全、隐私保护,还直接影响到社交平台的信任机制与信息传播的真实性。本文将深入探讨IP归属地的判定原理以及如何查看自…

soular使用教程

用 soular 配置你的组织,工作更高效!以下是快速上手的简单步骤:  1. 账号管理 可以对账号信息进行多方面管理,包括分配不同的部门、用户组等,从而确保账号权限和职责的清晰分配。  1.1 用…

JS媒体查询之matchMedia API 实现跟随系统主题色切换效果

📊写在前面 在网页设计中,跟随系统主题切换可以通过CSS和JavaScript实现。可以通过定义两套CSS变量,根据系统主题的颜色来切换变量的生效,从而实现不同主题下的页面样式变化。 例如,可以使用媒体查询API来获取系统主题…

客户案例:基于慧集通的致远OA与海康威视智能会议设备集成方案

一、引言 本案例原型公司是我国生产纺织原料的大型上市企业,主导产品为再生纤维素长丝、氨纶等系列产品。公司产品不仅得到国内客户认可,还远销海外,合作伙伴遍布德国、意大利、日本、韩国、土耳其、印度等30多个国家和地区。 二、简介 &am…

【Leetcode】3046. 分割数组

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果 题目 题目链接🔗 给你一个长度为 偶数 的整数数组 n u m s nums nums 。你需要将这个数组分割成 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2 两部分,要求: n u m s 1. l…

掌握软件工程基础:知识点全面解析【chap07、chap10】

chap07 软件设计基础 1.信息隐藏、内聚度和耦合度(在七种级别里应该注意什么原则)的概念 1.信息隐藏 模块独立的概念 o 模块应该设计得使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问; o 每个模块只完成一个相对独立的特定功能; o 模…

操作系统实验三 存储管理

实验三 存储管理 一、实验目的 通过实验使学生了解可变式分区管理使用的主要数据结构,分配、回收的主要技术,了解最优适应分配、最坏适应分配、最先适应分配和循环适应分配等分配算法。基本能达到下列具体的目标: 掌握初步进程在内存中的映…

40.2 预聚合和prometheus-record使用

本节重点介绍 : downsample降采样可以降低查询数据量 prometheus原生不支持downsample 实时查询/聚合 VS 预查询/聚合的优缺点 实时查询/聚合条件随意组合,性能差预查询/聚合 性能好,聚合条件需要提前定义 prometheus的预查询/聚合配置举例 downsample…

win11中win加方向键失效的原因

1、可能是你把win键锁了: 解决办法:先按Fn键,再按win键 2、可能是可能是 贴靠窗口设置 中将贴靠窗口关闭了,只需要将其打开就好了

【Rust自学】7.4. use关键字 Pt.2 :重导入与换国内镜像源教程

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.4.1. 使用pub use重新导入名称 使用use将路径导入作用域内后。该名称在词作用域内是私有的。 以上一篇文章的代码为例: m…

算法练习——模拟题

前言:模拟题的特点在于没有什么固定的技巧,完全考验自己的代码能力,因此有助于提升自己的代码水平。如果说一定有什么技巧的话,那就是有的模拟题能够通过找规律来简化算法。 一:替换所有问号 题目要求: 解…