如何使用Langchain集成Kimi AI(Moonshot AI)

AI3周前发布 huli
13 0 0

如何使用Langchain集成Kimi(Moonshot AI

    • 一、获取API密钥
      • 1. 注册账号
      • 2. 获取密钥
    • 二、环境配置
    • 三、上手
    • 四、整合一下
    • 五、检验一下成果
    • 六、官方网站

一、获取API密钥

1. 注册账号

毕竟只有注册过帐号才能拿到key~
Moonshot 登陆

2. 获取密钥

如何使用Langchain集成Kimi AI(Moonshot AI)


用户中心 > api Key管理 > 新建

PS:注意保存好你的key,这个key只会在新建的时候展示一次。
PS2:不要把你的key给任何人,有了key就可以使用你的token,token就是钱!

二、环境配置

要确保你的python环境没问题,然后需要下载如下库
python没下载的先下载一下python,这里就不再赘述了

#安装langchain库
pip install langchain
#安装Openai库
pip install openai
# 安装langchain集成社区库
pip install langchain_community

三、上手

先用一下原生的api试试链接是否成功

from openai import OpenAI
# 连接
client = OpenAI(
    api_key = '你的key',
    base_url = 'https://api.moonshot.cn/v1',
)
# prompt
response =  client.chat.completions.create(
    model="moonshot-v1-8k", # 模型名
    messages=[
        {"role": "system", "content": "You are a creative AI."},
        {"role": "user", "content": "请给我的花店起个名,多输出几个结果,直接输出名字,不要输出多余的语句"},
    ], # prompt要求
    temperature=0.8, # 随机度
    max_tokens=20, # 最大输出token数
    #这个的意思是将结果截取到这个token数,并不是response只有这些token数
)
# 输出
print(response.choices[0].message.content)
1. 花语轩
2. 绿意坊
3. 香韵园

ok,没有问题。

接下来集成到Langchain里试试

import os
from langchain_community.chat_models.moonshot import MoonshotChat
from langchain.schema import HumanMessage, SystemMessage
os.environ["MOONSHOT_API_KEY"] = '你的key'
chat = MoonshotChat(
    model="moonshot-v1-8k",
    temperature=0.8,
    max_tokens=20,)
messages = [
    SystemMessage(content="你是一个很棒的智能助手"),
    HumanMessage(content="请给我的花店起个名,多输出几个结果,直接输出名字,不要输出多余的语句")
]
response = chat(messages)
print(response)
content='1. 绿意轩花坊\n2. 芳菲满园\n3. 花' additional_kwargs={} response_metadata={'token_usage': {'completion_tokens': 20, 'prompt_tokens': 39, 'total_tokens': 59, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'moonshot-v1-8k', 'system_fingerprint': None, 'finish_reason': 'length', 'logprobs': None} id='run-e262850d-46da-4fd2-b162-17dbfe05a357-0'

ok,没有问题
这个可以清晰的看出来response到底返回给我们了点什么

四、整合一下

这个使用到了读取配置文件的库,需要下载configparser包

pip install configparser

直接把key输入到运行文件里的安全性很低,很容易泄漏,而且耦合性还高,推荐大家自己写个配置文件,像下面这样:

新建setting.ini文件,将下面这些写入

# setting.ini
# 这里key的内容不需要加引号,直接粘贴进去即可
[Moonshot]
OPENAI_API_KEY=你的key
model=moonshot-v1-8k
url=https://api.moonshot.cn/v1

如果你不只想集成moonshot,还想集成其他的语言模型或者数据库等配置,可以直接在此文件添加section来统一管理,很方便。

新建init.py文件,专用于初始化,方便使用。

# init.py
import os
import configparser
from langchain_community.llms.moonshot import Moonshot
from openai import OpenAI
config = configparser.ConfigParser()
config.read("setting.ini")
os.environ["MOONSHOT_API_KEY"] = config["Moonshot"]["OPENAI_API_KEY"]
# 默认llm配置。
llm = Moonshot(
    model=config["Moonshot"]["model"],
    temperature=0.8,
    max_tokens=20,
)
# openAi 默认的接口.
client = OpenAI(
    api_key = config["Moonshot"]["OPENAI_API_KEY"],
    base_url = config["Moonshot"]["url"],
)

五、检验一下成果

之前的两个示例可以简化成下面这样

import init
# 使用了默认的client配置
response =  init.client.chat.completions.create(
    model="moonshot-v1-8k",
    messages=[
        {"role": "system", "content": "You are a creative AI."},
        {"role": "user", "content": "请给我的花店起个名,多输出几个结果,直接输出名字,不要输出多余的语句"},
    ],
    temperature=0.8,
    max_tokens=20,
)
print(response.choices[0].message.content)
from langchain_community.chat_models.moonshot import MoonshotChat
from langchain.schema import HumanMessage, SystemMessage
import init
# 这里没有直接用init中的默认配置
# 可以直接这样再次定义,不需要再次导入key之类的东西了
# 虽然代码中没有直接体现init包,但是不要删,这部初始化调用到了init中设定的环境变量
chat = MoonshotChat(
    model="moonshot-v1-8k",
    temperature=0.6,
    max_tokens=50,)
messages = [
    SystemMessage(content="你是一个很棒的智能助手"),
    HumanMessage(content="请给我的花店起个名,多输出几个结果,直接输出名字,不要输出多余的语句")
]
response = chat(messages)
print(response)

六、官方网站

最后放一下官方的网站,方便大家学习
Introduction | 🦜️🔗 LangChain
Moonshot AI – 开放平台

© 版权声明

相关文章

没有相关内容!