利用LLM的openapi能力,输出大语言模型能力

安装openai库pip install openai

import openai
import os
openai.api_key  = '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'

定义一个函数,调用model类型gpt-3.5-turbo

def get_completion(prompt, model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=0, # this is the degree of randomness of the model's output
    )
    return response.choices[0].message["content"]

写一个prompt

prompt = f"""
写一个nginx的pod,并通过nodeport暴露服务,并把结果输出为yaml格式
"""
response = get_completion(prompt)
print(response)
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
  - name: http
    port: 80
    targetPort: 80
    nodePort: 30080

训练一个模型

prompt = f"""
如何在tf镜像里面训练一个minst数据集的训练代码
"""
response = get_completion(prompt)
print(response)

以下是在TensorFlow镜像中训练MNIST数据集的步骤:

  1. 下载并安装Docker:在官网上下载并安装Docker。

  2. 获取TensorFlow镜像:在终端中输入以下命令获取TensorFlow镜像:

    docker pull tensorflow/tensorflow
    
  3. 启动TensorFlow容器:在终端中输入以下命令启动TensorFlow容器:

    docker run -it -p 8888:8888 tensorflow/tensorflow
    

    这将启动一个交互式的容器,并将容器的8888端口映射到主机的8888端口。

  4. 在容器中运行Jupyter Notebook:在容器中运行以下命令启动Jupyter Notebook:

    jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
    

    这将启动Jupyter Notebook,并将其绑定到容器的8888端口。

  5. 在Jupyter Notebook中创建一个新的Python Notebook:在Jupyter Notebook中创建一个新的Python Notebook,并输入以下代码:

# 以下是一个使用TensorFlow 2.0版本训练MNIST数据集的示例代码:
import tensorflow as tf
from tensorflow.keras.datasets import mnist

# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 数据预处理
x_train, x_test = x_train / 255.0, x_test / 255.0

# 定义模型
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=5)

# 评估模型
model.evaluate(x_test, y_test)

# 导出模型
model.save('mnist_model')

在上述代码中,我们首先加载MNIST数据集并进行预处理。然后,我们定义一个包含两个全连接层的神经网络模型,并使用Adam优化器和交叉熵损失函数进行编译。接着,我们使用训练集对模型进行训练,并使用测试集对模型进行评估。最后,我们使用model.save()方法将训练好的模型导出到当前目录下的mnist_model文件夹中。