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

Python和.NET交互-与最新DeepSeekV3.2大模型对话

目录

前言

Python脚本

.NET调用

结尾


前言

Python强大的AI生态基础,任何一出现就会有大量的脚本。然.NET虽然有SK框架封装的AI,似乎单薄了点。如果没有SK封装的AI脚本呢?那么就需要自己调用Python了,本篇通过它们交互演示下这个过程。

.NET SK AI

.NET SK与DeepSeekv3.2交互

using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; using Microsoft.SemanticKernel.Connectors.OpenAI; var kernel = Kernel.CreateBuilder() .AddOpenAIChatCompletion( modelId: "deepseek-ai/DeepSeek-V3.2", apiKey: "hf_xxxxxx", endpoint: new Uri("https://router.huggingface.co/v1") // 很关键! ) .Build(); var ai = kernel.GetRequiredService<IChatCompletionService>(); var result = await ai.GetChatMessageContentAsync("你是谁?"); Console.WriteLine(result); Console.ReadLine();

结果

Python脚本

Python有高达十几种调用dsv.32的方法,这里展示其中典型的两种脚本方式。这里对于dsv3.2_speciale和dsv3.2分别展示其中一种

其一:dsv3.2_speciale通过兼容openai的baseurl进行调用​​​​​​​

from openai import OpenAI client = OpenAI( api_key="sk-xxxxxxxx", # 替换为你的DeepSeek API密钥 base_url="https://api.deepseek.com/v3.2_speciale_expires_on_20251215", # 修改基础地址为DeepSeek-v3.2_speciale,其原本基础地址https://api.deepseek.com ) response = client.chat.completions.create( model="deepseek-reasoner", # 指定使用DeepSeek的模型 messages=[ {"role": "user", "content": "你好,请介绍一下你自己。"} ], stream=False ) print(response.choices[0].message.content

其二:dsv3.2通过兼容openai的stream形式​​​​​​​

import os from openai import OpenAI #这两行对应.net那边编码问题,所以需要 import sys, io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='ignore') client = OpenAI( base_url="https://router.huggingface.co/v1", api_key="hf_xxxxx" #替换成自己的hugging face key ) stream = client.chat.completions.create( model="deepseek-ai/DeepSeek-V3.2", messages=[ { "role": "user", "content": "你是谁?" } ], stream=True, ) for chunk in stream: if not chunk.choices: continue delta = chunk.choices[0].delta if delta is None or not hasattr(delta, "content"): continue content = delta.content if content: print(content, end="")

.NET调用

.NET这边最稳妥的Python调用依然是Process.Start.把以上Python脚本保存下,就可以在.net里面调与deepseek交互了。

下面以.net调用python的deepseekv3.2脚本为例。​​​​​​​

using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Running; using Microsoft.Diagnostics.Runtime.AbstractDac; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Text; using System.Diagnostics; public class Program { public static void Main() { string pythonExe = @"D:\Python\python.exe"; string script = @"D:\PyCharm\PythonProject4\deepseek-v32--auto-python-openai-stream.py"; //string args = "123 456"; var psi = new ProcessStartInfo { FileName = pythonExe, Arguments = $"{script}", RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true, //这两行是编码的问题,所以需要加上 StandardOutputEncoding = Encoding.UTF8, StandardErrorEncoding = Encoding.UTF8 }; using var process = Process.Start(psi); string output = process!.StandardOutput.ReadToEnd(); string error = process.StandardError.ReadToEnd(); process.WaitForExit(); Console.WriteLine("Output:"); Console.WriteLine(output); if (!string.IsNullOrEmpty(error)) { Console.WriteLine("Error:"); Console.WriteLine(error); } Console.ReadLine(); } }

结果

结尾

本篇展示了一个简单的Python/.NET与最新的DeepSeekv3.2交互的过程

引入地址​​​​​​​

http://www.jsqmd.com/news/1103845/

相关文章:

  • 海外APP定制开发,租车类案例评估报价
  • YOLOv8注意力机制改进与Transformer融合策略:提升目标检测全局上下文感知能力
  • 终极NomNom存档编辑器:轻松定制你的《无人深空》游戏体验
  • Samsung KLM8G1GEUF-B04P引脚功能与封装:车规级eMMC存储芯片数据手册
  • 博图桌面静态计数机,数字化仓储解决方案
  • 微信聊天记录误删怎么办?官方完整恢复教程整理
  • 开局一台虚拟机,我在运维世界练级之安装Linux系统
  • 安装git
  • 2026 AI外呼机器人厂商测评及盘点:AI 电话外呼系统哪家更适合中小企业?
  • ai_hot_news_20260630
  • 2026跨系统自动化工具盘点:从RPA到AI Agent主流方案全解析
  • SaaS多租户商城源码-Joolun pro旗舰版的核心竞争力有哪些?
  • 终极指南:如何在VS Code中使用Mermaid图表预览插件快速绘制专业图表
  • 深度学习里明明有一个很好的idea,但是跑出的效果不理想,是否可以稍微人工干预?
  • “由于一个协议错误(远程桌面0x112f)”的排查与解决
  • 程序员搞副业月入过万?我去翻了那个没人晒的数字
  • 实用税务知识分享
  • Windows 打印机共享报错,我折腾了一圈找到的小工具
  • C++20:Modules(下):实现一个多模块图像处理工具
  • 揭秘openEuler文档网站架构:核心功能与技术选型深度解析
  • 3个BetterJoy核心配置技巧:让Switch控制器在PC上实现专业级游戏体验
  • Claude Opus 4.7深度解析:推理路径剪枝与事实锚定技术
  • AI优化定义
  • 系统集成考试:单选题差2~4分,排除法+关键词单选可多拿5分
  • 服务器产线采购最容易踩哪些坑?6 个高频避坑总结与实操建议
  • 软件开发实践(大三下)---综述
  • Java反序列化漏洞:从原理到实战的代码审计与防御指南
  • okbiye 毕业论文 AI 写作实测|界面全拆解,三步流程搞定标准学位论文
  • 山西小区美缝集采
  • 企业微信响应时效优化:基于SCRM超时提醒机制的自动化预警方案