Dify

Dify 是一款开源的大语言模型(LLM) 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。你可以基于任何模型自部署类似 Assistants API 和 GPTs 的能力,在灵活和安全的基础上,同时保持对数据的完全控制。

语言 占比
TypeScript 49.9%
Python 45.5%
MDX 3.1%
CSS 0.9%
JavaScript 0.4%
SCSS 0.2%

Continue

Continue 使您能够在 IDE 中创建自己的 AI 代码助手。使用 VS CodeJetBrains 插件保持开发者的流畅体验,这些插件可以连接到任何模型、任何上下文以及任何其他你需要的东西。

  • 轻松理解代码部分
  • Tab 自动完成代码建议
  • 重构您正在编码的函数
  • 询问代码库相关问题
  • 快速使用文档作为上下文
  • 使用斜线命令启动操作
  • 将类、文件等添加到上下文
  • 立即了解终端错误

Continue 使您能够使用适合工作的模型,无论是开源还是商业,本地运行还是远程运行,用于聊天、自动完成或嵌入。它提供了许多配置点,以便您可以自定义扩展以适应您现有的工作流程。

语言 占比
TypeScript 74.0%
Kotlin 11.8%
Rust 4.9%
CSS 3.6%
Scheme 2.5%
JavaScript 2.4%
Other 0.8%

Ollama

  1. 安装 Ollama 服务。
curl -fsSL https://ollama.com/install.sh | sh
  1. 编辑 systemd 服务,调用 systemctl edit ollama.service。这将打开一个编辑器。
sudo systemctl edit ollama.service
  1. 对于每个环境变量,在 [Service] 部分下添加一行 Environment:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_NUM_PARALLEL=3"
Environment="OLLAMA_MAX_LOADED_MODELS=6"
Environment="OLLAMA_KEEP_ALIVE=4h"
  1. 保存并关闭编辑器。
  2. 重新加载 systemd 并重启 Ollama。
sudo systemctl daemon-reload
sudo systemctl restart ollama

LLM 技术栈

SGLang 是一种专为大型语言模型 (LLM) 设计的结构化生成语言。它通过共同设计前端语言和运行时系统,使您与 LLM 的交互更快、更可控。

Dify 是一个 UI 驱动的用于开发大语言模型应用程序的平台,它使原型设计更加容易访问。它支持用户使用提示词模板开发聊天和文本生成应用。此外,Dify 支持使用导入数据集的检索增强生成(RAG),并且能够与多个模型协同工作。我们对这类应用很感兴趣。不过,从我们的使用经验来看,Dify 还没有完全准备好投入大范围使用,因为某些功能目前仍然存在缺陷或并不成熟。但目前,我们还没有发现更好的竞品。

Continue 使您能够在 IDE 中创建自己的 AI 代码助手。使用 VS Code 和 JetBrains 插件保持开发者的流畅体验,这些插件可以连接到任何模型、任何上下文以及任何其他你需要的东西。Continue 使您能够使用适合工作的模型,无论是开源还是商业,本地运行还是远程运行,用于聊天、自动完成或嵌入。它提供了许多配置点,以便您可以自定义扩展以适应您现有的工作流程。

SSO 是一种身份验证机制,允许用户使用单一账户登录多个应用程序和网站。它提供了以下几个主要的使用场景和优点:

  • 提高用户体验:用户只需要记住一个账号和密码,就可以访问多个相关的系统和应用,无需频繁输入不同的登录凭证。这大大提高了用户体验。
  • 增强安全性:集中管理用户账号信息,可以更好地控制和监控用户的访问行为,降低账号泄露和密码被盗的风险。
  • 简化IT管理:IT部门只需要维护一个中央身份验证系统,而不是管理多个独立的登录系统,降低了IT管理成本和复杂度。
  • 支持跨域应用集成:SSO 允许用户在不同的域名或组织之间无缝切换,增强了应用程序之间的集成度。

SiliconFlow AI Infra

deepseek-ai/deepseek-v2-chat ¥1.33/1M tokens
deepseek-ai/deepseek-llm-67b-chat ¥1/1M tokens
alibaba/Qwen2-7B-Instruct ¥0.35/1M tokens
alibaba/Qwen1.5-110B-Chat ¥4.13/1M tokens
alibaba/Qwen1.5-32B-Chat ¥1.26/1M tokens
alibaba/Qwen1.5-14B-Chat ¥0.7/1M tokens
alibaba/Qwen1.5-7B-Chat ¥0.35/1M tokens
01-ai/Yi-1.5-34B-Chat ¥1.26/1M tokens
01-ai/Yi-1.5-9B-Chat ¥0.42/1M tokens
01-ai/Yi-1.5-6B-Chat ¥0.35/1M tokens
zhipuai/glm4-9B-chat ¥0.6/1M tokens
zhipuai/chatglm3-6B ¥0.35/1M tokens
meta/llama3-70B-chat ¥4.13/1M tokens
meta/llama3-8B-chat ¥0.42/1M tokens
mixtralai/Mixtral-8x22B-Instruct-v0.1 ¥4.13/1M tokens
mixtralai/Mixtral-8x7B-Instruct-v0.1 ¥1.26/1M tokens
mixtralai/Mistral-7B-Instruct-v0.2 ¥0.35/1M tokens
google/gemma-7b-it ¥0.35/1M tokens
google/gemma-2b-it ¥0.14/1M tokens
microsoft/Phi-3-mini-4k-instruct

CrewAI 快速入门

安装

pip install 'crewai[tools]'

版本1

每次执行结果都不一样

from dotenv import load_dotenv
load_dotenv()

from crewai import Agent, Task, Crew
from langchain_openai import ChatOpenAI


general_agent = Agent(
    role = "数学教授", 
    goal = """为提问数学问题的学生提供解决方案并给出答案。""", 
    backstory = """您是一位优秀的数学教授,喜欢以每个人都能理解的方式解决数学问题。""", 
    allow_delegation = False,
    verbose = True
)

// ...

版本2

稳定地生成结果

基于 LLM 的源代码安全缺陷分析

您是一名 Java 高级软件工程师,主要任务是根据缺陷报告的信息修复软件中的漏洞。

要求

请根据缺陷报告,修复缺陷代码片断的缺陷。 要求修复后的软件不改变原有的功能。 需要给出修复后的代码片段或者修复建议。

缺陷报告 缺陷类别: 一级类: 代码注入 二级类:SQL注入:MyBatis 详细信息: SQL注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原SQL语句的含义,进而执行任意SQL命令,达到入侵数据库乃至操作系统的目的。在Mybatis Mapper Xml中,#变量名称创建参数化查询SQL语句,不会导致SQL注入。而$变量名称直接使用SQL指令,会导致SQL注入攻击。 例如:以下代码片段采用$变量名称动态地构造并执行了SQL查询。 <!--select user information by name--> <select id="queryByUserName" resultMap="userResultMap" parameterType="String"> select * from db_user where user_name=${username} </select> 用户调用以下命令时: String username = request.

Phi-3-vision-128k-instruct 微软开源多模态大模型

Phi-3 Vision 是一个轻量级、最先进的开放多模态模型,基于数据集构建,其中包括合成数据和经过过滤的公开网站,重点关注文本和视觉方面的高质量推理密集数据。该模型属于 Phi-3 模型系列,多模式版本可支持 128K 上下文长度(以 Token 为单位)。该模型经历了严格的增强过程,结合了监督微调和直接偏好优化,以确保精确的指令遵守和稳健的安全措施。

模型参数 4B。

该模型旨在广泛用于英语商业和研究用途。该模型为通用人工智能系统和应用程序提供了视觉和文本输入功能,这些系统和应用程序需要

  1. 内存/计算受限的环境;
  2. 延迟限制场景;
  3. 一般图像理解;
  4. 光学字符识别;
  5. 图表和表格的理解。

我们的模型旨在加速对高效语言和多模态模型的研究,作为生成人工智能驱动功能的构建块。

我们的模型并非针对所有下游目的而专门设计或评估。开发人员在选择用例时应考虑语言模型的常见限制,并在特定下游用例中使用之前评估和减轻准确性、安全性和公平性,特别是对于高风险场景。开发人员应了解并遵守与其用例相关的适用法律或法规(包括隐私、贸易合规法等)。

提示词:对图像文字进行识别

这段文字是一个人的自己写作,表达了对学生在学校和家庭生活中的看法。

提示词:这张图片上写了什么?

这张图片上写了一段关于学生在学校后备课的观点。

👍 提示词:图像中的手写英文是什么?

MiniCPM-Llama3-V 2.5 端侧可用的 GPT-4V 级多模态大模型

MiniCPM-Llama3-V 2.5 是 MiniCPM-V 系列的最新版本模型,基于 SigLip-400M 和 Llama3-8B-Instruct 构建,共 8B 参数量,相较于 MiniCPM-V 2.0 性能取得较大幅度提升。MiniCPM-Llama3-V 2.5 值得关注的特点包括:

  • 🔥 领先的性能。 MiniCPM-Llama3-V 2.5 在综合了 11 个主流多模态大模型评测基准的 OpenCompass 榜单上平均得分 65.1,以 8B 量级的大小超过了 GPT-4V-1106、Gemini Pro、Claude 3、Qwen-VL-Max 等主流商用闭源多模态大模型,大幅超越基于Llama 3构建的其他多模态大模型。
  • 💪 优秀的 OCR 能力。 MiniCPM-Llama3-V 2.5 可接受 180 万像素的任意宽高比图像输入,OCRBench 得分达到 725,超越 GPT-4o、GPT-4V、Gemini Pro、Qwen-VL-Max 等商用闭源模型,达到最佳水平。基于近期用户反馈建议,MiniCPM-Llama3-V 2.5 增强了全文 OCR 信息提取、表格图像转 markdown 等高频实用能力,并且进一步加强了指令跟随、复杂推理能力,带来更好的多模态交互体感。
  • 🏆 可信行为。 借助最新的 RLAIF-V 对齐技术(RLHF-V [CVPR'24]系列的最新技术),MiniCPM-Llama3-V 2.5 具有更加可信的多模态行为,在 Object HalBench 的幻觉率降低到了 10.3%,显著低于 GPT-4V-1106 (13.6%),达到开源社区最佳水平。

CogVLM2 智谱开源多模态大模型

  1. 在许多关键指标上有了显著提升,例如 TextVQA, DocVQA
  2. 支持 8K 文本长度。
  3. 支持高达 1344 * 1344 的图像分辨率。
  4. 提供支持中英文双语的开源模型版本。

您可以在下表中看到 CogVLM2 系列开源模型的详细信息:

模型名称 cogvlm2-llama3-chat-19B cogvlm2-llama3-chinese-chat-19B
基座模型 Meta-Llama-3-8B-Instruct Meta-Llama-3-8B-Instruct
语言 英文 中文、英文
模型大小 19B 19B
任务 图像理解,对话模型 图像理解,对话模型
模型链接 🤗 Huggingface 🤖 ModelScope 💫 Wise Model 🤗 Huggingface 🤖 ModelScope 💫 Wise Model
体验链接 📙 Official Page 📙 Official Page 🤖 ModelScope
Int4模型 暂未推出 暂未推出
文本长度 8K 8K
图片分辨率 1344 * 1344 1344 * 1344

识别中文

提示词:输出图像中的文字

贵公司被确认为中标人。中标价格为:307.6万元。

请贵公司在收到本中标通知书之日起30天内,携带所有签订合同所需的资料(包括但不限于法定代表人授权书、技术规范、技术

Thoughtworks 技术雷达 第30期

环的含义如下:

  • 1️⃣ 采纳 (Adopt)。我们认为您应该认真考虑使用的点。
  • 2️⃣ 试验 (Trial)。我们认为可以放心使用的点,但还没有达到“采纳”环中那么成熟的程度。
  • 3️⃣ 评估 (Assess)。值得关注的点,但除非非常适合您的需求,否则目前可能不需要试用。
  • 4️⃣ 暂缓 (Hold)。需要谨慎对待的点。

参考:

这种方法对我们来说效果出奇的好:它要求团队提供对其架构风格的简明描述,帮助初级开发人员和新团队成员编写符合团队现有风格的功能特性。这种方法的主要缺点是,尽管我们没有向模型提供源代码,但我们仍然向其输入了可能包含敏感信息的技术栈和功能描述。至少在这些AI工具的“商业版”面世之前,团队应确保与法律顾问合作,以避免任何知识产权问题。

许多组织正在部署自托管式大语言模型。

SWIFT: Scalable lightWeight Infrastructure for Fine-Tuning

SWIFT 支持近200种LLM和MLLM(多模态大模型)的训练、推理、评测和部署。开发者可以直接将我们的框架应用到自己的Research和生产环境中,实现模型训练评测到应用的完整链路。我们除支持了PEFT提供的轻量训练方案外,也提供了一个完整的Adapters库以支持最新的训练技术,如NEFTune、LoRA+、LLaMA-PRO等,这个适配器库可以脱离训练脚本直接使用在自己的自定流程中。

git clone https://github.com/modelscope/swift.git
cd swift
pip install -e '.[llm]'

['chinese-alpaca-2-13b-16k', 'chinese-alpaca-2-13b', 'chinese-alpaca-2-7b-64k', 'chinese-alpaca-2-7b-16k', 'chinese-alpaca-2-7b', 'chinese-alpaca-2-1_3b', 'chinese-llama-2-13b-16k', 'chinese-llama-2-13b', 'chinese-llama-2-7b-64k&#3

使用大型语言模型微调命名实体识别

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

对用户的输入进行命名实体识别标注,输出的结果应该包含所有的电力领域实体类型的实例。

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量

<Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indicator>数量

  • 菏泽巨野县供电公司麒麟供电所投诉数量

<City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator&gt

使用大型语言模型微调命名实体识别生成

定义了一套电力领域的命名实体类型:

  • Province: 省份。例如:山东省。
  • City: 城市。例如:济南市、济南。
  • Company: 供电公司。例如:长清区供电公司、市中供电中心。
  • Substation: 供电所。例如:崮山供电所。
  • Indicator: 指标。例如:投诉、意见。
  • Date: 日期。例如:今天、昨天、今年、去年、本周、上周、本月、上月、3月、本季度、上季度、一季度、今年第一季度、2022年、2024年5月。

理想的情况下的输入可能是这样的:{DATE}山东省菏泽巨野县供电公司麒麟供电所投诉数量

但是用户的输入是多种多样的:

  • 山东省菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野县供电公司麒麟供电所投诉数量
  • 菏泽巨野投诉数量
  • 菏泽麒麟投诉数量
  • 巨野县供电公司麒麟供电所投诉数量
  • 巨野麒麟投诉数量
  • 巨野投诉数量
  • 麒麟供电所投诉数量
  • 麒麟投诉数量

通过微调后的模型可以生成如下实体标注: <Date>本月</Date><Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indic

Next.js

  1. 初始化Next.js项目

首先,创建一个新的Next.js项目:

npx create-next-app next-quiz-app
cd next-quiz-app

运行

npm run dev

使用大型语言模型进行命名实体识别

question = "山东省济南高新供电中心投诉总数"
<Province>山东省</Province><City>济南市</City><Company>高新供电中心</Company><Indicator>投诉</Indicator>总数
  • 济南增加了
question = "山东省济南市平阴县供电公司投诉总数"
<Province>山东省</Province><City>济南市</City><Company>平阴县供电公司</Company><Indicator>投诉</Indicator>总数
question = "济南市平阴县供电公司投诉总数"
<City>济南市</City><Company>平阴县供电公司</Company><Indicator>投诉</Indicator>总数

LLaMA-Factory 微调 Text2SQL

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

python -m venv env
source env/bin/activate

pip install -e .[metrics]
git clone https://www.modelscope.cn/qwen/Qwen1.5-4B-Chat.git
CUDA_VISIBLE_DEVICES=0 llamafactory-cli train text2sql/qwen1.5-4b-chat_lora_sft.yaml
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat text2sql/qwen1.5-4b-chat_lora_sft-inference.yaml
CUDA_VISIBLE_DEVICES=0 llamafactory-cli export text2sql/qwen1.5-4b-chat_lora_sft-merge.yaml 
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat text2sql/text2sql-inference.yaml

支持两种格式的数据集:alpaca 和 sharegpt ,这里使用的是 alp

ChatTongyi

from langchain_core.messages import HumanMessage
from langchain_community.chat_models.tongyi import ChatTongyi


model = ChatTongyi(model="qwen-turbo", top_p=0.01)
gen = model.stream([HumanMessage(content="你是谁")])

for response in gen:
    print("🤖", response)
🤖 content='我是' id='run-57fca077-5e62-4cd5-ba25-c71b65049604'
🤖 content='通' id='run-57fca077-5e62-4cd5-ba25-c71b65049604'
🤖 content='义' id='run-57fca077-5e62-4cd5-ba25-c71b65049604'
🤖 content='千问,由阿里' id='run-57fca077-5e62-4cd5-ba25-c71b65049604'
// ...