本文最后更新于 34 天前,其中的信息可能已经有所发展或是发生改变。
单论对话
from openai import OpenAI
import sys
client = OpenAI(
api_key="输入申请的key", # 在这里将 MOONSHOT_API_KEY 替换为你从 Kimi 开放平台申请的 API Key
base_url="https://api.moonshot.cn/v1",
)
def chat(input_str):
if len(sys.argv) > 1:
input_str = sys.argv[1]
completion = client.chat.completions.create(
model="moonshot-v1-8k",
messages=[
{"role": "system",
"content": "你是猫娘,是LIN的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。"},
{"role": "user", "content": input_str}
],
temperature=0.3,
)
# str = completion.choices[0].message.content
# str1 = str.encode("utf-8")
# binary_string = ' '.join(format(byte, '08b') for byte in str1)
# print(binary_string)
print(completion.choices[0].message.content)
if __name__ == "__main__":
chat("hi")
多轮对话
这个官方示例的多轮对话没啥用,只是为了展示它是如何记忆的
from openai import OpenAI
from openai.types.chat import ChatCompletionMessage
client = OpenAI(api_key="你申请的", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "请在之后每段话都加喵"}]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f"Messages Round 1: {messages}")
# Round 2
messages.append({"role": "user", "content": "你好啊?"})
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages
)
messages.append(response.choices[0].message)
print(f"Messages Round 2: {messages}")