当前位置: 首页 > news >正文

外贸全网营销推广长沙关键词优化首选

外贸全网营销推广,长沙关键词优化首选,做期货要看哪几个网站,做网页是什么专业Django AI 聊天机器人项目#xff1a;基于 ChatGPT 的 Django REST API 本文档将介绍如何使用 Django 和 Django REST Framework 构建一个 AI 聊天机器人项目#xff0c;并结合 OpenAI 的 GPT 模型提供代码解释服务。步骤包括创建 Django 项目、配置 API、与 OpenAI 集成基于 ChatGPT 的 Django REST API 本文档将介绍如何使用 Django 和 Django REST Framework 构建一个 AI 聊天机器人项目并结合 OpenAI 的 GPT 模型提供代码解释服务。步骤包括创建 Django 项目、配置 API、与 OpenAI 集成并最终提供一个可通过 REST API 调用的服务。 项目结构 drf_chatgpt/ # Django 项目目录├── api/ # API 应用目录├── src/ # Django 配置文件目录├── manage.py # Django 管理工具├── .env # 环境变量文件├── requirements.txt # 项目依赖步骤 1创建虚拟环境 首先创建一个虚拟环境来隔离项目的依赖 python -m venv venv激活虚拟环境 Windows:venv\Scripts\activateLinux / MacOS:source venv/bin/activate步骤 2安装依赖 安装 Django、Django REST Framework 和 OpenAI SDK pip install django djangorestframework openai生成 requirements.txt 以便日后使用 pip freeze requirements.txt步骤 3创建 Django 项目 使用 django-admin 命令创建一个名为 src 的 Django 项目 django-admin startproject src .修改 src/settings.py 在 INSTALLED_APPS 中添加所需的应用 INSTALLED_APPS [# external appsrest_framework,rest_framework.authtoken,# internal appsapi,# default appsdjango.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles, ]步骤 4创建数据库并运行开发服务器 创建数据库迁移并应用 python manage.py migrate创建超级用户以便访问 Django 管理后台 python manage.py createsuperuser启动开发服务器 python manage.py runserver步骤 5获取 OpenAI API Key 使用环境变量来存储 OpenAI API 密钥。首先创建一个 .env 文件并将 API 密钥添加到其中 # .env 文件 OPENAI_APIKEYsk-Wxxxxxxxx在 settings.py 中加载该变量 import os from dotenv import load_dotenv load_dotenv()APIKEY os.getenv(OPENAI_APIKEY)步骤 6创建 API 应用 创建一个新的 Django 应用 api python manage.py startapp api设置 API 请求到 OpenAI 的工具函数 在 api/utils.py 中创建与 OpenAI API 的集成函数 import openai from django.conf import settingsopenai.api_key settings.APIKEYdef send_code_to_api(code):try:res openai.ChatCompletion.create(modelgpt-3.5-turbo,messages[{role: user, content: fTell me what language is this code written? {code}},{role: system, content: You are a helpful assistant that provides code explanations.},{role: assistant, content: Sure! Please provide the code you want me to explain.}],)return res[choices][0][message][content]except openai.error.APIError as e:raise ValueError(fOpenAI API returned an API Error: {e})except openai.error.APIConnectionError as e:raise ValueError(fFailed to connect to OpenAI API: {e})except openai.error.RateLimitError as e:raise ValueError(fOpenAI API request exceeded rate limit: {e})步骤 7创建模型 在 api/models.py 中定义一个用于存储代码及其解释的模型 from django.db import modelsclass CodeExplainer(models.Model):_input models.TextField()_output models.TextField()class Meta:db_table t_code_explainer创建并迁移模型 python manage.py makemigrations api python manage.py migrate api步骤 8配置 URL 和视图 在项目的 urls.py 中包含 api.urls # src/urls.py from django.contrib import admin from django.urls import path, includeurlpatterns [path(admin/, admin.site.urls),path(api/v1/, include(api.urls)) ]在 api/urls.py 中定义 API 路由 # api/urls.py from django.urls import path from api.views import UserView, TokenView, CodeExplainViewurlpatterns [path(users/, UserView.as_view(), nameusers),path(tokens/, TokenView.as_view(), nametokens),path(code-explain/, CodeExplainView.as_view(), namecode-explain) ]在 api/views.py 中实现视图逻辑 # api/views.py from rest_framework import views, status from rest_framework.response import Response from rest_framework.authentication import TokenAuthentication from rest_framework.permissions import AllowAny from api.serializers import CodeExplainSerializer, UserSerializer, TokenSerializer from api.models import CodeExplainerclass CodeExplainView(views.APIView):serializer_class CodeExplainSerializerauthentication_classes [TokenAuthentication]def get(self, request, formatNone):qs CodeExplainer.objects.all()serializer self.serializer_class(qs, manyTrue)return Response(serializer.data)def post(self, request, formatNone):serializer self.serializer_class(datarequest.data)if serializer.is_valid():serializer.save()return Response(serializer.data, statusstatus.HTTP_201_CREATED)return Response(serializer.errors, statusstatus.HTTP_400_BAD_REQUEST)# 用户和 token 视图 (稍后定义) class UserView(views.APIView):serializer_class UserSerializerpermission_classes [AllowAny]class TokenView(ObtainAuthToken):serializer_class TokenSerializer步骤 9实现序列化器 在 api/serializers.py 中编写模型序列化器 # api/serializers.py from rest_framework import serializers from django.contrib.auth.models import User from rest_framework.authtoken.models import Token from api.models import CodeExplainer from api.utils import send_code_to_apiclass CodeExplainSerializer(serializers.ModelSerializer):class Meta:model CodeExplainerfields (id, _input, _output)extra_kwargs {_output: {read_only: True}}def create(self, validated_data):code_explainer CodeExplainer(**validated_data)_output send_code_to_api(validated_data[_input])code_explainer._output _outputcode_explainer.save()return code_explainerclass UserSerializer(serializers.ModelSerializer):class Meta:model Userfields (id, username, email, password)extra_kwargs {password: {write_only: True}}def create(self, validated_data):password validated_data.pop(password)user User.objects.create(**validated_data)user.set_password(password)user.save()Token.objects.create(useruser)return userclass TokenSerializer(serializers.Serializer):username serializers.CharField()password serializers.CharField(style{input_type: password}, trim_whitespaceFalse)def validate(self, attrs):username attrs.get(username)password attrs.get(password)user authenticate(requestself.context.get(request), usernameusername, passwordpassword)if not user:msg Credentials are not provided correctly...raise serializers.ValidationError(msg, codeauthentication)attrs[user] userreturn attrs
http://www.tj-hxxt.cn/news/135531.html

相关文章:

  • 建网站做联盟备案网站名称怎么写个人
  • 公司网站建设价位网站中的二维码设计
  • 东莞宣传网站西安高校网站建设定制网站建设
  • 建设外贸商城网站太仓网络公司
  • 网站怎么做权重福州网站开发私人
  • 自己怎么做点击量好的网站宣城网站推广
  • 怎么做班级网站江西南昌网站建设服务
  • 用vs2012做网站教程怎么做关于花的网站
  • 网站怎样做有利于seo哪个平台免费招人最快
  • 给公司网站设计做淘客网站需要备案
  • 石家庄建站优化公司做网站需要apache
  • 百度网站惩罚期企业网站seo诊断工具
  • 图书网站建设实训心得安徽建设住房建设厅网站
  • 网站百度权重没有数据导购wordpress主题
  • 织梦怎么做中英文网站怎么制作微信网站
  • 网站建设与维护教学视频如何查找昆明公司的网站
  • 淘客网站代理地震网最新消息今天
  • 销售网站建设的意义wordpress 标签中文
  • 苏州网站建设致宇100个无水印短视频素材免费
  • 龙岗公司做网站做网站主要学什么条件
  • 使用flashfxp上传网站域名和网站的建设实训报告
  • 昆明体育城微网站建设兰州碧桂园
  • 做网站什么价位湘阴网页定制
  • 上海平台网站建设公网站制作公司上海
  • win8 风格网站模板vi设计模板源文件
  • 制作ppt的网站网站建设的开票编码
  • 网站制作费用是多少网站流量怎样挣钱
  • 昆明专业网站设计公司三门峡住房城乡建设局网站
  • 网站建设需要多少钱?qq企业邮箱怎么注册
  • 秀屿区建设局网站制作网站的软件下载