赞
踩
api key有多种使用方式,添加环境变量这种是最安全的,强烈推荐!
打开文件
vi ~/.env
在打开的文件中添加下面两行
export MOONSHOT_API_KEY="你的MOONSHOT API KEY"
export MOONSHOT_API_URL="https://api.moonshot.cn/v1"
保存并退出
:wq
pip install -upgrade openai
pip install python-dotenv # 安装dotenv,用于加载环境变量
不同级别的模型使用时的价格是不一样的,具体参考官网。
import os from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # 读取本地 .env 文件,里面定义了 MOONSHOT_API_KEY和 MOONSHOT_API_URL client = OpenAI( api_key = os.getenv("MOONSHOT_API_KEY"), base_url = os.getenv("MOONSHOT_API_URL") ) model_list = client.models.list() model_data = model_list.data for i, model in enumerate(model_data): print(f"model[{i}]:", model.id) # model[0]: moonshot-v1-8k # model[1]: moonshot-v1-32k # model[2]: moonshot-v1-128k
from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # 读取本地 .env 文件,里面定义了 MOONSHOT_API_KEY和 MOONSHOT_API_URL client = OpenAI( api_key = os.getenv("MOONSHOT_API_KEY"), base_url = os.getenv("MOONSHOT_API_URL") ) completion = client.chat.completions.create( model = "moonshot-v1-8k", messages = [ {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"}, {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"} ], temperature = 0.3, ) print(completion.choices[0].message.content) # 你好,李雷!1+1 等于 2。这是一个基本的数学加法问题。如果你有其他问题或需要帮助,请随时告诉我。
import os import json from openai import OpenAI from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # 读取本地 .env 文件,里面定义了 MOONSHOT_API_KEY和 MOONSHOT_API_URL client = OpenAI( api_key = os.getenv("MOONSHOT_API_KEY"), base_url = os.getenv("MOONSHOT_API_URL") ) history = [{"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"}] def format_json(json_string): # json_string = "" if (not isinstance(json_string,list)): json_str = json.loads(json_string.model_dump_json()) print(json.dumps( json_string, indent=4, ensure_ascii=False )) return def chat(query, history): history.append({ "role": "user", "content": query }) completion = client.chat.completions.create( model="moonshot-v1-8k", messages=history, temperature=0.3, ) result = completion.choices[0].message.content history.append({ "role": "assistant", "content": result }) return history print(fromat_json(chat("地球的自转周期是多少?", history))) print(fromat_json(chat("月球呢?", history)))
两次输出结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。