青训营X豆包MarsCode 技术训练营第一课 | 豆包MarsCode AI 刷题

104 阅读3分钟

开营第一课 | AI方向

LangChain?这是什么

"当ChatGPT和GPT-4横空出世时,全人类都在为之震撼——通用人工智能的奇点,真的即将来临了吗?作为科研人员,我们也惊喜地发现,最前沿的AI技术与最实用的落地应用之间的距离,竟然如此之近!" 作者何以这么说呢,其实就是依托LangChain来实现,用这个框架来搭建我们自己的大模型产品! LangChain是一个用于构建语言模型应用程序的框架,它提供了多种工具和组件,使开发者能够更轻松地集成、管理和部署语言模型。通过LangChain,我们可以但不限于:

  1. 构建聊天机器人:利用预训练的语言模型,创建具有对话能力的应用程序。
  2. 文档检索与分析:处理和分析文档内容,从中提取信息或生成摘要。
  3. 多模态交互:结合文本、图像等多种输入方式,增强应用的交互性。
  4. 集成外部数据源:与数据库、API等外部系统连接,实现数据驱动的应用。
  5. 支持自定义逻辑:允许开发者编写自定义功能和流程,以满足特定需求。

所以在Langchain框架和豆包AI模型的支持下,我们完全可以搭建自己的AI模型产品!那么一起来看看入门工作我们都需要做些什么吧!

豆包AI的api调用

如前文所述,LangChain作为一个框架,需要我们自己手动配置一下AI模型,非常感谢字节跳动对我们的支持,我们可以免费调用豆包的AI模型。

首先,访问火山方舟官网完成账号注册和服务授权。

接着就可以部署自己的模型,获取自己的key了。在控制台的 在线推理页面 中创建推理接入点,使用doubao-pro-32k作为主力模型。

最后,上面的步骤完成后,还需要我们编辑项目中的  /home/cloudide/.cloudiderc 文件,将API_Key、base_url、model_endpoint 配置在环境变量中。

export OPENAI_API_KEY = YOUR_API_KEY
export OPENAI_BASE_URL = YOUR_MODEL_BASE_URL 
export LLM_MODELEND = YOUR_MODEL_ENDPOINT

最后在命令行中执行 source ~/.cloudiderc ,之后就都可以使用我们自己调用的模型了!

完~

LangChain框架的导入与第一个实例实现

先来给花店起个名字吧!

import os
from openai import OpenAI

client = OpenAI(
    api_key = os.environ.get("ARK_API_KEY"),  //不要将你的key直接放在这里,不安全!!
    base_url = "https://ark.cn-beijing.volces.com/api/v3",
)

# Non-streaming:
print("----- standard request -----")
completion = client.chat.completions.create(
    model = "ep-20241102225700-8gb2c",  # your model endpoint ID
    messages = [
        {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
        {"role": "user", "content": "请给我的花店起个名"},
    ],
)
print(completion.choices[0].message.content)

点击run后等待一下便可以看到反馈,豆包AI帮我们列举了好多花店的名字,创意性,新颖性都还不错!甚至提供了多种风格可以供我们选择!

image.png 至此,我们成功调用了豆包AI,学会了如何在LangChain上跑大模型,并成功调用豆包AI来为我们的花店起个名字! 当然,我们还可以尝试不同的ext 和 Chat 模型,肯定都会有不一样的效果。

TEXT模型调用方法

import os
os.environ["OPENAI_API_KEY"] = '你的Open API Key'
from langchain.llms import OpenAI
llm = OpenAI(  
    model="gpt-3.5-turbo-instruct",
    temperature=0.8,
    max_tokens=60,)
response = llm.predict("请给我的花店起个名")
print(response)

Chat模型调用方法

import os
os.environ["OPENAI_API_KEY"] = '你的Open API Key'
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(model="gpt-4",
                    temperature=0.8,
                    max_tokens=60)
from langchain.schema import (
    HumanMessage,
    SystemMessage
)
messages = [
    SystemMessage(content="你是一个很棒的智能助手"),
    HumanMessage(content="请给我的花店起个名")
]
response = chat(messages)
print(response)

至此,第一课就正式完结啦,良好的开始就是成功的一半!继续刷题,继续加油!