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

网站空间在线解压网页背景做的比较好的网站

网站空间在线解压,网页背景做的比较好的网站,网站运营外包公司,asp.net免费网站大模型对接核心代码文件对应 梳理了FastGPT核心代码和对应文件关系&#xff0c;包括LLM、知识库、大模型、Agent等核模块的代码和对应文件路径 1. 模型管理架构 全局模型映射 // 文件: packages/global/core/ai/model.d.ts declare global {var llmModelMap: Map<string, LL…

大模型对接核心代码文件对应

梳理了FastGPT核心代码和对应文件关系,包括LLM、知识库、大模型、Agent等核模块的代码和对应文件路径

1. 模型管理架构

全局模型映射
// 文件: packages/global/core/ai/model.d.ts
declare global {var llmModelMap: Map<string, LLMModelItemType>;var embeddingModelMap: Map<string, EmbeddingModelItemType>;// ...
}
统一模型获取接口
// 文件: packages/service/core/ai/model.ts
export const getLLMModel = (model?: string) => {if (!model) return getDefaultLLMModel();return global.llmModelMap.get(model) || getDefaultLLMModel();
};

2. LLM 模型对接

模型配置结构
// 文件: packages/global/core/ai/model.d.ts
export type LLMModelItemType = {provider: ModelProviderIdType;model: string;maxContext: number;// ...
};
统一 API 客户端
// 文件: packages/service/core/ai/config.ts
export const getAIApi = (props?: { userKey?: OpenaiAccountType; timeout?: number 
}) => {// ...return new OpenAI({baseURL: baseUrl,apiKey,// ...});
};
聊天完成接口
// 文件: packages/service/core/ai/config.ts
export const createChatCompletion = async ({body, userKey, timeout, options
}) => {const modelConstantsData = getLLMModel(body.model);// ...
};

3. Embedding 模型对接

Embedding 配置
// 文件: packages/global/core/ai/model.d.ts
export type EmbeddingModelItemType = {provider: ModelProviderIdType;model: string;defaultToken: number;maxToken: number;// ...
};
向量化实现
// 文件: packages/service/core/ai/embedding/index.ts
export async function getVectorsByText({ model, input, type 
}: GetVectorProps) {const ai = getAIApi();// ...
}function unityDimensional(vector: number[]) {if (vector.length > 1536) {return vector.slice(0, 1536);}// ...
}function normalization(vector: number[]) {if (vector.some(item => item > 1)) {const norm = Math.sqrt(vector.reduce((sum, val) => sum + val * val, 0));return vector.map(val => val / norm);}return vector;
}

4. ReRank 模型对接

ReRank 实现
// 文件: packages/service/core/ai/rerank/index.ts
export function reRankRecall({model = getDefaultRerankModel(),query,documents
}: {model?: ReRankModelItemType;query: string;documents: { id: string; text: string }[];
}): Promise<ReRankCallResult> {// ...
}

5. 模型配置管理

配置文件
// 文件: projects/app/data/model.json
{"llmModels": [{"provider": "OpenAI","model": "gpt-4o-mini","name": "gpt-4o-mini",// ...}],"vectorModels": [{"provider": "OpenAI","model": "text-embedding-3-small",// ...}]
}
动态模型管理 API
// 文件: projects/app/src/pages/api/core/ai/model/update.ts
// 模型配置更新接口// 文件: projects/app/src/pages/api/core/ai/model/test.ts  
// 模型测试接口// 文件: projects/app/src/pages/api/core/ai/model/list.ts
// 模型列表接口

工作流后端实现代码文件对应

1. 调度引擎核心

// 文件: packages/service/core/workflow/dispatch/index.ts
export async function dispatchWorkFlow(data: Props): Promise<DispatchFlowResponse> {// 工作流调度核心逻辑
}const callbackMap: Record<FlowNodeTypeEnum, Function> = {[FlowNodeTypeEnum.chatNode]: dispatchChatCompletion,[FlowNodeTypeEnum.datasetSearchNode]: dispatchDatasetSearch,// ...
};

2. 节点执行机制

// 文件: packages/service/core/workflow/dispatch/index.ts
async function checkNodeCanRun(node: RuntimeNodeItemType): Promise<RuntimeNodeItemType[]> {// 节点运行状态检查
}function getNodeRunParams(node: RuntimeNodeItemType) {// 节点参数注入
}

3. 流式响应处理

// 文件: packages/service/core/workflow/dispatch/utils.ts
export const getWorkflowResponseWrite = ({res, detail, streamResponse, id, showNodeStatus
}) => {return ({ write, event, data, stream }) => {// SSE 流式响应处理};
};

4. 具体节点实现

// 文件: packages/service/core/workflow/dispatch/chat/oneapi.ts
export const dispatchChatCompletion = async (props: ChatProps): Promise<ChatResponse> {// AI 对话节点实现
}// 文件: packages/service/core/workflow/dispatch/dataset/search.ts
export const dispatchDatasetSearch = async (props) => {// 知识库搜索节点实现
}// 文件: packages/service/core/workflow/dispatch/tools/http468.ts
export const dispatchHttp468Request = async (props) => {// HTTP 请求节点实现
}

知识库后端实现代码文件对应

1. 数据模型设计

// 文件: packages/service/core/dataset/schema.ts
const DatasetSchema = new Schema({parentId: { type: Schema.Types.ObjectId },teamId: { type: Schema.Types.ObjectId, required: true },vectorModel: { type: String, default: 'text-embedding-3-small' },// ...
});// 文件: packages/service/core/dataset/data/schema.ts
const DatasetDataSchema = new Schema({teamId: { type: ObjectId, required: true },datasetId: { type: ObjectId, required: true },q: { type: String, required: true },a: { type: String, default: '' },indexes: [{ dataId: String, text: String }],// ...
});

2. 数据处理流程

// 文件: packages/service/core/dataset/training/controller.ts
export async function pushDataListToTrainingQueue({teamId, tmbId, datasetId, collectionId,agentModel, vectorModel, data, trainingMode
}) {// 数据导入管道实现
}

3. 检索系统实现

// 文件: packages/service/core/dataset/search/controller.ts
export async function searchDatasetData(props: SearchDatasetDataProps
): Promise<SearchDatasetDataResponse> {// 多模式检索引擎实现
}const embeddingRecall = async ({ query, limit }) => {// 向量检索实现
};const fullTextRecall = async ({ query, limit }) => {// 全文检索实现
};export const datasetDataReRank = async ({ data, query }) => {// 重排序实现
};

4. 数据源集成

// 文件: projects/app/src/pages/api/core/dataset/collection/create/localFile.ts
// 本地文件导入// 文件: projects/app/src/pages/api/core/dataset/collection/create/link.ts  
// 网页链接导入// 文件: projects/app/src/pages/api/core/dataset/collection/create/apiCollection.ts
// API 数据源导入

聊天系统代码文件对应

1. 聊天完成 API

// 文件: projects/app/src/pages/api/v1/chat/completions.ts
async function handler(req: NextApiRequest, res: NextApiResponse) {// OpenAI 兼容的聊天接口实现const { flowResponses, assistantResponses } = await dispatchWorkFlow({// 工作流调度调用});
}

2. 前端聊天组件

// 文件: projects/app/src/components/core/chat/ChatContainer/ChatBox/index.tsx
const ChatBox = ({ onStartChat, isReady, active }) => {const sendPrompt: SendPromptFnType = useMemoizedFn(({text, files, history, autoTTSResponse}) => {// 消息发送核心逻辑});
};

3. LLM 调用核心

// 文件: packages/service/core/workflow/dispatch/chat/oneapi.ts
export const dispatchChatCompletion = async (props: ChatProps): Promise<ChatResponse> {// 1. 模型配置获取const modelConstantsData = getLLMModel(model);// 2. 知识库引用处理const [{ datasetQuoteText }] = await Promise.all([filterDatasetQuote({ quoteQA, model: modelConstantsData })]);// 3. LLM API 调用const { response } = await createChatCompletion({body: llmCompletionsBodyFormat({ model, messages, temperature })});
};

工作流前端代码文件对应

1. ReactFlow 核心

// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/index.tsx
const Workflow = () => {return (<ReactFlownodes={nodes}edges={edges}nodeTypes={nodeTypes}edgeTypes={edgeTypes}onNodesChange={handleNodesChange}// .../>);
};const nodeTypes: Record<FlowNodeTypeEnum, any> = {[FlowNodeTypeEnum.chatNode]: NodeSimple,[FlowNodeTypeEnum.datasetSearchNode]: NodeSimple,// ...
};

2. 节点组件

// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSimple.tsx
// 通用节点组件// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeHttp/index.tsx
// HTTP 请求节点组件// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/index.tsx
// 条件判断节点组件

3. 工作流上下文

// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowInitContext.tsx
// 工作流初始化上下文// 文件: projects/app/src/pageComponents/app/detail/WorkflowComponents/context/workflowEventContext.tsx
// 工作流事件上下文

总结

以上代码片段对应的主要文件路径:

核心服务层:

  • packages/service/core/ai/ - AI 模型对接
  • packages/service/core/workflow/dispatch/ - 工作流调度
  • packages/service/core/dataset/ - 知识库管理

全局类型定义:

  • packages/global/core/ai/model.d.ts - AI 模型类型
  • packages/global/core/workflow/ - 工作流类型

前端应用:

  • projects/app/src/pages/api/ - API 路由
  • projects/app/src/pageComponents/ - 页面组件
  • projects/app/src/components/core/ - 核心组件

配置文件:

  • projects/app/data/model.json - 模型配置
http://www.dtcms.com/a/602017.html

相关文章:

  • GIT版本管理工具轻松入门 | TortoiseGit,分支的创建与合并,笔记06
  • 网站自身seo优化怎么做ssh实训做网站代码下载
  • 网络范围的流量矩阵(TM)多步预测
  • 国外黄冈网站推广软件有哪些单县城乡住房建设局网站
  • TDengine 字符串函数 LIKE_IN_SET 用户手册
  • Spring5基础教程(2)--代理模式/AOP/Mybatis-Spring
  • 嵌入式面试题:经典蓝牙(BR/EDR)和低功耗蓝牙(BLE)的核心区别
  • 国产化改造平替的主要组件
  • 济宁市中网站建设建材网站做环保类型思路
  • Linux网络编程—Socket编程
  • 考研408--操作系统--day4--进程同步互斥信息量机制
  • 竹子建设网站河北城乡建设厅网站
  • Node.js 模块系统选择-学习 CommonJS 和 ESM
  • 手机网站模板wordpress图片粘贴插件
  • 解决报错net.sf.jsqlparser.statement.select.SelectBody
  • 模板网站如何建站app网站建设多少钱
  • 网站建设主机的功能广告中国
  • HashMap相关问题详解
  • 快站建站教程网站dns解析设置
  • java线程变量ThreadLocal用法篇v1.1
  • 变分自编码器VAE
  • K8s网络之Ingress
  • C语言编程实战:每日刷题 - day 1
  • 免费网站最新域名哈尔滨大型网站建设
  • Xcode编译C语言 | 使用Xcode进行C语言编程的技巧与优化
  • 免费网站设计网站制作方案大全
  • 南昌正规网站公司自己做网站需要啥
  • 项目实战Now in Android:App 模块代码结构分析
  • 企业网站制作 优帮云北京seo产品
  • Oracle 开启归档日志