10 分钟用 TaoToken 跑通 LangChain 的 RAG 示例代码

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

1. 先把 LangChain 官方 RAG 示例代码拉到本地

RAG(检索增强生成)是当前落地大模型最顺的一条路,LangChain 官方仓库里有一套完整的示例代码,把文档切块、向量化、存进 Chroma、检索、再交给 LLM 生成答案这几步全串了起来。以前这套示例默认要求你填一个 OpenAI 的 API Key,但现在你完全可以用 TaoToken 提供的统一 API Key 和 Base URL 来跑通它,因为 LangChain 的 OpenAI 兼容接口只需要改两三个参数,就能把请求转发到任意兼容服务上。我这里用的就是 LangChain 官方 examples 目录下的 rag 示例,仓库地址是 github.com/langchain-ai/langchain,示例文件名是 docs/docs/docs/integrations/retrievers/self_query.ipynb 旁边那个更朴素的 RAG 流程脚本。你要找的核心部分其实就是一个 rag.py 或者 notebook 里的 RunnableSequence,它调用 OpenAI 的 embedding 和 chat model 完成两件事:先从本地文档里检索相关片段,再把片段和用户问题拼进 prompt 送回模型。

我先把仓库克隆下来,只取了官方示例文件。克隆后记得检查一下 Python 版本和依赖,我实测时用的是 Python 3.11,langchainlangchain-openailangchain-chroma 这几个包的版本以官方安装为准。官方示例代码里有一行 from langchain_openai import OpenAIEmbeddingsfrom langchain_openai import ChatOpenAI,这两处就是我们要动刀的地方。你不需要换掉 LangChain 本身,也不用换掉 Chroma 或者文档加载器,所有检索、切分、存储逻辑都保持不变,等于只把模型提供方从默认的 OpenAI 换成 TaoToken 这个兼容通道。这样做的最大好处是:你的检索管线和业务代码完全不用重写,环境变量改一下,LLM 初始化的 base_url 改一下,剩下的就交给 LangChain。

跑这个示例前,先确认你的 Python 环境里已经装好这些库。官方文档给出的命令是 pip install langchain langchain-openai langchain-chroma,另外还需要 python-dotenv 来读 .env 文件。我这里的安装命令是:

pip install langchain langchain-openai langchain-chroma python-dotenv

如果网络不好,可以加 -i https://pypi.tuna.tsinghua.edu.cn/simple,但这不是重点。接下来要做的唯一一件事,就是去 TaoToken 官网注册一个账号,创建你自己的 API Key,然后把它填到环境变量里。这个过程不会超过两分钟,剩下的时间基本都花在跑通首次问答和记录响应时间上。

2. 用 TaoToken 创建 Key 并准备环境变量

TaoToken 的定位是统一 API 网关,你不用关心它背后到底接的是哪一家模型服务,只需要在官网拿到一个 Key,然后按它给的 Base URL 填进去,就能通过 LangChain 调用到模型广场上列出的各种模型。我这次没有去注册一堆不同平台的账号,也没有去比较哪家 SDK 的用法,全程只用一个 Key、一个 Base URL,这就是为什么我说它是可复现的 API 基线。

注册后进入控制台,创建一个新的 API Key,复制保存时要注意只显示一次。然后把 Key 写进项目根目录的 .env 文件里。这里有个容易踩的坑:不要把 Key 硬编码在 Python 文件里,尤其是你之后要跑多个模型对比的时候,环境变量可以让你不改代码只改配置。我准备的 .env 内容如下:

TAOTOKEN_API_KEY=YOUR_API_KEY
TAOTOKEN_BASE_URL=https://taotoken.net/api
MODEL_ID=你的模型ID以模型广场为准

注意了,MODEL_ID 我没有写死成某个名字,因为模型广场上的模型 ID 会更新,你今天看到的某个 ID 可能明天就下线或者换别名。正确做法是登录 TaoToken 官网,在模型广场页面复制一个当前可用的模型 ID,粘贴到 .env 里。如果你只复制了 Key 没复制模型 ID,后面 LangChain 初始化的时候就会报 model_not_found 或者 404,这个我在第五节会细说。

Base URL 这里必须强调一个陷阱:官方示例里默认给的是 https://api.openai.com/v1,而 TaoToken 给的 Base URL 是 https://taotoken.net/api,末尾不带 /v1。如果你把 /v1 加上去,请求会打到不存在的路径上,返回 404。这个细节和很多兼容服务不一样,TaoToken 的接口路径设计得比较干净,不需要手动补版本号。LangChain 的 ChatOpenAIOpenAIEmbeddings 都接受 base_url 参数,你直接把它设成环境变量里的 TAOTOKEN_BASE_URL 即可。

建好 .env 后,我建议你写一个最小测试脚本,先确认 Key 和 Base URL 是通的,再继续跑完整 RAG 示例。最小测试很简单:

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

load_dotenv()

llm = ChatOpenAI(
    api_key=os.environ["TAOTOKEN_API_KEY"],
    base_url=os.environ["TAOTOKEN_BASE_URL"],
    model=os.environ["MODEL_ID"],
    temperature=0
)

resp = llm.invoke("说一句话证明你连接成功")
print(resp.content)

如果这里能正常返回中文回答,说明你拿到的是能用的 Key,Base URL 也没写错。接下来就可以安心跑完整 RAG 示例了。这一步虽然看起来像注册教程,但它只占整个流程的五分之一,真正的重头戏在下两节:怎么改示例代码,以及实际跑出来的答案到底准不准。

3. 修改 LangChain 示例中的 LLM 初始化参数,指向 TaoToken Base URL

LangChain 官方的 RAG 示例代码里,初始化模型的部分通常长这样:

from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings

llm = ChatOpenAI(model="gpt-4o-mini")
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")

这段代码是给 OpenAI 官方 API 用的。如果直接跑,你的请求会发到 OpenAI 的服务器,然后因为没填 Key 报 401。现在我们要把它改成指向 TaoToken。改动点只有三处:api_keybase_urlmodel。其中 model 我用的是环境变量,因为模型广场的 ID 会变,你换模型时只需要改 .env,不用动代码。下面是修改后的完整初始化代码,我会连带着官方示例的检索和生成流程一起给出来,方便你直接复制运行。

我的 rag_taotoken.py 文件内容如下:

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings
from langchain_chroma import Chroma
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.prompts import ChatPromptTemplate

load_dotenv()

# 统一从环境变量读取,避免硬编码
TAOKEY = os.environ["TAOTOKEN_API_KEY"]
TABASE = os.environ["TAOTOKEN_BASE_URL"]
MODEL = os.environ["MODEL_ID"]  # 以模型广场为准

embeddings = OpenAIEmbeddings(
    api_key=TAOKEY,
    base_url=TABASE,
    model="模型广场上的Embedding模型ID"  # 同样以广场为准
)

llm = ChatOpenAI(
    api_key=TAOKEY,
    base_url=TABASE,
    model=MODEL,
    temperature=0
)

# 加载示例文档
loader = TextLoader("sample_document.txt", encoding="utf-8")
documents = loader.load()
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=500,
    chunk_overlap=100
)
splits = text_splitter.split_documents(documents)

# 构建向量库
vectorstore = Chroma.from_documents(
    documents=splits,
    embedding=embeddings,
    persist_directory="./chroma_db"
)

# 检索器和 prompt
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
prompt = ChatPromptTemplate.from_messages([
    ("system", "只基于以下上下文回答用户问题,不知道就说不清楚。"),
    ("human", "上下文:\n{context}\n\n问题:{question}")
])

# 组装 RAG 链
from langchain_core.runnables import RunnablePassthrough

def format_docs(docs):
    return "\n\n".join(doc.page_content for doc in docs)

rag_chain = (
    {"context": retriever | format_docs, "question": RunnablePassthrough()}
    | prompt
    | llm
)

# 问题
question = "示例文档里提到的 RAG 全称是什么?"
print("问题:", question)

# 计时
import time
start = time.time()
answer = rag_chain.invoke(question)
elapsed = time.time() - start

print("回答:", answer.content)
print(f"消耗时间: {elapsed:.2f} 秒")

这里有两个细节值得注意。第一,Embedding 模型的 ID 我刻意没有写出具体字符,因为它不属于 LangChain 官方 RAG 示例的固定参数,而是取决于 TaoToken 模型广场上的实际列表。你在复制代码后,需要去模型广场分别找一个 chat 模型 ID 和一个 embedding 模型 ID,填到对应位置。第二,Chroma.from_documents 里的 persist_directory 会让向量库落盘,如果你连续运行第二次,它会直接从本地加载旧向量,而不会重建。为了测试公平,我每次运行前删掉了 ./chroma_db,保证检索流程从零开始,这样统计出来的时间才比较干净。

官方示例里其实还有一个用 RunnableParallel 组装检索结果的写法,但核心思想和我上面这段完全一致:先检索 top-k 文档,格式化后拼进 prompt,最后送给 LLM。你没有必要去逐行理解 LangChain 的源码,只需要知道 retriever | format_docs 这一步是把检索出的文档片段变成纯文本,塞给 prompt 模板里的 {context} 变量。这样即使你切换不同的模型供应商,这段 RAG 管线的行为也是一致的。

4. 运行命令以及一次成功的问答输出

代码改好后,运行命令非常朴素:

python rag_taotoken.py

启动后,LangChain 会先读 .env,加载本地示例文档 sample_document.txt,切块、向量化、写入 Chroma。第一次运行时,向量化过程会花上几秒钟,因为要调用远程 embedding 模型生成向量表示。之后进入检索和问答阶段。我这里给 sample_document.txt 准备的内容是一段关于 RAG 概念介绍的科普文字,里面明确写了“RAG 是 Retrieval-Augmented Generation 的缩写”。问题就问它的全称,这样我能快速判断回答是否正确。

实跑结果我记录一下。我用一把 Key、同一个 Base URL、同一个模型 ID 跑了一次,输出如下:

问题: 示例文档里提到的 RAG 全称是什么?
回答: RAG 的全称是 Retrieval-Augmented Generation,即检索增强生成。
消耗时间: 2.84 秒

这里需要说明:上面这个 2.84 秒 是一次运行的结果,不代表 Benchmark 分数,也不代表公榜,只是我本地这次调用从发起请求到拿到最终答案的墙钟时间。这个时间包含网络往返、向量检索、prompt 拼接和 LLM 生成四个部分,其中网络开销占了大头。如果你想对比不同模型在同一个 RAG 任务上的速度,把 MODEL_ID 换掉再跑一次即可,其余代码一行都不用改。这就是用统一 API 基线做对照实验的价值——控制变量,只换模型,不换管线。

如果输出内容和你期望的不一致,先别急着怀疑模型。因为回答问题是否正确,直接取决于两点:一是你的 sample_document.txt 里有没有包含答案相关的内容;二是 search_kwargs={"k": 3} 检索到的文档片段有没有把关键句子召回。LangChain 官方的示例文档里通常会放一些体育新闻或者公司介绍,你问的问题如果原文里根本没有,那模型只能回答“不知道”,这是符合预期的。

我这次问答的响应时间和正确性都符合预期,因为答案文本几乎和原文一致,没有幻觉。随后我又把问题换成文档里没提到的内容,模型明确回答“根据提供的上下文,我无法回答这个问题”。这说明用 TaoToken 接入的模型确实遵守了 prompt 里“只基于上下文回答”的约束。这个表现比某些直接让模型自由发挥的默认配置要严谨,也说明 LangChain 的 RAG 模板本身设计得足够干净。

如果你想把响应时间测得更稳定,可以连续跑五次,取中位数,然后记录每次的 token 消耗。但请注意,TaoToken 控制台里能看到每次调用的 token 数和耗时,这个数据是它服务端记录的,我本地脚本里的 time.time() 只能反映我这边感知到的端到端延迟。两者有差异,但前者更适合做基线,因为它去除了本地网络波动。想查的话,登录 TaoToken 官网,在用量页面筛选刚才那个时间段的调用记录,就能看到服务端记录的响应耗时。

5. 排障:我这篇里遇到的两个配置错

跑这个官方 RAG 示例时,大多数人不会一次成功,我也不例外。第一个错是把 Base URL 加了 /v1。因为我之前用过 OpenAI 官方接口,习惯性把地址写成 https://taotoken.net/api/v1,结果 LangChain 发请求到 https://taotoken.net/api/v1/chat/completions,返回 404。查了官网文档才发现,TaoToken 的 Base URL 就是 https://taotoken.net/api,不用补版本号。去掉 /v1 后请求立刻通了。这个坑我记下了,以后只要是 TaoToken 的地址,一律以官网控制台展示的为准。

第二个错是模型 ID 填错。我当时没去模型广场复制,想当然填了一个老模型的名字,结果接口返回 Model not found。后来打开广场页面,复制了里面正在展示的一个模型 ID,重新跑就通过了。检查模型 ID 的时候要注意,有些模型 ID 中间带点号或者横线,复制时不要漏字符。这个问题本质上是因为不同平台对模型 ID 的命名规则不同,而 LangChain 只负责透传这个字段,它不会帮你纠正。

还有一个现象值得提:如果你用的是 httpxrequests 直接调 TaoToken,可能会遇到 CORS 或者超时,但 LangChain 封装好的 ChatOpenAI 内部用的是 httpx.Client,不存在这个问题。我这次运行完整流程没有遇到 401,因为 Key 在最小测试里已经验证过了。如果你遇到 401,优先检查 .env 文件里的 Key 是否有前后空格,或者是不是复制的完整 Key。别去改代码,改配置就行。

上面这些坑都和 LangChain 官方示例代码本身无关,纯粹是接入新供应商时的常见操作错误。这也是为什么我建议你先把第三节里的最小测试脚本跑通,再接完整的 RAG 链。最小测试能帮你把“Key、Base URL、模型 ID”这三个变量一次性验证掉,后面正式跑的时候,如果出错那就是 RAG 管线的逻辑问题,排查范围会缩小很多。

6. 为什么适合做对照基线以及我这次测评记录的用法

这篇虽然是开源项目栏目的实操记录,但我想多说一句关于对照基线的理解。很多朋友喜欢同时打开三四个模型平台的官网,分别配不同的 SDK,跑同一个 RAG 问题,然后对比答案质量和响应速度。想法没错,但实现起来很痛苦,因为每个平台的参数名不一样、报错信息不一样、限流策略不一样,最后对比的其实是各平台的接入复杂度,而不是模型本身。用 TaoToken 这个统一网关,你可以把 LangChain 里的 ChatOpenAI 当成唯一的模型入口,只改 model 字段,就能让同一个 RAG 管线请求不同的模型。这样记录下来的响应时间和正确性,至少能排除掉代码差异带来的干扰。

我在跑完这一次问答后,特意去 TaoToken 控制台的用量页面看了一眼,刚才那次调用确实产生了记录,里面有请求时间、模型 ID、输入 token 数、输出 token 数和服务端耗时。如果你也想复现这篇的操作,跑完一次后建议立即去查一下这条记录,确认它入账了。然后再改一个不同的模型 ID,跑同一个问题,把两次记录的时间、token 数抄到一张表里,就是你自己的小规模对照实验。记住,这种单次运行的数据不能代表公榜成绩,但你可以把同一个 Prompt 在两个模型间做 A/B 对比,用来判断线上该用哪个模型更划算。这也是 TaoToken 在这个场景里最实际的用途——默认供应商,而不是被评测对象。

如果你对响应时间比较敏感,建议用 LangChain 的 with_fallbacks 或者直接写一个重试装饰器,把单次超时设为 30 秒,以免某个模型偶发慢响应卡住整个任务。我这次跑完没有遇到超时,但如果你选的是大尺寸模型,第一次请求可能需要加载更长上下文,耗时会高于我的 2.84 秒。这个差异和模型、网络、上下文长度都有关,不一定是通道慢。

最后,如果你想复现我的这个记录,操作顺序很简单:去官网创建 Key,把 .env 填好,安装依赖,写一个像第三节那样的 rag_taotoken.py,然后运行第六节的命令。跑完后拿起手机看一眼时间,再登录 TaoToken 控制台核对刚才那条调用记录。如果记录里显示你的请求成功入账,那你已经用 TaoToken 跑通了 LangChain 官方 RAG 示例的全流程。之后再把问题换成你自己的业务文档,把 sample_document.txt 替换成你真正的知识库文件,一个可控、可复现、可对比的 RAG 基线就站在你面前了。

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

相关推荐

RÓÑSCINature»ÍİSCI¿Ñ»Í-¸¶¸Ð»ºÍ

RÓÑSCINature»ÍİSCI¿Ñ»Í--¸¶¸Ð»ºÍ

10 分钟TaoToken browser-use 的网页自动化 Agent

本文记录如何用 TaoToken10 分钟 browser-use 网页自动化 Agent。过最小可运行脚本,将 TaoToken 作为 OpenAI 兼容 API 道接入 browser-use,完成一次真实百度搜索任务,并统计出该任务总消耗 16,409 tokens。文章还对比了代码传参与环境变量两种接入姿势,总结了 401、404、模型 ID 错误等常见排障方法,并演示如何在 TaoToken 控制台核对每次调用的 token 明细。适合想快速上手 browser-use 并希望统一

Ceshi01的博客 10

AI-basic.xmind

AI-basic

多模态 RAG 召回率 90% 仍漏关键图表?Taotoken 实测 LangChain + Claude Sonnet 4.6 混合检索方案

针对企业文档中图表漏检问题,实测基于Taotoken平台搭建的LangChain+Claude Sonnet 4.6多模态RAG方案。对比显示:参数表召回率从38%提升至92%,跨页流程图识别提升69%,并提供完整代码实现与三种典型场景的部署优化建议。

weixin_47315004的博客 10

在敏捷开发中快速原型验证时利用Taotoken降低接入门槛

在敏捷开发中快速原型验证时利用Taotoken降低接入门槛 对于创业团队和独立开发者而言,产品原型阶段的验证至关重要。这个阶段的核心目标是快速验证核心想法和用户体验,任何可能拖慢进度的技术障碍都应被最小化。在集成大语言模型能力时,开发者常常面临一个现实问题:需要在多个模型服务商平台分别注册账号、申请API密钥、理解各自的计费方式和接口差异。这个过程不仅耗时,也分散了本应用于产品核心逻辑的精力。Taotoken作为一个大模型聚合分发平台,其OpenAI兼容的API设计,为这一场景提供了简化的接入路径。 1.

weixin_31776191的博客 233

独立开发者如何利用 Taotoken 为产品快速添加 AI 对话功能

独立开发者如何利用 Taotoken 为产品快速添加 AI 对话功能 对于独立开发者或小团队而言,为产品集成 AI 对话能力正从“锦上添花”变为“核心需求”。然而,从零开始对接大模型 API 往往面临模型选型复杂、接入流程繁琐、后续切换成本高等现实问题。Taotoken 作为一个提供 OpenAI 兼容 API 的大模型聚合平台,其核心价值在于将复杂的模型对接标准化,让开发者能专注于产品逻辑本身。本文将探讨如何利用 Taotoken 快速、灵活地为你的产品注入 AI 对话能力。 1. 从模型选型到接入的快速

weixin_42510243的博客 336

Python 串口日志采集与滚动保存工具(嵌入式开发+Python/串口+日志采集源码+设备运行记录)

提供带 UTC 时间戳的十六进制收包记录、按文件大小滚动保存及可选断线重连。面向开发板调试和长时间运行记录;每条记录对应一次 read 得到的数据块,不保证与协议帧或文本行一一对应。 适用于嵌入式软件开发人员、驱动开发入门者及相关技术学习者。资源包含源码或模板、使用说明及验证范围说明。Python 3.10+;pyserial 3.5;Windows 或 Linux;具备串口访问权限。 功能边界见 README.md,实际验证情况见 TESTING.md。

无线充电程序-下载即用.zip

代码下载链接: https://pan.quark.cn/s/37189d21223e STM8S103F3属于STMicroelectronics公司研发的STM8S系列微控制器,该芯片在众多嵌入式系统设计中得到普遍应用,尤其是在对低能耗与高性能有较高要求的场景中。这款微控制器内置8位中央处理器,配备了完整的数字信号处理工具集,涵盖了定时器单元、串行信端口以及多种外部设备接口。 无线供电方案是基于STM8S103F3构建的,其核心目标在于达成无需物理接触的电能传输。这项技术主要运用电磁感应理论,借助发送端与接收端线圈间磁场的变化来实现能量传递。在无线供电架构中,STM8S103F3常担任控制核心的角色,负责监督并调节充电环节中的各项指标,以此确保操作安全并提升工作效率。 1. **ADC(模拟数字转换器)**:在无线供电系统中,ADC负责将探测到的电压或电流信号转换为数字形式,使微控制器能够进行解析与操控。例如,它可用于测量接收端线圈的电压值,借此评估充电状况及效能。 2. **PWM(脉宽调制)**:PWM是调控电源输出的常用手段,过变更脉冲宽度来控制平均功率输出。在无线供电系统中,PWM或许会用于调节发射端功率的输出水平,以应对不同的充电需求及距离差异。借助精准控制PWM信号,能够维持充电电流的稳定,进而保障设备安全进行充电。 3. **软件体系**:无线供电方案可能由多个组成部分构成,例如初始设定、异常识别、信规约处理等。这些组件过周密规划的架构协同运作,共同完成无线供电的全部功能。 4. **安全功能**:方案可能集成过温、过压、过流防护机制,一旦侦测到非正常情形,可自动中断电源供应或降低功率输出,以避免设备受损。 5. **信规约**:无...

如何推动区域产业智能化升级,提升园区企业智能制造水平?.docx

如何推动区域产业智能化升级,提升园区企业智能制造水平?

WEB Portal 认证交互报文

源码下载地址: https://pan.quark.cn/s/624436558c94 网络认证信息交互数据包,涵盖了无线局域网控制器同门户服务器的验证与解除验证过程,以及接入控制器与RADIUS服务器的认证信息交换。

geo系统全开源 无加密代码 可以二次开发

快速部署源码,批量管理分站,实时监控任务,适合公司、商家、店铺、产品、服务项目做AI搜索获客、品牌曝光、精准触达客户 包更新包售后,细节都能问

proj4 coordinate transformation document

源码下载地址: https://pan.quark.cn/s/a4b39357ea24 对坐标转换的基本原理进行深入阐述,其中附有源代码获取的链接! 能够支持多种不同区域的坐标系统进行相互转换

LangGraph图导出与导入:JSON序列化交换格式

内容概要:展示如何将LangGraph图结构序列化为JSON(节点、边、配置),实现图的跨环境迁移或版本控制。定义自定义序列化器处理函数对象。示例导出图定义,再导入重建。讨论函数引用安全性和反序列化限制。 https://aswsvsmdl.gztft.com/zuqiuliansai/yingchao/ https://aswsvsmdl.gztft.com/zuqiuliansai/fajia/ https://aswsvsmdl.gztft.com/zuqiuliansai/dejia/ https://aswsvsmdl.gztft.com/zuqiuliansai/yijia/ https://aswsvsmdl.gztft.com/live/zuqiu/2706.html

Qt输入法事件-下载即用.zip

代码下载链接: https://pan.quark.cn/s/4e4be8b7cd44 一个关于Qt输入法事件(QInputMethodEvent)的示例性小程序。该程序的功能在于,当QTextEdit控件失去焦点时,会终止当前正在进行的输入操作。其目的是处理搜狗(或QQ)输入法等输入法在失去焦点时将文本内容错误地输入到文本框中的情况。此程序应用了Qt的事件监听(eventFilter)机制,并采用了自定义窗口部件(提升法)的技术实现。代码注释详尽。

如何高效拓展高校技术转移服务范围,提升区域创新影响力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

如何过科技活动提升区域创新影响力,精准招引优质科技成果?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: Claude Code vs Codex:同一把 TaoToken Key 跑同批 issue
下一篇: CC Switch 切到 TaoToken:Claude Code 两分钟换模型
ceshi01
博客等级 码龄18年 1粉丝 4558原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值