实战教程:用Token-Flow API + ChromaDB 构建企业知识库问答系统(附完整代码)

张开发
2026/4/21 17:18:30 15 分钟阅读

分享文章

实战教程:用Token-Flow API + ChromaDB 构建企业知识库问答系统(附完整代码)
本文将带你从零搭建一个RAG检索增强生成应用实现“上传文档→智能问答”。使用Token-Flow作为LLM调用层ChromaDB作为向量数据库。一、整体架构text用户问题 → 向量检索ChromaDB→ 上下文拼接 → Token-Flow调用LLM → 生成答案二、环境准备bashpip install tokenflow-client chromadb sentence-transformers三、代码实现Step 1初始化Token-Flow客户端pythonfrom openai import OpenAI client OpenAI( base_urlhttps://api.token-flow.com/v1, api_keyyour-token-flow-key )Step 2加载文档并向量化pythonfrom sentence_transformers import SentenceTransformer import chromadb # 加载嵌入模型 encoder SentenceTransformer(BAAI/bge-small-zh) # 初始化ChromaDB chroma_client chromadb.Client() collection chroma_client.create_collection(my_knowledge) # 假设你有文档列表 documents [Token-Flow支持300模型..., 智能路由可节省90%成本...] embeddings encoder.encode(documents).tolist() # 存入向量库 collection.add( embeddingsembeddings, documentsdocuments, ids[fdoc_{i} for i in range(len(documents))] )Step 3检索 生成pythondef rag_query(question: str) - str: # 检索相关文档 question_emb encoder.encode([question]).tolist() results collection.query(query_embeddingsquestion_emb, n_results2) context \n.join(results[documents][0]) # 构造Prompt prompt f基于以下资料回答问题。如果资料中没有答案就说没有找到相关信息。 资料 {context} 问题{question} 答案 # 调用Token-Flow response client.chat.completions.create( modelauto-router, # 智能路由 messages[{role: user, content: prompt}], temperature0.3 ) return response.choices[0].message.content # 测试 print(rag_query(Token-Flow能节省多少成本))四、进阶优化缓存常见问题用Redis存储高频QA减少API调用流式输出设置streamTrue逐字返回答案成本追踪在Token-Flow控制台查看每次调用的精确成本评论区留言“RAG”获取完整项目代码包。

更多文章