腾讯元器是基于混元大模型开发的一站式智能体创作与分发平台。无需代码,您可快捷创建AI智能体/插件/知识库。还能将智能体一键分发到QQ,微信客服,腾讯云等渠道上,享受鹅厂的丰厚流量扶持!
在登录元器的后台后(https://yuanqi.tencent.com/) 我们可以很方便的创建的自己智能体
按照指引将必要的信息填写完整
这里的头像甚至可以根据你的简介进行AI生成,就非常棒。
完成基础配置后,我们可以在右侧看到一个测试画面
如果符合你的预期要求,则可以将其发布。
我们可以选择可见范围,以及发布的平台。我们本次演示使用的API功能,因此下方的平台可以不用选择。
填写好发布记录后就可以发布了。
等待审核
在等待审核期间,我们可以先将网站搭建起来
我们先在Gitee中创建代码仓库,方便我们上传到云服务器。
创建一个虚拟环境
conda create -n yaunqi_be python=3.11 -y
激活虚拟环境
安装Django框架
pip install django -i https://mirrors.cloud.tencent.com/pypi/simple
pip install Pillow -i https://mirrors.cloud.tencent.com/pypi/simple
pip install requests -i https://mirrors.cloud.tencent.com/pypi/simple
创建一个web项目MyEye
django-admin startproject config
rename config myeye
用你擅长的开发工具打开下项目,并创建一个app
>python manage.py startapp upload
在 myproject/settings.py
文件中,添加应用和媒体文件的设置:
python复制代码INSTALLED_APPS = [
...
'upload'
]
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
# 确保添加静态文件目录
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / 'static']
在 upload/models.py
中定义一个模型来存储上传的图片:
python复制代码from django.db import models
class Image(models.Model):
title = models.CharField(max_length=100)
image = models.ImageField(upload_to='images/')
def __str__(self):
return self.title
在 upload/forms.py
中创建一个表单,用于上传图片:
from django import forms
from .models import Image
class ImageForm(forms.ModelForm):
class Meta:
model = Image
fields = ['title', 'image']
from django.shortcuts import render, redirect
from django.urls import reverse
from .forms import ImageForm
from .models import Image
def image_upload_view(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
image = form.save()
return redirect(reverse('image_detail', kwargs={'pk': image.pk}))
else:
form = ImageForm()
return render(request, 'upload/image_upload.html', {'form': form})
def image_list_view(request):
images = Image.objects.all()
return render(request, 'upload/image_list.html', {'images': images})
def image_detail_view(request, pk):
image = Image.objects.get(pk=pk)
return render(request, 'upload/image_detail.html', {'image': image})
在 upload/templates/upload/
目录下创建两个模板文件 image_upload.html
和 image_list.html
。
image_upload.html
:
<!DOCTYPE html>
<html>
<head>
<title>Upload Image</title>
</head>
<body>
<h1>Upload Image</h1>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Upload</button>
</form>
<a href="{% url 'image_list' %}">View Images</a>
</body>
</html>
image_list.html
:
<!DOCTYPE html>
<html>
<head>
<title>Image List</title>
</head>
<body>
<h1>Image List</h1>
<ul>
{% for image in images %}
<li>
<h2>{{ image.title }}</h2>
<img src="{{ image.image.url }}" alt="{{ image.title }}" style="max-width: 300px;">
</li>
{% endfor %}
</ul>
<a href="{% url 'image_upload' %}">Upload Another Image</a>
</body>
</html>
image_detail.html
:
<!DOCTYPE html>
<html>
<head>
<title>Image Detail</title>
</head>
<body>
<h1>{{ image.title }}</h1>
<img src="{{ image.image.url }}" alt="{{ image.title }}" style="max-width: 300px;">
<p>Image URL: <a href="{{ image.image.url }}">{{ image.image.url }}</a></p>
<a href="{% url 'image_list' %}">View All Images</a>
<a href="{% url 'image_upload' %}">Upload Another Image</a>
</body>
</html>
在 myproject/urls.py
文件中添加新的 URL 路由:
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path
from upload.views import image_upload_view, image_list_view, image_detail_view
urlpatterns = [
path('admin/', admin.site.urls),
path('upload/', image_upload_view, name='image_upload'),
path('images/', image_list_view, name='image_list'),
path('images/<int:pk>/', image_detail_view, name='image_detail'),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
然后,运行以下命令创建数据库表:
python manage.py makemigrations
python manage.py migrate
创建要给超级管理员,用于后期我们管理后台
python manage.py runserver
访问Upload Image看到如下画面,尝试上传一张图片看看效果
我们稍后会在这里将元器识别的内容显示在下方。
选择调用API,会看到ID和Token,记下来我们后面要用到
在项目添加一个如下方法
def get_img_info(img_path):
url = 'https://open.hunyuan.tencent.com/openapi/v1/agent/chat/completions'
headers = {
'X-Source': 'openapi',
'Content-Type': 'application/json',
'Authorization': f'Bearer {settings.YUANQI_TOKEN}'
}
data = {
"assistant_id": settings.YUANQI_ID,
"user_id": "username",
"stream": False,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "告诉我这个图片是什么? " + img_path
}
]
}
]
}
json_data = json.dumps(data)
response = requests.post(url, headers=headers, json=data)
print(response.text)
return response.json()["choices"][0]["message"]["content"]
并修改,image_detail_view
方法
def image_detail_view(request, pk):
image = Image.objects.get(pk=pk)
info = get_img_info(image.url)
return render(request, 'upload/image_detail.html', {'image': image, "info": info})
搜集项目依赖文件
pip freeze>req.txt
push到仓库
登录云服务器拉取项目
同样先创建一下虚拟环境(后期采用Docker部署就没有这么麻烦了)
最终的效果如上,这只是一个演示,有时间我们再完善一下,让它变得更漂亮些。
元器智能体在创建时时非常方便的,通过API调用创建好的智能体也是很方便,是一个非常值得尝试的一个新方式。今天的内容就是这些,我是Tango,一个热爱分享技术的程序猿,我们下期见。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。