利用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数据集的步骤:
-
下载并安装Docker:在官网上下载并安装Docker。
-
获取TensorFlow镜像:在终端中输入以下命令获取TensorFlow镜像:
docker pull tensorflow/tensorflow
-
启动TensorFlow容器:在终端中输入以下命令启动TensorFlow容器:
docker run -it -p 8888:8888 tensorflow/tensorflow
这将启动一个交互式的容器,并将容器的8888端口映射到主机的8888端口。
-
在容器中运行Jupyter Notebook:在容器中运行以下命令启动Jupyter Notebook:
jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
这将启动Jupyter Notebook,并将其绑定到容器的8888端口。
-
在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
文件夹中。