你会选择哪一个?为什么?
我想听听从具有人士的意见,经验与C++应用程序中嵌入网页浏览器引擎.
我应该强调我需要Web浏览器引擎的所有功能,除了渲染,即HTTP客户端,cookie处理,DOM样式HTTP解析器,JavaScript引擎.如何剥离 WebKit或Gecko渲染代码以避免编码和运行时开销?
这是C++项目的嵌入式浏览器的后续内容?
我正在使用 OpenAI API 来获取一堆句子的嵌入。我所说的一堆句子,是指一堆句子,比如数千个。有没有办法让它更快或者让它同时进行嵌入或者其他什么?
我尝试循环遍历并发送每个句子的请求,但这非常慢,但发送句子列表也是如此。对于这两种情况,我都使用了以下代码:'''
response = requests.post(
"https://api.openai.com/v1/embeddings",
json={
"model": "text-embedding-ada-002",
"input": ["text:This is a test", "text:This is another test", "text:This is a third test", "text:This is a fourth test", "text:This is a fifth test", "text:This is a sixth test", "text:This is a seventh test", "text:This is a eighth test", "text:This is a ninth test", "text:This is a tenth test", "text:This is a eleventh test", "text:This is a twelfth test", "text:This is a thirteenth test", "text:This is a fourteenth …Run Code Online (Sandbox Code Playgroud) 我有兴趣听听人们在C/C++应用程序中嵌入单声道(.NET的开源实现)的经验.如何分发这样的应用程序以及依赖性是什么?我已经测试了OS X和mono作为一个巨大的框架(数百MB).我的应用程序的用户都需要这个大框架,或者可以将其删除或将所有内容编译到主可执行文件中.
我以前有过在一个C++应用程序中嵌入Lua的经验,这非常有效,因为我可以将整个lua解释器与我的主可执行文件静态链接.所以我没有外部依赖.是否可以用单声道做类似的事情?
这里的任何Lua人都能评论他们如何发现单声道与Lua相比?
PS:嵌入我指的是一个C++应用程序,它初始化单声道环境并加载.NET程序集并执行它,然后允许在程序集中的C#代码和主可执行文件中的C++方法之间进行通信.
我在我的宠物开源项目RevitPythonShell(建筑建模软件Autodesk Revit Architecture 2010的插件)中尝试了明显的路径:code.interact()使用IronPython引擎设置为STDIN和使用.NET流STDOUT.然后我将这些重定向到TextBox控件.它有点工作,但真的只是一个丑陋的黑客.
主要问题是让所有shell工作正常工作:历史记录的上箭头和下箭头,编辑,复制和粘贴,EOF,语法高亮,工具提示等.要做到这一点需要做很多工作,而且它并不是我想要解决的问题(我正在尝试在Revit中托管交互式shell,而不是制作完美的shell GUI).
如果这不是一个.NET项目,我可能会考虑重用PyCrust/PyWrap,但我不确定是否可以从WinForms项目中完成..NET有什么类似的东西吗?
有没有人实现过IConsole界面,可以展示我需要做什么的例子?看起来这将是正确的路线(而不是使用code模块),但对于我的生活,我无法弄明白.IronPython源代码没有任何评论.
更新:在尝试了一些东西后,我最终选择了精湛的IronLab代码.它包括一个带语法高亮的示例shell和all.代码很好,易于集成.检查有关如何嵌入它的提示的RevitPythonShell代码.
我将IronPython(2.6.1)嵌入到C#程序集中,并将几个对象暴露给使用PythonEngine.ExecuteFile执行的脚本.我暴露他们
scope.SetVariable("SomeObject", new SomeObject())
Run Code Online (Sandbox Code Playgroud)
要么
engine.Execute("from MyNamespace import SomeObject", scope)
Run Code Online (Sandbox Code Playgroud)
取决于脚本如何使用它们.我的应用程序组件被添加到引擎中
engine.Runtime.LoadAssembly(Assembly.GetExecutingAssembly())
Run Code Online (Sandbox Code Playgroud)
现在一个脚本可以执行help(SomeObject)并转储好的小帮助信息(*),但它不完整.没有任何对象的事件或属性(当然是公共的)出现,许多"内置"成员也会丢失.
这是奇怪的部分; 如果我启动ipy.exe并执行以下操作:
import sys
sys.path.append('<location of my app>')
import clr
clr.AddReferenceToFile('myapp.exe')
from MyNamespace import SomeObject
help(SomeObject)
Run Code Online (Sandbox Code Playgroud)
我得到了一个不同的转储,包括所有缺少的成员!
为什么两者不同?
奖金问题:假设我让它正常工作,是否可以在我的CLR对象上添加描述性文本到help()的输出?就像你可以在脚本中,你的python本地类型?我的第一个猜测是DescriptionAttribute,但是没有用.
(*)显然,最终的工作脚本不会这样做,但在编写/测试脚本时它非常有用.
回答
这是一个完整的控制台程序,演示了如何导入网站,用标准的python库help()替换无用的内部help().
using System;
using System.Collections.Generic;
using System.Reflection;
using IronPython.Hosting;
using IronPython.Runtime;
using Microsoft.Scripting.Hosting.Providers;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
// Work around issue w/ pydoc - piping to more doesn't work so instead indicate that we're …Run Code Online (Sandbox Code Playgroud) 我想让我的程序多语言.我已成功通过Form的Localizable和Language属性使程序多语言化.它制作了一些.resx文件.然后我从.resx文件中删除了不需要的文件,例如图像(它们在所有语言中都是相同的)等.
问题是,例如,它还生成一个名为"en"的文件夹,在该文件夹中,另一个生成的文件称为"ProjectName.resources.dll".
反正有没有将此资源文件嵌入到.exe中?将其添加到资源并将"构建操作"设置为"嵌入式资源"也不起作用.
谢谢.
我遇到了一些问题,希望得到一些帮助.我有一个片段代码,用于嵌入python脚本.这个python脚本包含一个函数,它希望接收一个数组作为参数(在这种情况下,我在python脚本中使用numpy数组).我想知道如何将数组从C传递给嵌入式python脚本作为脚本中函数的参数.更具体地说,有人可以向我展示一个简单的例子.
我正在寻找一个全面的在线文档资源,关于将Ruby解释器嵌入到C或C++程序中,以及用于此目的的API.
在Pickaxe书中的这一部分相当不错,但我的版本是指Ruby 1.8,我对当前ruby版本的范围感兴趣,即1.8.x,1.9.x和2.0,并且有很多区别在这个版本范围内处理嵌入.
作为参考,有问题的Ruby解释器是来自http://www.ruby-lang.org/en/的主要Ruby解释器.
我在stackoverflow上发现了一些与此相关的特定问题(错误处理) (状态重置) (c ++):我寻求的是文档,如果有的话,从中收集了这样的答案!
还有一个Ruby 1.8和Unix中心指南.
有关于Ruby的C API的文档,用于编写扩展,也用于嵌入.这可以在github (ruby 2.0)和(ruby 1.9)上找到,但版本的处理变化似乎留给了读者
关于在Pickaxe书中扩展ruby的章节现在可以在线获得PDF格式.
最近,我一直试图找到最接近嵌入的词.这两种最显着的方法是通过余弦距离或欧氏距离.
我试图找到如何有效地计算张量形状的余弦距离 [batch_size x embedding_size]
一种方法是解压缩张量并计算余弦距离
#embedding is shape [vocab_size x embedding size]
array_list = tf.unpack(batch_array)
word_class_list = tf.unpack(embedding)
index_list_of_closest_word = []
for eacharray in array_list:
list_of_distances = []
for eachwordclass in word_class_list:
list_of_distances.append(cosine_distance(eacharray, eachwordclass))
index_list_of_closest_word.append(tf.argmax(tf.pack(list_of_distances)))
Run Code Online (Sandbox Code Playgroud)
但是,这种方法非常低效.是否有更有效的方式来做到这一点?我知道word2vec做得非常快,并且具有gpu功能的tensorflow应该能够并行执行这些批量计算.
谢谢!
我正在运行一个带有非常大的嵌入字(> 2M字)的模型.当我使用tf.embedding_lookup时,它期望矩阵很大.当我运行时,我随后摆脱了GPU内存错误.如果我减小嵌入的大小,一切正常.
有没有办法处理更大的嵌入?
embedding ×10
python ×3
c# ×2
c++ ×2
ironpython ×2
tensorflow ×2
.net ×1
api ×1
c ×1
distance ×1
dll ×1
gecko ×1
localization ×1
lua ×1
mono ×1
nlp ×1
openai-api ×1
python-c-api ×1
ruby ×1
shell ×1
webkit ×1