开营第一课 | AI方向
LangChain?这是什么
"当ChatGPT和GPT-4横空出世时,全人类都在为之震撼——通用人工智能的奇点,真的即将来临了吗?作为科研人员,我们也惊喜地发现,最前沿的AI技术与最实用的落地应用之间的距离,竟然如此之近!" 作者何以这么说呢,其实就是依托LangChain来实现,用这个框架来搭建我们自己的大模型产品! LangChain是一个用于构建语言模型应用程序的框架,它提供了多种工具和组件,使开发者能够更轻松地集成、管理和部署语言模型。通过LangChain,我们可以但不限于:
- 构建聊天机器人:利用预训练的语言模型,创建具有对话能力的应用程序。
- 文档检索与分析:处理和分析文档内容,从中提取信息或生成摘要。
- 多模态交互:结合文本、图像等多种输入方式,增强应用的交互性。
- 集成外部数据源:与数据库、API等外部系统连接,实现数据驱动的应用。
- 支持自定义逻辑:允许开发者编写自定义功能和流程,以满足特定需求。
所以在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帮我们列举了好多花店的名字,创意性,新颖性都还不错!甚至提供了多种风格可以供我们选择!
至此,我们成功调用了豆包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)
至此,第一课就正式完结啦,良好的开始就是成功的一半!继续刷题,继续加油!