RAGFlowAssistant
初始化
uv init RAGFlowAssistant
cd RAGFlowAssistant
uv add ragflow-sdk
运行
sh run.sh
RAGFlowAssistant
配置

知识库问答

核心代码
初始化
uv init RAGFlowAssistant
cd RAGFlowAssistant
uv add ragflow-sdk
运行
sh run.sh
RAGFlowAssistant
配置

知识库问答

核心代码
MCP 服务器创建工具
创建无需构建配置的 模型上下文协议 (MCP) 服务器项目。
快速概览
# 使用 uvx (推荐)
uvx create-mcp-server
# 或者使用 pip
pip install create-mcp-server
create-mcp-server
您无需手动安装或配置任何依赖项。 该工具将设置创建 MCP 服务器所需的一切。
创建服务器
您需要在您的机器上安装 UV >= 0.4.10。
要创建新服务器,请运行以下任一命令:
使用 uvx (推荐)
uvx create-mcp-server
使用 pip
pip install create-mcp-server
create-mcp-server
它将引导您创建一个新的 MCP 服务器项目。 完成后,您将拥有一个具有以下结构的新目录:
my-server/
├── README.md
├── pyproject.toml
└── src/
└── my_server/
├── __init__.py
├── __main__.py
└── server.py
没有配置或复杂的文件夹结构,只有运行服务器所需的文件。
安装完成后,您可以启动服务器:
cd my-server
uv sync --dev --all-extras
uv run my-server
特性
安装
On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
更新
uv self update
一键同步环境
创建/同步完整的开发环境
uv sync
执行该命令后,主要做了以下事:
pyproject.toml.venvuv.lock依赖包
安装
uv add "mcp[cli]"
移除
uv remove "mcp[cli]"
Python 项目
创建
uv init echo
cd echo
创建的文件:
.
├── .python-version
├── README.md
├── main.py
└── pyproject.toml
运行
uv run main.py
Hello from echo!
参考资料
概述
Model Context Protocol 允许应用程序以标准化的方式为 LLM 提供上下文,将提供上下文的关注点与实际的 LLM 交互分离开来。这个 Python SDK 实现了完整的 MCP 规范,使您能够轻松地:
安装
将 MCP 添加到您的 Python 项目中
我们推荐使用 uv 来管理您的 Python 项目。在由 uv 管理的 Python 项目中,通过以下方式将 mcp 添加到依赖项:
uv add "mcp[cli]"
或者,对于使用 pip 管理依赖的项目:
pip install mcp
运行独立的 MCP 开发工具
要使用 uv 运行 mcp 命令:
uv run mcp
快速开始
让我们创建一个简单的 MCP 服务器,它暴露一个计算器工具和一些数据:
ABSTRACT(摘要)
Language models have outpaced our ability to evaluate them effectively, but for their future development it is essential to study the frontier of their capabilities. We find real-world software engineering to be a rich, sustainable, and challenging testbed for evaluating the next generation of language models. To this end, we introduce SWE-bench, an evaluation framework consisting of 2,294 software engineering problems drawn from real GitHub issues and corresponding pull requests across 12 popular Python repositories.
Computer use reference implementation(计算机使用参考实现)
Get started quickly with our computer use reference implementation that includes a web interface, Docker container, example tool implementations, and an agent loop.
快速开始使用我们的计算机使用参考实现,其中包括Web界面、Docker容器、示例工具实现和代理循环。
Here’s an example of how to provide computer use tools to Claude using the Messages API:
以下是如何使用消息API为Claude提供计算机使用工具的示例:

创建 Python 工程 evalscope-perf
工程的目录结构
evalscope-perf/
├── evalscope_perf/
│ ├── __init__.py
│ └── main.py
├── README.md
├── LICENSE
├── pyproject.toml
└── setup.py
evalscope_perf/init.py
没有可以不写。
evalscope_perf/main.py import subprocess import re import typer import matplotlib.pyplot as plt from typing import List from typing_extensions import Annotated app = typer.
用于下一代人工智能应用的向量搜索引擎
Qdrant(读作:quadrant)是一个向量相似性搜索引擎和向量数据库。它提供了一个生产就绪的服务,具有方便的 API 来存储、搜索和管理点 - 具有附加有效载荷的向量。Qdrant 专为扩展的过滤支持量身定制。它对所有类型的神经网络或基于语义的匹配、分面搜索和其他应用非常有用。
解决方案

运行
Qdrant 镜像
docker pull qdrant/qdrant
启动 Qdrant 服务
docker run -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage:z \
qdrant/qdrant
Qdrant 现在可访问:
安装 Qdrant Client
pip install qdrant-client
代码示例
FastEmbed 是一个轻量级、快速的 Python 库,专为嵌入生成而构建。
安装
pip install -Uqq fastembed
支持的嵌入模型
import pandas as pd
from fastembed import TextEmbedding
supported_models = (
pd.DataFrame(TextEmbedding.list_supported_models())
.sort_values("size_in_GB")
.drop(columns=["sources", "model_file", "additional_files"])
.reset_index(drop=True)
)
print(supported_models)
AutoGen
定义 Agent
from autogen import ConversableAgent
llm_config = {"model": "gpt-3.5-turbo"}
agent = ConversableAgent(
name="chatbot",
llm_config=llm_config,
human_input_mode="NEVER",
)
reply = agent.generate_reply(
messages=[{"content": "给我讲个笑话。", "role": "user"}]
)
print(reply)
// ...
为什么八卦杂志最爱讲床上故事?因为上面都有新闻!哈哈哈~
为什么兔子喜欢吃胡萝卜?因为胡萝卜有好处,营养丰富!
多智能体对话
双人笑话
安装
pip install 'crewai[tools]'
CrewAI 使用 Ollama 运行本地 LLM
.env
OPENAI_API_BASE=http://localhost:11434/v1
OPENAI_MODEL_NAME=aya:8b
OPENAI_API_KEY=NULL
agent.py
版本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
稳定地生成结果
简介
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]'
支持的模型类型(model_type)
['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', 'ch
目标
这里探索了借助大型语言模型微调进行命名实体识别的标注。
定义了一套电力领域的命名实体类型:
对用户的输入进行命名实体识别标注,输出的结果应该包含所有的电力领域实体类型的实例。
<Province>山东省</Province><City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</Substation><Indicator>投诉</Indicator>数量
<City>菏泽</City><Company>巨野县供电公司</Company><Substation>麒麟供电所</
LangChain ChatTongyi
Stream
Gradio DataFrame
import pandas as pd
import gradio as gr
def read_csv_from_text2sql(file_path="data/text2sql.csv"):
try:
df = pd.read_csv(file_path)
return df
except Exception as e:
return pd.DataFrame([{"error": f"❌ {e}"}])
def selected_text2sql_dataframe(selected_index: gr.SelectData, df: gr.DataFrame):
selected_row = df.iloc[selected_index.index[0]]
text = selected_row.get('Text', '')
sql = selected_row.get('SQL', '')
return text, sql
with gr.Blocks() as demo:
# UI
upload_button = gr.UploadButton(label="上传 Text2SQL CSV 文件",
file_types = ['.csv'],
file_count = "single")
df_text2sql = gr.Dataframe(headers=["Text", "SQL"],
type="pandas",
col_count=2,
value=read_csv_from_text2sql,
interactive=False)
with gr.Row():
textbox_text = gr.Textbox(label="Text", lines=4)
textbox_sql = gr.Textbox(label="SQL", lines=4)
# Event
upload_button.upload(fn=read_csv_from_text2sql,
inputs=upload_button,
outputs=df_text2sql)
df_text2sql.select(fn=selected_text2sql_dataframe,
inputs=df_text2sql,
outputs=[textbox_text, textbox_sql])
demo.queue(api_open=False)
demo.launch(max_threads=30)
Gradio Chatbot
DashScope
import os
import pandas as pd
import gradio as gr
from http import HTTPStatus
from dashscope import Generation
from dashscope.api_entities.dashscope_response import Role
from typing import List, Optional, Tuple, Dict, Generator
from urllib.error import HTTPError
DEFAULT_SYSTEM = '您是一个有用的助手。'
History = List[Tuple[str, str]]
Messages = List[Dict[str, str]]
// ...
LangChain ChatTongyi
Claude 3 模型
| 模型 | 模型名称 | 价格(MTok) | 能力 |
|---|---|---|---|
| Opus | claude-3-opus-20240229 | Input: 75 | 处理复杂的分析、多步骤的长期任务,以及更高阶的数学和编码任务 |
| Sonnet | claude-3-sonnet-20240229 | Input: 15 | 适用于高效、高吞吐量的任务 |
| Haiku | claude-3-haiku-20240307 | Input: 1.25 | 执行轻量级操作,速度领先行业 |
MTok = million tokens.(百万 Token)Claude 3 模型都支持视觉和 200,000 个 Token 上下文窗口。例子
介绍
LangChain 是一个用于开发由大型语言模型(LLM)支持的应用程序的框架。
LangChain 简化了 LLM 应用程序生命周期的每个阶段:
具体来说,该框架由以下开源库组成: