langchain 入门指南(一)- 准备 API KEY

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

在开始之前,我们需要先准备一个可以调用 OpenAPI 的 key,又或者是其他 LLM 的 key。

因为墙的原因,所以没有办法直接使用 OpenAI 的 key 来调用,但是我们可以使用一些替代品或者代理,可选的有:

依赖

我们可以使用 openai 的 SDK 来调用它们的接口,同时也可以使用 langchain 这个库来调用它们的接口。

不过本系列文章都会基于 langchain 来进行实现。langchain 是一个基于 OpenAPI 的封装,可以方便的调用 OpenAPI 的接口。

同时很多国内的大模型也支持通过 langchain 的 API 来使用,非常方便。

通过 OpenAI SDK 使用

目前市面上大多数的 LLM 都支持 OpenAI 的接口,所以我们可以通过 OpenAI 的 SDK 来调用这些接口。

需要注意的是:

  1. 模型:不同的 LLM 有不同的模型,比如零一万物的模型是 yi-large,OpenAI 的模型是 gpt-3.5-turbo,智谱清言的模型是 glm-4
  2. base_url:不同的 LLM 有不同的 base_url,需要根据不同的 LLM 来设置。
  3. api_key:不同的 LLM 有不同的 api_key

下面是一个使用 OpenAI SDK 的例子:

依赖安装:

pip install openai

零一万物

from openai import OpenAI

client = OpenAI(
    api_key='your key',
    base_url='https://api.lingyiwanwu.com/v1'
)
completion = client.chat.completions.create(
    model="yi-large",
    messages=[{"role": "user", "content": "Hi, who are you?"}]
)

print(completion.choices[0].message.content)

OpenAI HK

from openai import OpenAI

client = OpenAI(
    api_key='your key',
    base_url="https://api.openai-hk.com/v1"
)
completion = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Hi, who are you?"}]
)

print(completion.choices[0].message.content)

智谱清言

from openai import OpenAI

client = OpenAI(
    api_key='your key',
    base_url='https://open.bigmodel.cn/api/paas/v4/'
)
completion = client.chat.completions.create(
    model="glm-4",
    messages=[{"role": "user", "content": "Hi, who are you?"}]
)

print(completion.choices[0].message.content)

通过 langchain 使用

依赖安装:

pip install langchain_openai

跟上面的例子差不多,修改一下 base_urlmodel 以及 api_key 即可。

零一万物

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

chat = ChatOpenAI(
    model="yi-large",
    temperature=0.3,
    max_tokens=200,
    api_key='your key',
    base_url="https://api.lingyiwanwu.com/v1"
)

messages = [
    SystemMessage(content="你是一名精通了 golang 的专家"),
    HumanMessage(content="写一个  golang 的 hello world 程序"),
]

response = chat.invoke(messages)

print(response.content)

OpenAI HK

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

chat = ChatOpenAI(
    model="gpt-3.5-turbo",
    temperature=0.3,
    max_tokens=200,
    api_key="your key",
    base_url="https://api.openai-hk.com/v1"
)

messages = [
    SystemMessage(content="你是一名精通了 golang 的专家"),
    HumanMessage(content="写一个  golang 的 hello world 程序"),
]

response = chat.invoke(messages)

print(response.content)

智谱清言

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

chat = ChatOpenAI(
    model="glm-4",
    temperature=0.3,
    max_tokens=200,
    api_key="your key",
    base_url='https://open.bigmodel.cn/api/paas/v4/'
)

messages = [
    SystemMessage(content="你是一名精通了 golang 的专家"),
    HumanMessage(content="写一个  golang 的 hello world 程序"),
]

response = chat.invoke(messages)

print(response.content)

环境变量指定 API KEY 以及 BASE URL

我们可以通过环境变量来指定 api_key 以及 base_url,这样我们就不需要在代码中指定了。

export OPENAI_API_KEY="your key"
export OPENAI_BASE_URL="https://api.lingyiwanwu.com/v1"

这样我们就可以直接使用 langchain 来调用了,当然,传递给 ChatOpenAImodel 参数还是得指定的。

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

chat = ChatOpenAI(
    model="yi-large",
    temperature=0.3,
    max_tokens=200
)

messages = [
    SystemMessage(content="你是一名精通了 golang 的专家"),
    HumanMessage(content="写一个  golang 的 hello world 程序"),
]

response = chat.invoke(messages)

print(response.content)

注意事项

  1. 截止到目前为止(2024-07-15),langchain 还在一个很频繁的更新阶段,所以可能会有一些 API 的变动,所以本文的一些 langchain 示例代码可能在未来会不可用。
### 关于LangChain与Ollama的集成 当讨论到LangChain与Ollama的大规模语言模型(LLM)相结合时,这种组合提供了种强大而灵活的方法来构建复杂的自然语言处理应用程序[^1]。为了有效利用这两个工具,开发者应当熟悉它们各自的功能以及如何协同工作。 #### 集成概述 LangChain个用于创建对话系统的框架,它允许用户定义意图、实体和其他交互逻辑;而Ollama则专注于大规模预训练的语言模型服务。两者结合起来可以实现更智能、更具上下文感知能力的应用程序开发环境[^2]。 #### 实际操作指南 对于想要快速入门的人来说,可以从安装必要的依赖项开始: ```bash pip install langchain ollama ``` 接着,在Python脚本中初始化所需组件,并设置好API密钥以便连接至远程部署的服务端点: ```python from langchain import LangChain import ollama # 初始化LangChain实例 lc = LangChain(api_key='your-langchain-api-key') # 连接到Ollama服务器 ollama_client = ollama.Client('https://api.ollama.com', api_key='your-ollama-api-key') ``` 之后就可以编写具体的业务逻辑了,比如发送消息给聊天机器人并获取回复: ```python response = lc.send_message( message="你好", model=ollama_client.get_model("chinese-chatbot"), # 假设这里有个中文聊天机器人的模型 ) print(response.text) ``` 上述代码片段展示了基本的工作流程——通过指定的消息和选定的模型向LangChain发送请求,并接收来自所选Ollama LLM的结果作为响应。 #### 解决常见问题 如果遇到困难或错误提示,建议首先查阅官方文档中的故障排除部分。此外,社区论坛也是个很好的求助渠道,许多开发者会在那里分享经验和解决方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白如意i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值