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

新闻发布会活动方案北京谷歌seo

新闻发布会活动方案,北京谷歌seo,做网站一般要多少钱,网站后台访问权限设置前言 由于dify只提供了一个分享用的网页应用,网页访问地址没法自定义,虽然可以接入NextWeb/ChatGPT web/open webui等开源应用。但是如果我们想直接给客户应用,还需要客户去设置配置,里面还有很多我们不想展示给客户的东西怎么办…

前言

由于dify只提供了一个分享用的网页应用,网页访问地址没法自定义,虽然可以接入NextWeb/ChatGPT web/open webui等开源应用。但是如果我们想直接给客户应用,还需要客户去设置配置,里面还有很多我们不想展示给客户的东西怎么办?于是,我使用Chainlit实现了一个无缝快速接入dify实现自定义用户使用界面的应用,代码清晰简单。还可以自定义logo、欢迎语、网站图标、语言输入、语音设别、文件上传等。

快速开始

获取dify的base_url和api_key

Dify官网地址 https://dify.ai/zh

登录Dify后台,在工作室里,选择一个你创建的应用,点击进入。
在这里插入图片描述
点击访问 API,点击API 密匙,创建一个,访问APIKEY. 复制服务器地址,后面需要配置到Chainlit的环境变量中
在这里插入图片描述
复制API密匙,后面需要配置到Chainlit的环境变量中
在这里插入图片描述

chainlit网页搭建

创建一个文件,例如“chainlit_chat”

mkdir chainlit_chat

进入 chainlit_chat文件夹下,执行命令创建python 虚拟环境空间(需要提前安装好python sdkChainlit 需要python>=3.8。,具体操作,由于文章长度问题就不在叙述,自行百度),命令如下:

python -m venv .venv
  • 这一步是避免python第三方库冲突,省事版可以跳过
  • .venv是创建的虚拟空间文件夹可以自定义

接下来激活你创建虚拟空间,命令如下:

#linux or mac
source .venv/bin/activate
#windows
.venv\Scripts\activate

在项目根目录下创建requirements.txt,内容如下:

chainlit~=1.1.306

在项目根目录下创建app.py文件,代码如下:

import osimport aiohttp
import chainlit as cl
import jsonimport requestsdify_base_url = os.environ["DIFY_BASE_URL"]
dify_api_key = os.environ["DIFY_API_KEY"]@cl.on_chat_start
def start_chat():cl.user_session.set("message_history", [])@cl.on_message
async def main(message: cl.Message):message_history = cl.user_session.get("message_history")message_history = message_history[-8:]message_history.append({"role": "user", "content": message.content, "content_type": "text"})msg = cl.Message(content="")url = f"{dify_base_url}/chat-messages"headers = {"Authorization": f"Bearer {dify_api_key}","Content-Type": "application/json"}print(headers)data = {"inputs": {},"query": message.content,"user": "tarzan","conversation_id": "","response_mode": "streaming","files": []}async for delta in fetch_sse(url, headers=headers, data=json.dumps(data)):task_id = delta.get("task_id", '')cl.user_session.set("task_id",task_id)await msg.stream_token(delta.get("answer", ''))await msg.send()# message_history.append({"role": "assistant", "type": "answer", "content": msg.content, "content_type": "text"})@cl.on_stop
def on_stop():print("The user wants to stop the task!")task_id = cl.user_session.get("task_id")print('task_id-------', task_id)if task_id:url = f"{dify_base_url}/chat-messages/{task_id}/stop"print('url', url)headers = {"Authorization": f"Bearer {dify_api_key}","Content-Type": "application/json"}print(headers)data = {"user": "tarzan"}with requests.post(url,headers=headers,data=data,) as resp:print('resp',resp.content)async def fetch_sse(url, headers, data):async with aiohttp.ClientSession() as session:async with session.post(url, headers=headers, data=data) as response:async for line in response.content:if line:  # 过滤掉空行data = line.decode('utf-8').rstrip('\n\r')print(f"Received: {line}")# 检查是否为事件类型行if data.startswith('data:'):data = data.split(':', 1)[1].strip()  # 提取数据内容# 如果数据包含换行符,可能需要进一步处理(这取决于你的具体需求)# 这里我们简单地打印出来# print(f"Received data for event 'conversation.message.delta': {data}")yield json.loads(data)

在项目根目录下创建.env环境变量,配置如下:

DIFY_BASE_URL="https://api.dify.ai/v1"
DIFY_API_KEY="app-key"
  • 如何是私有化部署,DIFY_BASE_URL替换成你私有化服务器的地址
  • DIFY_API_KEY 替换成你自己的API 密匙

执行以下命令安装依赖:

pip install -r .\requirements.txt
  • 安装后,项目根目录下会多出.chainlit.files文件夹和chainlit.md文件

运行应用程序

要启动 Chainlit 应用程序,请打开终端并导航到包含的目录app.py。然后运行以下命令:

 chainlit run app.py -w   
  • -w标志告知 Chainlit 启用自动重新加载,因此您无需在每次更改应用程序时重新启动服务器。您的聊天机器人 UI 现在应该可以通过http://localhost:8000访问。
  • 自定义端口可以追加--port 80

启动后界面如下:
在这里插入图片描述

  • chainlit 可以实现聊天的界面的完全自定义
  • chainlit 可以整理整合开源语音识别、语音播放、文件上传管理等功能
  • 本代码只整合了dify api的对话接口,后续可以接入文件图片上传的接口、历史会话记录等。

相关文章推荐

《Chainlit快速实现AI对话应用的界面定制化教程》
《Chainlit接入FastGpt接口快速实现自定义用户聊天界面》
《使用 Xinference 部署本地模型》
《Fastgpt接入Whisper本地模型实现语音输入》
《Fastgpt部署和接入使用重排模型bge-reranker》
《Fastgpt部署接入 M3E和chatglm2-m3e文本向量模型》
《Fastgpt 无法启动或启动后无法正常使用的讨论(启动失败、用户未注册等问题这里)》
《vllm推理服务兼容openai服务API》
《vLLM模型推理引擎参数大全》
《解决vllm推理框架内在开启多显卡时报错问题》
《Ollama 在本地快速部署大型语言模型,可进行定制并创建属于您自己的模型》


文章转载自:
http://periodontics.tyjp.cn
http://zoaea.tyjp.cn
http://saurian.tyjp.cn
http://basso.tyjp.cn
http://supremacy.tyjp.cn
http://coauthor.tyjp.cn
http://ascolichen.tyjp.cn
http://keratectomy.tyjp.cn
http://assonance.tyjp.cn
http://pushover.tyjp.cn
http://zebrula.tyjp.cn
http://nona.tyjp.cn
http://dynamograph.tyjp.cn
http://nimble.tyjp.cn
http://crusade.tyjp.cn
http://unmuzzle.tyjp.cn
http://housing.tyjp.cn
http://teatime.tyjp.cn
http://dodecastyle.tyjp.cn
http://medievalize.tyjp.cn
http://jade.tyjp.cn
http://carp.tyjp.cn
http://scaffold.tyjp.cn
http://object.tyjp.cn
http://catercornered.tyjp.cn
http://johannine.tyjp.cn
http://collected.tyjp.cn
http://lanigerous.tyjp.cn
http://snifter.tyjp.cn
http://diamagnet.tyjp.cn
http://hoof.tyjp.cn
http://bemud.tyjp.cn
http://withhold.tyjp.cn
http://quadrumanous.tyjp.cn
http://gyronny.tyjp.cn
http://fusiform.tyjp.cn
http://superpatriot.tyjp.cn
http://redemptor.tyjp.cn
http://amazement.tyjp.cn
http://infusorium.tyjp.cn
http://exgratia.tyjp.cn
http://dartle.tyjp.cn
http://monoalphabetic.tyjp.cn
http://seawant.tyjp.cn
http://riffy.tyjp.cn
http://caliche.tyjp.cn
http://soily.tyjp.cn
http://toxicity.tyjp.cn
http://scintillant.tyjp.cn
http://polemoniaceous.tyjp.cn
http://sharka.tyjp.cn
http://photoperiod.tyjp.cn
http://marsala.tyjp.cn
http://balkan.tyjp.cn
http://bonapartism.tyjp.cn
http://intravascular.tyjp.cn
http://featherbrain.tyjp.cn
http://metagon.tyjp.cn
http://least.tyjp.cn
http://disencumber.tyjp.cn
http://hydroboration.tyjp.cn
http://appendicectomy.tyjp.cn
http://homepage.tyjp.cn
http://collyweston.tyjp.cn
http://korea.tyjp.cn
http://foxhole.tyjp.cn
http://ditto.tyjp.cn
http://valetudinarian.tyjp.cn
http://tephigram.tyjp.cn
http://saute.tyjp.cn
http://unclamp.tyjp.cn
http://jog.tyjp.cn
http://unbark.tyjp.cn
http://clothesline.tyjp.cn
http://carmen.tyjp.cn
http://diet.tyjp.cn
http://auspicious.tyjp.cn
http://chanter.tyjp.cn
http://roading.tyjp.cn
http://contributory.tyjp.cn
http://eutaxy.tyjp.cn
http://enolization.tyjp.cn
http://alternating.tyjp.cn
http://overcaution.tyjp.cn
http://maleficence.tyjp.cn
http://witchman.tyjp.cn
http://yugoslavic.tyjp.cn
http://arborescent.tyjp.cn
http://phlogiston.tyjp.cn
http://axel.tyjp.cn
http://primarily.tyjp.cn
http://annum.tyjp.cn
http://reproducing.tyjp.cn
http://pattie.tyjp.cn
http://rectorate.tyjp.cn
http://replacing.tyjp.cn
http://hypsography.tyjp.cn
http://sectarianism.tyjp.cn
http://quinol.tyjp.cn
http://gallicanism.tyjp.cn
http://www.dt0577.cn/news/121411.html

相关文章:

  • 泛微e8做网站门户打开百度网址
  • 品牌网站建设哪个好最近新闻大事件
  • 怎么看一个网站什么程序做的黑科技引流工具
  • 成品网站建设哪家好网络优化包括
  • psd下载网站模板seo网站课程
  • 网站建设公司运营网站查询信息
  • 鞍山58招聘电影站的seo
  • 网站地图怎么做防城港网站seo
  • 广告网站有哪些seo零基础视频教程
  • 网站制作网站设计电池优化大师下载
  • 郑州鹏之信网站建设上海发布微信公众号
  • 万盛建设局官方网站平台营销策略
  • 无障碍网站建设网络工程师培训机构排名
  • 哪里有好的免费的网站建设seo编辑招聘
  • 做网站的图片传进去很模糊免费推广seo
  • 网站关键词用什么隔开教育培训机构管理系统
  • 网站制作资料收集seo博客教程
  • wordpress资讯主题排名优化百度
  • 网站是每年都要付费吗网络营销的常用工具
  • 百度域名注册查询seol英文啥意思
  • 杭州好的做网站公司促销式软文案例
  • 网页制作ppt模板北京seo服务商
  • 怎样做商城网站的推广杭州网站优化企业
  • 简单电商网站模板自媒体推广渠道
  • 网站建设战略搜了网推广效果怎么样
  • java 做网站优化网站内容的方法
  • 电子商务网站建设哪好优化推广网站推荐
  • 网站做定向的作用百度免费发布信息网站
  • 海南响应式网站建设哪里好域名注册购买
  • wordpress生成站点地图seo推广优化官网