首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

  • 24-12-06 05:45
  • 3336
  • 27140
juejin.cn

安装LangChain

安装LangChain可以通过pip install langchain完成,但要注意与其他工具的集成需要额外安装依赖,如openai和chroma。

推荐使用pip install langchain[llms]来安装包含常用大语言模型的版本,之后再用pip install --upgrade langchain来保持最新版本。

Openai API

OpenAI API 是 OpenAI 提供的用于访问其大语言模型(如 GPT-3、GPT-4 等)的应用程序接口。通过这些API,开发者可以将自然语言处理能力集成到自己的应用中,实现诸如文本生成、对话、语言翻译等功能。OpenAI 的 API 通过一系列端点,让用户发送输入(prompt)并获得模型的输出(response)。

通过一些神秘方法获得OPENAI API后来看看下面两个代码分别展示了CHAT MODEL和TEXT MODEL 首先先介绍OPENAI API的调用参数 在调用OpenAI API时,开发者可以使用各种参数来定制化请求,从而控制模型生成文本的内容和风格。以下是关键参数的简要说明:

  1. model:指定所使用的模型类型,例如 text-davinci-003、gpt-3.5-turbo 等。
  2. prompt:提示或问题的内容,告诉模型需要生成什么样的文本。
  3. temperature:用于控制生成文本的随机性。较高的值(如 0.8)会让输出更具多样性,较低的值(如 0.2)则让输出更确定。
  4. max_tokens:生成文本的最大长度,注意单位是Tokens。比如一个英文单词通常是一个Token。
  5. suffix:可以附加到模型生成的文本末尾的字符串。
  6. top_p:与temperature类似,但通过核采样控制生成的随机性。
  7. n:生成的候选响应数目,使用多个响应可以帮助选择最佳答案。
  8. stream:是否以流的方式输出生成的Tokens,如果为 true,会逐步返回结果。
  9. logprobs:请求输出的Token的概率信息。
  10. echo:设置为 true 时,返回的文本会包含请求中的输入内容。
  11. stop:设置一个或多个停止符号,当模型生成文本遇到这些符号时会停止。
  12. presence_penalty 和 frequency_penalty:用于影响模型生成新信息的程度,可以提高生成多样性。
  13. best_of:生成最佳响应的数量,适用于在指定多个响应时。
  14. logit_bias:对指定Token的生成概率进行偏置处理。
  15. user:用于标识请求的用户,方便OpenAI进行监控和管理。

响应对象详解

OpenAI API 的响应对象包含了模型生成的输出和其他相关信息,通常包含以下主要字段:

  1. id:响应的唯一标识符。
  2. object:对象类型,通常为 text_completion。
  3. created:生成响应的时间。
  4. model:生成响应所用模型的名称。
  5. choices:包含所有生成的输出,列表的每一项对应一个生成的结果。
  6. usage:包含关于Token使用的统计信息,如提示的Token数量(prompt_tokens)、生成的Token数量(completion_tokens)以及总Token数量(total_tokens)。

在代码中,你可以通过 response.choices[0].text.strip() 来获取第一个生成的文本,并移除前后的空白符号。

CHAT MODEL

聊天模型,用于产生人类和AI之间的对话。

python
代码解读
复制代码
""" 本文件是【LangChain系统安装和快速入门】章节的配套代码,课程链接:https://juejin.cn/book/7387702347436130304/section/7388069981520724003 您可以点击最上方的“运行“按钮,直接运行该文件;更多操作指引请参考Readme.md文件。 """ import os from openai import OpenAI # os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key' # os.environ["OPENAI_BASE_URL"] = 'OpenAI 的 API URL' client = OpenAI() # text = client.invoke("请给我写一句情人节红玫瑰的中文宣传语") response = client.chat.completions.create( model=os.environ.get("LLM_MODELEND"), messages=[ {"role": "system", "content": "You are a creative AI."}, {"role": "user", "content": "请给我的花店起个名"}, ], temperature=0.8, max_tokens=600, ) print(response.choices[0].message.content)

在这段代码中,除了 temperature、max_tokens 等参数,还有两个专属于 Chat 模型的概念:消息(messages)和角色(role)。

  • 消息(messages) :传入模型的提示,通常是一个包含多个消息的列表。每个消息都有一个角色(role)和内容(content)。

    • 角色(role)可以是 system、user 或 assistant。
    • system 设定对话背景(例如 "你是一个很棒的智能助手")。
    • user 是用户发出的请求(例如 "请给我的花店起个名")。
    • assistant 是模型的回复,用于提供先前对话的上下文。

生成的响应对象会包含一个或多个 choices,每个 choice 包含一个 message,而 message 也有 role 和 content 两个字段。 下面是回复的结果: image.png Chat模型和Text模型都有各自的优点,其适用性取决于具体的应用场景。

  • Chat模型 更适合处理多轮交互对话的情况。它可以接受一个消息列表作为输入,包含 system、user 和 assistant 的历史信息,这样模型在生成回复时可以参考更多上下文信息。
  • Text模型 更简单直接,适用于单轮文本生成任务。如果你只需要模型根据一个简单的提示生成一段文本,那么使用Text模型会更适合。

通过 LangChain 调用 Text 和 Chat 模型

Text Model

代码示例:

python
代码解读
复制代码
""" 本文件是【LangChain系统安装和快速入门】章节的配套代码,课程链接:https://juejin.cn/book/7387702347436130304/section/7388069981520724003 您可以点击最上方的“运行“按钮,直接运行该文件;更多操作指引请参考Readme.md文件。 """ import os from langchain_openai import ChatOpenAI # os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key' # os.environ["OPENAI_BASE_URL"] = 'OpenAI 的 API URL' llm = ChatOpenAI( model=os.environ.get("LLM_MODELEND"), temperature=0.8, max_tokens=600, ) response = llm.predict("请给我的花店起个名") print(response)

输出结果为:

image.png

CHAT Model

代码示例:

python
代码解读
复制代码
""" 本文件是【LangChain系统安装和快速入门】章节的配套代码,课程链接:https://juejin.cn/book/7387702347436130304/section/7388069981520724003 您可以点击最上方的“运行“按钮,直接运行该文件;更多操作指引请参考Readme.md文件。 """ import os from langchain_openai import ChatOpenAI from langchain.schema import HumanMessage, SystemMessage # os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key' # os.environ["OPENAI_BASE_URL"] = 'OpenAI 的 API URL' chat = ChatOpenAI(model=os.environ.get("LLM_MODELEND"), temperature=0.8, max_tokens=600) messages = [ SystemMessage(content="你是一个很棒的智能助手"), HumanMessage(content="请给我的花店起个名"), ] response = chat(messages) print(response)

输出结果如下:

image.png

注:本文转载自juejin.cn的天梦u的文章"https://juejin.cn/post/7432825663524438055"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

143
阅读
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top