这里我想用本地Python环境,调用月之暗面的AI模型——KIMI,在本地构建一个小的服务。
一、环境准备
本地电脑环境:
windows 10
conda 24.11.3
Python 3.12.9
# 三方包
python-dotenv
openai
使用conda创建一个新的虚拟环境,将所需的包进行安装:
# create environment
conda create -n bigModel python=3.12 -y
# pip 查看现有库
pip list
# 安装三方库,使用清华镜像源进行加速
pip install python-dotenv -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install langchain_openai -i https://pypi.tuna.tsinghua.edu.cn/simple
二、获取API_KEY
访问月之暗面Moonshot AI开放平台 ,在登录账号之后,创建自己的API_KEY。需注意:不可泄露自己的API_KEY。
三、构建代码
# 解析虚拟文件中内容
from dotenv import load_dotenv
import os
# 调用api
from openai import OpenAI
base_url = "https://api.moonshot.cn/v1"
"""
moonshot-v1-8k
moonshot-v1-32k
moonshot-v1-128k
"""
model = "moonshot-v1-8k"
# 加载 .env 文件
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
# 对话记录
chat_history = [
{"role": "system", "content": "你是一个OpenAI高级智能体。"}
]
def chatKimi(questions):
# 构建问题内容
chat_history.append({"role": "user", "content": questions})
# 构建一个AI客户端
client = OpenAI(base_url=base_url, api_key=api_key)
response = client.chat.completions.create(
model=model,
temperature=0.2,
messages=chat_history
)
print(response.choices[0].message.content)
if __name__ == '__main__':
question = input("请提问:")
chatKimi(questions=question)
本地调用结果: