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

怎么建手机网站python3的网站开发

怎么建手机网站,python3的网站开发,wordpress 火,软件开发方案书本文介绍我的开源项目 TelegramChatBot#xff0c;这是一个基于 OpenAI GPT API 开发的 telegram 机器人#xff0c;具有多模态交互能力#xff0c;求 star#xff01;感谢大家#xff01;在 telegram jokerController_bot 立即体验#xff01;欢迎对 GPT 应用开发或对 t…本文介绍我的开源项目 TelegramChatBot这是一个基于 OpenAI GPT API 开发的 telegram 机器人具有多模态交互能力求 star感谢大家在 telegram jokerController_bot 立即体验欢迎对 GPT 应用开发或对 telegram 开发有兴趣的朋友和我交流 文章目录 1. 项目简介1.1 特点1.2 状态机设计1.3 数据库设计 2. 各功能最小用例2.1 文本生成2.2 图像生成2.3 语音输入 输出 1. 项目简介 1.1 特点 一个由 OpenAI GPT API 驱动的 telegram 聊天机器人主打催眠玩法通过在 system 参数中写入 “咒语” 来避免聊天时忘记催眠角色设置支持咒语的增删查改。利用多种强大的 API该机器人具有多模态交互能力包括图像显示、语音输入输出等。使用API包括 Text generation: gpt-3.5-turbo gpt-4Image generation: stable-diffusion-xl-1024-v1-0Text-to-voice: tts-1Voice-to-text: whisper-1 下图展示机器人的多模态交互能力包括图像生成、语音输入输出以及催眠后生成风格化文本 1.2 状态机设计 机器人具有多种功能但是 telegram bot 交互能力有限难以像桌面软件或者 web 网页那样同时显示大量信息或布局多种功能的操作 UI。因此机器人底层设计为有限状态机以简化前端 UI这样也更适合在移动端使用 下面给出机器人的操作菜单以及部分控制界面 1.3 数据库设计 需要存储的用户信息包括用户生成文本和语音的 OpenAI API key、用于生成图像的 Stability AI API key 以及用户编辑的咒语文本使用 MySQL 数据库进行数据持久化表设计如下CREATE TABLE IF NOT EXISTS user_info (id INT NOT NULL AUTO_INCREMENT,user_id VARCHAR(190) NOT NULL,user_key VARCHAR(190) NOT NULL,user_img_key VARCHAR(190) NOT NULL,prompts TEXT,PRIMARY KEY (id),UNIQUE KEY (user_id) )其中 prompts 字段存储 json 格式的咒语文本 2. 各功能最小用例 本节展示机器人使用的四个 API 的最简单调用方法读者可以利用它们开发自己的 AI 应用 2.1 文本生成 本项目使用 OpenAI GPT3.5 或 GPT4.0 模型生成文本最小用例如下from openai import OpenAI client OpenAI(api_keyXXX) # 填入你的 apiresponse client.chat.completions.create(modelgpt-3.5-turbo,messages[{role: system, content: You are a helpful assistant.},{role: user, content: Who won the world series in 2020?},{role: assistant, content: The Los Angeles Dodgers won the World Series in 2020.},{role: user, content: Where was it played?}] )print(response.choices[0].message.content)注意几点 本项目使当前2023.11.29使用的包版本为 openai 1.3.1文档参考这里messages 参数需要开发者自行维护任何时刻模型记忆仅涵盖在 message 信息内。可以通过 system 字段设置模型的行为例如设定模型的个性或是提供其行为的具体说明等。本 bot 直接将用户咒语作为 system 参数并且在组合 messages 的多轮对话时总是在用户的最后一条回复后加上 “扮演指定角色回答。” 的附加内容以保证模型永远不会忘记角色设定本 bot 调用以上方法时还设置了 stream 参数要求模型进行流式传输器回复内容这样就能通过多次编辑 bot 的回复消息内容实现流式显示详见开源代码如果对回答不满意只要不将刚刚的回复内容组合进 messages 参数列表中就可以要求模型进行重新回答由于 GPT 模型是概率生成模型每次重新回答都会有所不同GPT 模型有上下文长度限制如果 messages 参数列表中内容太多超出限制就会报错因此本 bot 提供了上下文长度设置功能来限制组合进 messages 列表的对话轮数有时我们希望可以语言模型可以按照一定格式进行回复比如我们希望模型在对话过程中自主识别出用户是否有生成图像的意图如果有就按照用户当前回复来制图这样就需要模型在每次回复时不仅回复自然语言回答还要回复一个 “是否生成图像” 的 bool 变量这时可以通过设置 response_format{ type: json_object } 参数要求模型以 json 格式进行返回。本 bot 没有使用该功能详见文档说明 2.2 图像生成 本项目使用 stability.ai 的 stable-diffusion-xl-1024-v1-0 模型生成图像最小用例如下 import os import io import warnings from PIL import Image from stability_sdk import client import stability_sdk.interfaces.gooseai.generation.generation_pb2 as generation# Our Host URL should not be prepended with https nor should it have a trailing slash. os.environ[STABILITY_HOST] grpc.stability.ai:443# Sign up for an account at the following link to get an API Key. # https://platform.stability.ai/# Click on the following link once you have created an account to be taken to your API Key. # https://platform.stability.ai/account/keys# Paste your API Key below.# Set up our connection to the API. stability_api client.StabilityInference(keyXXX, # 填入你的 apiverboseTrue, # Print debug messages.enginestable-diffusion-xl-1024-v1-0, # Set the engine to use for generation.# Check out the following link for a list of available engines: https://platform.stability.ai/docs/features/api-parameters#engine )# Set up our initial generation parameters. answers stability_api.generate(promptexpansive landscape rolling greens with gargantuan yggdrasil, intricate world-spanning roots towering under a blue alien sky, masterful, ghibli,seed4253978046, # If a seed is provided, the resulting generated image will be deterministic.# What this means is that as long as all generation parameters remain the same, you can always recall the same image simply by generating it again.# Note: This isnt quite the case for Clip Guided generations, which well tackle in a future example notebook.steps50, # Amount of inference steps performed on image generation. Defaults to 30. cfg_scale8.0, # Influences how strongly your generation is guided to match your prompt.# Setting this value higher increases the strength in which it tries to match your prompt.# Defaults to 7.0 if not specified.width1024, # Generation width, defaults to 512 if not included.height1024, # Generation height, defaults to 512 if not included.samples1, # Number of images to generate, defaults to 1 if not included.samplergeneration.SAMPLER_K_DPMPP_2M # Choose which sampler we want to denoise our generation with.# Defaults to k_dpmpp_2m if not specified. Clip Guidance only supports ancestral samplers.# (Available Samplers: ddim, plms, k_euler, k_euler_ancestral, k_heun, k_dpm_2, k_dpm_2_ancestral, k_dpmpp_2s_ancestral, k_lms, k_dpmpp_2m, k_dpmpp_sde) )# Set up our warning to print to the console if the adult content classifier is tripped. # If adult content classifier is not tripped, save generated images. for resp in answers:for artifact in resp.artifacts:if artifact.finish_reason generation.FILTER:warnings.warn(Your request activated the APIs safety filters and could not be processed.Please modify the prompt and try again.)if artifact.type generation.ARTIFACT_IMAGE:img Image.open(io.BytesIO(artifact.binary))img.save(str(artifact.seed) .png) # Save our generated images with their seed number as the filename.注意几点 本项目当前2023.11.29使用的包版本为 stability-sdk 0.4.0文档参考这里这个模型是一个 text-to-image 的模型生成图像质量会显著受到 prompt 质量影响因此不适合直接用自然语言作为 prompt 来生成图像。本 bot 利用 GPT 模型的 in-context learning 能力先把自然语言翻译成较高质量的 image prompt再调用该模型生成图像这一步输入给 GPT 模型的 prompt 如下IMGPROMPT A prompt example for 一个童话般的宁静小镇鸟瞰视角动漫风格 is “a painting of a fairy tale town, serene landscape, a birds eye view, anime style, Highly detailed, Vivid Colors.” IMGPROMPT Another prompt example for 双马尾动漫少女蓝黑色头发颜色鲜艳 is “a painting of 1girl, blue | black hair, low twintails, anime style, with bright colors, Highly detailed.” IMGPROMPT Another prompt example for 拟人化的兔子肖像油画史诗电影风格 is “a oil portrait of the bunny, Octane rendering, anthropomorphic creature, reddit moderator, epic, cinematic, elegant, highly detailed, featured on artstation.” IMGPROMPT Another prompt example for 黄昏下大雨中两个持刀的海盗在海盗船上决斗 is “Two knife-wielding pirates dueling on a pirate ship, dusk, heavy rain, unreal engine, 8k, high-definition, by Alphonse Mucha and Wayne Barlowe.” IMGPROMPT Now write a prompts for 当然bot 也提供了直接使用用户输入内容作为 prompt 生成图像的命令熟悉 AI 图像生成方法的用户可以直接提供高质量的 image prompt 序列 2.3 语音输入 输出 本项目使用 OpenAI tts-1 模型实现文字转语音使用 whisper-1 模型实现语音转文字最小用例如下from pathlib import Path from openai import OpenAI client OpenAI(api_keyXXX) # 填入你的 api# text2voice speech_file_path Path(__file__).parent / speech.ogg response client.audio.speech.create(modeltts-1,voicealloy,inputHello, World! 你好世界,response_formatopus ) response.stream_to_file(speech_file_path)# voice2text file_path Path(__file__).parent / speech.ogg audio_file open(file_path, rb) transcript client.audio.transcriptions.create(modelwhisper-1, fileaudio_file, response_formattext ) print(transcript)本项目使当前2023.11.29使用的包版本为 openai 1.3.1文档参考 Text-to-voice: tts-1Voice-to-text: whisper-1
http://www.zqtcl.cn/news/780621/

相关文章:

  • 门户网站建设 简报嘉兴设计公司有哪些
  • 资阳房地产网站建设学校网站建设板块分析
  • 山东华邦建设网站首页wordpress h5自适应
  • 合肥市建设工程劳务分包合同备案表在哪个网站下载国际国内热点新闻事件
  • 临猗做网站怎么做挣钱的网站
  • 做软装找图片的网站wordpress 表单留言
  • 360网站挂马检测wordpress路径爆出
  • 有什么网站学做标书的专门做短视频的公司
  • 网站怎么做图片动态图片短视频推广
  • 海口的网站建设网页设计欣赏可爱风格
  • 高端网站设计哪个好五莲网站建设维护推广
  • 外贸网站 测速国内创意网页设计
  • 网站商城前台模板免费下载自己做网站统计
  • 十大免费货源网站免费版本厦门建网站多少钱
  • 网站建设投标书范本深圳网页设计培训多少钱
  • 动态ip可以做网站北京万户网络
  • 网址大全免费网站中国建设银行驻莫斯科网站
  • 网站建设 教材 推荐网站导入
  • 网站备案扫描智能软件开发就业前景
  • 快速网站建设费用口碑营销图片
  • wordpress地址和站点地址错天津seo诊断
  • 张云网站建设做谷歌推广比较好的公司
  • 电子商务网站建设与管理的论文题目智能自助建站系统源码
  • 个人网站建设价格网站做视频转流量
  • 点网站出图片怎么做深圳市中心在哪
  • 企业网站建设58同城网站优化排名软件哪些最好
  • 最专业企业营销型网站建设企业宣传海报设计制作
  • 石家庄建站公司软件开发岗位介绍
  • 网站开发知识视频教程公司网站总感觉少点什么找什么人做
  • 做网站ps建立多大的画布网站排名监控工具