网站制作包括什么做网站如何与腾讯合作

张小明 2026/1/11 23:19:52
网站制作包括什么,做网站如何与腾讯合作,深圳入户申请网站官网,嘉兴建设中心小学网站**你是否曾想过构建一个能够直接从数据库中回答特定问题的聊天机器人#xff1f;**我们曾在某个项目中遇到过这样的需求。 最初#xff0c;我们使用标准的 LangChain#xff0c;并调用自定义工具——为每个数据库表创建单独的函数#xff0c;然后手动编写 SQL 查询。结果如…**你是否曾想过构建一个能够直接从数据库中回答特定问题的聊天机器人**我们曾在某个项目中遇到过这样的需求。最初我们使用标准的 LangChain并调用自定义工具——为每个数据库表创建单独的函数然后手动编写 SQL 查询。结果如何延迟高代码库难以维护并且随着数据库规模呈指数级增长内存管理也一团糟。一、我们面临的问题随着新表的添加代码库规模迅速扩大。手动生成 SQL 语句会降低运行速度并引入错误。长时间对话导致内存管理出现问题支持新查询需要大量的开发工作。在聊天机器人的基础上添加新功能变得困难。实现上下文管理机器人记忆既繁琐又容易出错。后来我们发现了 LangChain 的 SQL 代理以及 PostgreSQL 和 LangChain 如何轻松满足我们的大部分需求。在本教程中我们将向您展示如何构建该解决方案该方案在显著提升性能的同时将代码库复杂度降低了 70%。二、我们将建造什么一个使用 LangChain、OpenAI 和 FastAPI 的完整对话式 SQL 代理可以处理来自图书数据库的查询例如“给我看看斯蒂芬·金的所有作品”哪些作者写过三本以上的书科幻小说的平均评分是多少该系统能够保持对话上下文因此后续问题可以自然地进行——而且完全没有我们以前方法中存在的维护难题。三、先决条件Python 3.9PostgreSQL数据库OpenAI API密钥具备 SQL 和 Python 的基础知识四、设置首先安装所需的软件包pip install fastapi uvicorn langchain-openai langchain-community sqlalchemy psycopg2-binary langchain-postgres举例来说假设我们有一个简单的**书店数据库**其中包含两个表-- Authors table CREATE TABLE authors ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, birth_year INTEGER, nationality VARCHAR(100) ); -- Books table CREATE TABLE books ( id SERIAL PRIMARY KEY, title VARCHAR(255) NOT NULL, author_id INTEGER REFERENCES authors(id), genre VARCHAR(100), publication_year INTEGER, rating DECIMAL(3,2) );作者存储作者的基本信息例如姓名、出生年份和国籍。书籍存储书籍详细信息例如标题、类型、出版年份和评分并带有指向作者的外键链接。创建这些表并插入一些示例数据后最好定义一个名为view的视图books_with_authors。该视图将两个表连接成一个统一的数据集从而简化查询。这样代理无需每次都编写复杂的 SQL 连接可以直接查询该视图来获取书籍及其作者信息。CREATE VIEW books_with_authors AS SELECT b.id AS book_id, b.title, b.genre, b.publication_year, b.rating, a.name AS author_name, a.birth_year, a.nationality FROM books b JOIN authors a ON b.author_id a.id;步骤 1基本 SQL 代理现在数据库已准备就绪我们将设置一个由 LangChain 和 OpenAI 提供支持的SQL 代理。如果没有openapikey可以本地搭建qwen或者deepseek提供服务可以参考这篇文章[不用云端Ollama 帮你在笔记本部署Qwen3保姆级教程]mport os from langchain_openai import ChatOpenAI from langchain_community.utilities import SQLDatabase from langchain_community.agent_toolkits import create_sql_agent, SQLDatabaseToolkit from sqlalchemy import create_engine # Setup os.environ[OPENAI_API_KEY] your-openai-api-key DB_URI postgresqlpsycopg2://username:passwordlocalhost:5432/bookstore # Create database connection engine create_engine(DB_URI) # Define custom table info for better LLM context custom_table_info { authors: ( A table of authors.\n - id (SERIAL PRIMARY KEY): Unique ID of author\n - name (VARCHAR): Name of the author\n - birth_year (INTEGER): Year of birth\n - nationality (VARCHAR): Nationality of the author\n ), books: ( A table of books.\n - id (SERIAL PRIMARY KEY): Unique ID of book\n - title (VARCHAR): Title of the book\n - author_id (INTEGER): References authors(id)\n - genre (VARCHAR): Genre of the book\n - publication_year (INTEGER): Year of publication\n - rating (DECIMAL): Book rating (0–5)\n ), books_with_authors: ( A view combining books and authors.\n - book_id (INTEGER): ID of the book\n - title (VARCHAR): Title of the book\n - genre (VARCHAR): Genre of the book\n - publication_year (INTEGER): Year of publication\n - rating (DECIMAL): Rating of the book\n - author_name (VARCHAR): Name of the author\n - birth_year (INTEGER): Birth year of the author\n - nationality (VARCHAR): Nationality of the author\n ), } # Initialize SQLDatabase with view support and custom info db SQLDatabase( engineengine, include_tableslist(custom_table_info.keys()), custom_table_infocustom_table_info, view_supportTrue ) # Initialize LLM llm ChatOpenAI(modelgpt-4, temperature0) # Create toolkit and agent toolkit SQLDatabaseToolkit(dbdb, llmllm) agent create_sql_agent( toolkittoolkit, llmllm, agent_typetool-calling, verboseTrue ) # Test it out response agent.invoke({input: List all books with their authors and ratings}) print(response[output])以下是其内部工作原理自然语言到 SQL— 代理程序会处理类似*“列出所有书籍及其作者和评分”这样的简单英语问题。*SQL 生成— 它会自动生成相应的 SQL 查询例如从books_with_authors视图中进行选择。执行——该查询针对 PostgreSQL 数据库运行。可读输出— 然后代理以人类易于理解的格式返回结果。我们还通过提供自定义表信息来增强智能体的推理能力。这些元数据以自然语言描述每个表及其视图使模型无需重复检查模式即可了解字段的含义。例如我们会指定某个值rating是 0 到 5 之间的十进制数或者指定某个值author_id引用了某个authors表。启用视图支持后我们告诉代理视图例如viewbooks_with_authors应被视为一等公民。这样代理就可以优先查询视图而不是每次都重新创建连接逻辑从而使查询更简洁、更可靠。控制台输出agent的回复步骤 2添加原始结果回调有时您需要访问原始 SQL 查询结果以进行进一步处理。让我们添加一个回调处理程序来捕获此信息rom langchain.callbacks.base import BaseCallbackHandler class SQLResultHandler(BaseCallbackHandler): Callback handler to capture raw SQL query results def __init__(self): self.latest_sql_result None self.sql_run_ids set() def on_tool_start(self, serialized, input_str, **kwargs): Track SQL tool starts tool_name serialized.get(name, unknown) if isinstance(serialized, dict) else str(serialized) if tool_name sql_db_query: run_id kwargs.get(run_id) self.sql_run_ids.add(run_id) def on_tool_end(self, output, **kwargs): Capture SQL tool output run_id kwargs.get(run_id) parent_run_id kwargs.get(parent_run_id) # Check if this is a SQL tool end if run_id in self.sql_run_ids or parent_run_id in self.sql_run_ids: self.latest_sql_result output # Clean up run IDs self.sql_run_ids.discard(run_id) self.sql_run_ids.discard(parent_run_id) def on_tool_error(self, error, **kwargs): Clean up on SQL tool errors run_id kwargs.get(run_id) self.sql_run_ids.discard(run_id) def get_latest_result(self): Get the most recent SQL result return self.latest_sql_result def reset(self): Reset for next query self.latest_sql_result None self.sql_run_ids set() # Usage with callback sql_handler SQLResultHandler() response agent.invoke( {input: Show me all science fiction books}, {callbacks: [sql_handler]} ) print(Agent Response:, response[output]) print(Raw SQL Result:, sql_handler.get_latest_result())LangChain 的回调系统允许您接入代理执行的不同阶段。我们的方案SQLResultHandler专门用于捕获 SQL 数据库查询的输出从而使我们能够同时访问代理的自然语言响应和原始数据。步骤 3添加对话记忆现在让我们添加内存以便我们的代理可以处理后续问题并保持上下文from langchain_postgres import PostgresChatMessageHistory from langchain.memory import ConversationBufferMemory import psycopg # Connection for chat history (separate from main DB) CHAT_HISTORY_DB postgresql://username:passwordlocalhost:5432/bookstore CHAT_HISTORY_TABLE chat_history #the table that will store our hisory CHAT_HISTORY_CONN psycopg.connect(CHAT_HISTORY_DB)我们还需要告诉 LangChain 创建用于存储聊天记录的表。这只需要执行一次之后您可以注释掉或删除这段代码。# Run this only once try: PostgresChatMessageHistory.create_tables(CHAT_HISTORY_CONN, CHAT_HISTORY_TABLE) print(fChat history table {CHAT_HISTORY_TABLE} created or already exists) except Exception as e: print(fNote: {e})之后我们会获取对话历史记录并将其转换为客服人员易于理解的格式。这PostgresChatMessageHistory需要session_id将数据转换为 UUID 字符串。async def get_session_history(session_id: str) - PostgresChatMessageHistory: Get chat history for a session async_conn await psycopg.AsyncConnection.connect(CHAT_HISTORY_CONN) return PostgresChatMessageHistory( CHAT_HISTORY_TABLE, session_id, async_connectionasync_conn ) async def get_memory(session_id: str) - ConversationBufferMemory: Create memory with PostgreSQL backing chat_history await get_session_history(session_id) return ConversationBufferMemory( chat_memorychat_history, memory_keyhistory, return_messagesTrue ) async def format_history(chat_history, max_messages: int 6): Format recent chat history for context messages await chat_history.aget_messages() recent_messages messages[-max_messages:] if len(messages) max_messages else messages formatted [] for msg in recent_messages: role User if msg.type human else Assistant formatted.append(f{role}: {msg.content}) return \n.join(formatted) async def create_agent_with_memory(session_id: str): Create agent with conversation memory memory await get_memory(session_id) # Get formatted history for context readable_history await format_history(memory.chat_memory, 6) # Custom prompt with history custom_prefix f You are a helpful assistant that can answer questions about a bookstore database. You have access to information about books and authors. Previous conversation context: {readable_history} Be concise and helpful in your responses. return create_sql_agent( toolkittoolkit, llmllm, agent_typetool-calling, prefixcustom_prefix, agent_executor_kwargs{memory: memory}, verboseTrue ) # Usage with memory import asyncio async def chat_example(): agent await create_agent_with_memory(3dc035ae-bc72-4d5a-8569-c87c10aab97f) # Must be a UUID # First question response1 await agent.ainvoke({input: How many books by Jane Austen do we have?}) print(Response 1:, response1[output]) # Follow-up question (will remember context) response2 await agent.ainvoke({input: What genres are they?}) print(Response 2:, response2[output]) # Run the example asyncio.run(chat_example())内存系统将对话历史记录存储在 PostgreSQL 数据库中使代理能够记住之前的问题和答案自然地应对后续问题在多次交互中保持上下文关联使用会话 ID 扩展到多个用户/会话步骤 4FastAPI Web 服务最后为了方便部署我们将所有内容封装到一个 FastAPI 应用程序中from fastapi import FastAPI from pydantic import BaseModel from typing import Optional app FastAPI(titleSQL Chat Agent, version1.0.0) class ChatRequest(BaseModel): message: str user_id: str class ChatResponse(BaseModel): reply: str raw_sql_result: Optional[str] None app.post(/chat, response_modelChatResponse) async def chat_endpoint(request: ChatRequest): Chat with the SQL agent # Create handler for raw results sql_handler SQLResultHandler() # Create agent with memory for this user agent await create_agent_with_memory(request.user_id) # Process the question response await agent.ainvoke( {input: request.message}, {callbacks: [sql_handler]} ) return ChatResponse( replyresponse[output], raw_sql_resultsql_handler.get_latest_result() ) if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000)五、运行应用程序保存代码main.py并运行uvicorn main:app --reload您的 API 将可通过以下方式访问http://localhost:8000。您可以使用以下命令进行测试curl -X POST http://localhost:8000/chat \ -H Content-Type: application/json \ -d { message: How many authors do we have?,, user_id: 3dc035ae-bc72-4d5a-8569-c87c10aab97f }**注意**该user_id字段必须始终是有效的 UUID否则 LangChain 将抛出错误。六、测试您的代理请尝试以下示例查询“请显示2020年以后出版的所有书籍”“哪位作者的图书平均评分最高”“列出评分高于 4.0 的科幻小说”“《闪灵》的作者是谁”接着问“他们还写过哪些其他书籍”七、完整工作示例以下是整合所有功能的完整代码import os import asyncio from typing import Optional from fastapi import FastAPI from pydantic import BaseModel from sqlalchemy import create_engine from langchain_openai import ChatOpenAI from langchain_community.utilities import SQLDatabase from langchain_community.agent_toolkits import create_sql_agent, SQLDatabaseToolkit from langchain_postgres import PostgresChatMessageHistory from langchain.memory import ConversationBufferMemory from langchain.callbacks.base import BaseCallbackHandler import psycopg # Configuration os.environ[OPENAI_API_KEY] your-openai-api-key DB_URI postgresqlpsycopg2://username:passwordlocalhost:5432/bookstore CHAT_HISTORY_CONN postgresql://username:passwordlocalhost:5432/bookstore CHAT_HISTORY_TABLE chat_history # Database setup engine create_engine(DB_URI) # Define custom table info for better LLM context custom_table_info { authors: ( A table of authors.\n - id (SERIAL PRIMARY KEY): Unique ID of author\n - name (VARCHAR): Name of the author\n - birth_year (INTEGER): Year of birth\n - nationality (VARCHAR): Nationality of the author\n ), books: ( A table of books.\n - id (SERIAL PRIMARY KEY): Unique ID of book\n - title (VARCHAR): Title of the book\n - author_id (INTEGER): References authors(id)\n - genre (VARCHAR): Genre of the book\n - publication_year (INTEGER): Year of publication\n - rating (DECIMAL): Book rating (0–10)\n ), books_with_authors: ( A view combining books and authors.\n - book_id (INTEGER): ID of the book\n - title (VARCHAR): Title of the book\n - genre (VARCHAR): Genre of the book\n - publication_year (INTEGER): Year of publication\n - rating (DECIMAL): Rating of the book\n - author_name (VARCHAR): Name of the author\n - birth_year (INTEGER): Birth year of the author\n - nationality (VARCHAR): Nationality of the author\n ), } # Initialize SQLDatabase with view support and custom info db SQLDatabase( engineengine, include_tableslist(custom_table_info.keys()), custom_table_infocustom_table_info, view_supportTrue ) llm ChatOpenAI(modelgpt-4, temperature0) toolkit SQLDatabaseToolkit(dbdb, llmllm) # Basic Callback Handler class SQLResultHandler(BaseCallbackHandler): def __init__(self): self.latest_sql_result None self.sql_run_ids set() def on_tool_start(self, serialized, input_str, **kwargs): tool_name serialized.get(name, unknown) if isinstance(serialized, dict) else str(serialized) if tool_name sql_db_query: self.sql_run_ids.add(kwargs.get(run_id)) def on_tool_end(self, output, **kwargs): run_id kwargs.get(run_id) if run_id in self.sql_run_ids: self.latest_sql_result output self.sql_run_ids.discard(run_id) def get_latest_result(self): return self.latest_sql_result # Memory Handling async def get_session_history(session_id: str): async_conn await psycopg.AsyncConnection.connect(CHAT_HISTORY_CONN) return PostgresChatMessageHistory(CHAT_HISTORY_TABLE, session_id, async_connectionasync_conn) async def get_memory(session_id: str): chat_history await get_session_history(session_id) return ConversationBufferMemory(chat_memorychat_history, memory_keyhistory, return_messagesTrue) # Agent Creation async def create_agent_with_memory(session_id: str): memory await get_memory(session_id) return create_sql_agent( toolkittoolkit, llmllm, agent_typetool-calling, agent_executor_kwargs{memory: memory}, verboseTrue ) # FastAPI app app FastAPI(titleSQL Chat Agent) # Models class ChatRequest(BaseModel): message: str user_id: str class ChatResponse(BaseModel): reply: str raw_sql_result: Optional[str] None # API Endpoint app.post(/chat, response_modelChatResponse) async def chat_endpoint(request: ChatRequest): sql_handler SQLResultHandler() agent await create_agent_with_memory(request.user_id) response await agent.ainvoke( {input: request.message}, {callbacks: [sql_handler]} ) return ChatResponse( replyresponse[output], raw_sql_resultsql_handler.get_latest_result() ) # Execution if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000)请求示例{ message: List all books with their authors and ratings, user_id: 44b11b50-9417-4fa5-8e5d-ea968c6dc7d1 }agent回复{ reply: Here are some books with their authors and ratings:\n\n1. One Hundred Years of Solitude by Gabriel García Márquez - Rating: 4.90\n2. 1984 by George Orwell - Rating: 4.80\n3. Pride and Prejudice by Jane Austen - Rating: 4.70\n4. Animal Farm by George Orwell - Rating: 4.60\n5. Half of a Yellow Sun by Chimamanda Ngozi Adichie - Rating: 4.60\n6. Kafka on the Shore by Haruki Murakami - Rating: 4.50\n7. Emma by Jane Austen - Rating: 4.50\n8. Americanah by Chimamanda Ngozi Adichie - Rating: 4.40\n9. Adventures of Huckleberry Finn by Mark Twain - Rating: 4.40\n10. Norwegian Wood by Haruki Murakami - Rating: 4.30, raw_sql_result: [(One Hundred Years of Solitude, Gabriel García Márquez, Decimal(4.90)), (1984, George Orwell, Decimal(4.80)), (Pride and Prejudice, Jane Austen, Decimal(4.70)), (Animal Farm, George Orwell, Decimal(4.60)), (Half of a Yellow Sun, Chimamanda Ngozi Adichie, Decimal(4.60)), (Kafka on the Shore, Haruki Murakami, Decimal(4.50)), (Emma, Jane Austen, Decimal(4.50)), (Americanah, Chimamanda Ngozi Adichie, Decimal(4.40)), (Adventures of Huckleberry Finn, Mark Twain, Decimal(4.40)), (Norwegian Wood, Haruki Murakami, Decimal(4.30))] }八、主要优势这种方法可以让你自然语言界面用户可以用简单的英语提问对话记忆在多个问题中保持上下文关联原始数据访问回调提供对底层 SQL 结果的访问或者在代理呼叫后您想要执行的任何其他操作。REST API轻松与 Web 应用、移动应用或其他服务集成可扩展支持多个并发用户并提供会话管理功能。您的 API 将可供测试http://localhost:8000就、结论现在您拥有了一个功能齐全的对话式 SQL 代理它可以通过自然语言处理复杂的数据库查询。模块化设计使其易于扩展例如速率限制和身份验证查询结果缓存支持多种数据库自定义响应格式LangChain 的 SQL 代理功能与 FastAPI 的现代 Web 框架相结合为构建智能数据库接口奠定了强大的基础。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

国外建站工具陕西网络营销优化公司

性能实验设计与测试全解析 1. 测试与性能回归 在代码测试环节,其复杂程度取决于代码库的测试基础设施。一些代码库有大量单元测试确保正确性,可根据测试覆盖度和详细程度,利用现有测试;而有些代码库缺乏完善测试实践,就需编写自定义测试用例。若不确定,建议过度测试,避…

张小明 2026/1/8 15:47:24 网站建设

.net网站开发工程师加强网站功能建设

第一章:Open-AutoGLM 任务执行日志查看与分析在 Open-AutoGLM 系统中,任务执行日志是排查问题、监控运行状态和优化性能的关键资源。日志不仅记录了任务的启动、执行与终止过程,还包含模型调用、参数传递、异常堆栈等详细信息。日志存储路径与…

张小明 2026/1/8 18:10:18 网站建设

试玩网站源码网站建设中翻译

在当今数字化时代,Python代码保护已成为开发者和企业面临的重要挑战。随着Python应用的广泛普及,源代码泄露和逆向工程风险日益凸显。Pyarmor作为领先的Python代码保护工具,通过创新的动态混淆机制为商业软件和开源项目提供强有力的安全加固方…

张小明 2026/1/8 6:32:31 网站建设

网站开发 公司简介网页制作用什么软件

在科研的浩瀚征程中,数据是那深埋地下的宝藏,而数据分析则是挖掘宝藏、解锁奥秘的关键钥匙。传统数据分析方式与宏智树AI科研工具里的数据分析功能,恰似两位风格迥异的探险家,在数据处理的山谷中踏出截然不同的足迹。今天&#xf…

张小明 2026/1/8 6:08:46 网站建设

网站备案有哪些费用全国大型免费网站建设

第一章:Open-AutoGLM中文输入乱码修复在使用 Open-AutoGLM 模型处理中文文本时,部分用户反馈在输入包含中文字符的请求时出现乱码问题。该问题通常源于客户端与服务端之间的字符编码不一致,尤其是在未显式声明 UTF-8 编码的 HTTP 请求中。问题…

张小明 2026/1/8 5:08:14 网站建设

建筑公司网站模板做童装在哪个网站做广告

Wan2.2-T2V-5B使用避坑指南:新手常见问题汇总 在短视频内容爆炸式增长的今天,创作者们每天都在面对同一个灵魂拷问:“创意有了,可怎么才能快速把它变成看得见的视频?” 🤔 传统剪辑太慢、外包成本太高、AI生…

张小明 2026/1/8 10:45:46 网站建设