Skip to content

Latest commit

 

History

History
214 lines (155 loc) · 5.31 KB

File metadata and controls

214 lines (155 loc) · 5.31 KB
Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0553
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在: 

     个人网站: `https://oeasy.org` 
     蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
     GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
     Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

爬取百度指数

回忆

  • 这?🤔

api

  • 应用编程接口
    • application_programming_interface

图片描述

  • 具体来说什么意思呢?
    • 我们一个一个词来看

应用

  • application
    • 应用

图片描述

  • 下一个词
    • programming

programming

  • programming
    • 编程
    • 写代码

图片描述

  • 下一个词
    • interface

interface

  • interface
    • 接口

图片描述

  • application_programming_interface
    • 应用编程接口

编程接口

  • programing interface
    • 编程接口
    • 可以获得数据的方式

图片描述

  • application_programming_interface
    • 应用程序 可以直接
    • 通过这个编程接口 读写数据
    • 这就是 api

问问ai

图片描述

  • 找到网址
    • 可以使用curl的方式

直接使用

curl https://api.moonshot.cn/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $MOONSHOT_API_KEY" \
    -d '{
        "model": "moonshot-v1-8k",
        "messages": [
            {"role": "system", "content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"},
            {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
        ],
        "temperature": 0.3
   }'
  • 还是需要api-key

注册并得到apikey

图片描述

  • 注册后 可以复制一次api-key
    • 以后就再也看不到这个api-key了

将api-key放入curl命令

  • 可以得到结果

图片描述

  • 能用python构造这个post请求吗?

使用request

import requests
import json

# 你的Moonshot API Key
api_key = 'sk-8dYpvsVLBZirLzL9wQzOVjlytefRFWrEG71VMvYp7VwTh58E'

# 设置请求头
headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json'
}

# API请求地址
url = 'https://api.moonshot.cn/v1/chat/completions'

# 构造请求体,这里以单轮对话为例
data = {
    "model": "moonshot-v1-8k",  # 指定模型,根据实际情况可能需要更改
    "messages": [
        {"role": "user", "content": "把这段话换个说法告诉我,直接给我翻译结果,不要其他:今天天气不错,挺风和日丽的,我来学学ai,这其实很简单的!"}
    ],
    "temperature": 0.5  # 温度参数,控制回答的随机性
}

# 发送POST请求
response = requests.post(url, headers=headers, data=json.dumps(data))

# 检查响应状态码
if response.status_code == 200:
    # 解析响应内容
    response_data = response.json()
    print('Kimi的回答:', response_data['choices'][0]['message']['content'])
else:
    print('请求失败,状态码:', response.status_code)
  • kimi建议我们如何使用python调用api呢?

问问kimi

图片描述

  • 提供了几种方式
    • 最简单的是openai的方式
from openai import OpenAI
client = OpenAI(
    api_key="MOONSHOT_API_KEY",  # 将MOONSHOT_API_KEY替换为你的API Key
    base_url="https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
    model="moonshot-v1-8k",  # 指定Kimi的模型名称
    messages=[
        {"role": "system", "content": "你是Kimi,由Moonshot AI提供的人工智能助手..."},
        {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
    ],
    temperature=0.3,
)
print(completion.choices[0].message.content)
  • api-key怎么得到?

openai

图片描述

from openai import OpenAI
client = OpenAI(
    api_key="sk-NsGzMroKqaWeHElVRRBBW5bXSoCzhjbdkgRf3Nh6kcWrTcyG",  # 将MOONSHOT_API_KEY替换为你的API Key
    base_url="https://api.moonshot.cn/v1",
)
completion = client.chat.completions.create(
    model="moonshot-v1-8k",  # 指定Kimi的模型名称
    messages=[
        {"role": "system", "content": "你是Kimi,由Moonshot AI提供的人工智能助手..."},
        {"role": "user", "content": "你好,我叫李雷,1+1等于多少?"}
    ],
    temperature=0.3,
)
print(completion.choices[0].message.content)
  • requests和openai有什么区别呢?

区别

图片描述

总结

  • 下次再说

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。